読者です 読者をやめる 読者になる 読者になる

ヤクとアヒル

日常の問題を解決したときにつけるログ

MarkdownでメモをとるのにDropbox Paperが気持ちいい

www.youtube.com

Dropboxの文書共同編集ツールPaperMarkdownが使えるメモ帳としてとてもいい感じなので、メモ帳に困っている人は使ってみてねという記事です。自分の抱えていた問題と、なぜPaperがいいと判断したのかを紹介します。

オンラインでメモが取れるツールをめっちゃ使っている

スマホとPCでメモを共有したい

スマホ、PCよりもよく使うという人が多いぐらい、生活の一部になっている。簡単なテキストや思いつきはスマホでメモを取れると便利だ。でも、PCがないとできないこともまだ多い。なので、自然とスマホとPCで同じメモを扱いたいという欲求が生まれるし、ここ5年ぐらいは簡単なメモにはEvernoteを使っている。

他人と共同で文章を編集したい

他人と一緒に文章を書くと効率が上がることも多い。友達との旅行計画や、勉強会のレジュメのような他人と共同編集しないといけない文章を作る時にはGoogle Docsを使っている。Google Docsはリンクを共有すれば共同編集できるし、誰が今何を書いているのかというのがひと目で分かって便利だ。リアルタイムで変更が反映されるので、Skypeで話しながら一緒に調べたことをまとめたり議事録を取れば作業が手っ取り早い。

従来の文書共有サービスの問題点:Markdownが使えない

EvernoteGoogle Docsも(その他メジャーなグループウェアも)Markdownが使えない点が個人的によくなかった。Markdownというのは文章を構造化して書くための記法で、近年GitHubとかQiitaとかをはじめドキュメント作成によく使われている。どんなものか知りたい方は過去の記事を御覧ください。

www.yak-and-duck.com

なんでGoogle DocsとかがMarkdownに対応しないのかというと、たぶんMarkdownを使うユーザの割合が少ないと予想されているからだと思う。Markdownプログラマはよく使っているけど、プログラマなんかユーザの人口比でほんの少ししかいない。圧倒的多数の使うGUIの(つまり画面上のボタンで文章を修飾する)ツールを改良するほうが全体の利益になるし、結果としてお金になるからこれは仕方ない。でも現実には僕はMarkdownでメモを取っている。理由を3つ挙げると:

  • Google Docs(とかWord)でGUIで修飾(太字とか見出しをつけたりとか)していくのはめんどうで遅い
    • Markdown:テキストで簡易な記法で修飾するので早い
  • Google Docsはテキストで修飾の情報を持っていないので他の形式に変換するのが手間
    • 例えば下図のような文章をコピペしたいときには、コピペ先のソフトが書式に対応していないといけない。
    • Markdown:方言はあるけどだいたい標準的な規格なので「他のソフト使いたいなー」と思ったときにすぐ移行できる f:id:motoso:20170327235046p:plain
  • プレーンテキストだと修飾がなくて見づらい
    • Markdown:テキストそのままでも構造化されていてそれなりに読める

他の選択肢も一応ある。例えばMac/iOS環境ではMarkdownエディタがいくつかでている。ただ、僕が見た範囲ではちょっと機能が足りなかった。例えば、画像がアップロードできないとか。加えて、共同編集ができるものは見たことがなかった。たまに色々なツールをためしていた。

解決策:Paperを使う

PaperはMarkdownでメモがとれるGoogle Docsのようなもの

DropboxのPaperは2016年8月からベータ版として提供されている。Paperを使うと上の問題が解決できる。各サービスごとに、僕が基本的なエディタとして求める機能を比較した。

Paper Evernote Google Docs 備考
バイス間共有 o o o どれもiOS向けのアプリがある
共同編集 o o o
Markdown o x x
記事内の検索 o o o
図の挿入 o o o Evernoteは画像挿入後のテキスト配置が思うようにいかないなど、エディタに悩まされるので文章と画像を合わせて編集する作業はつらい
表の挿入 o o Paperは表の列が増えても入力幅が一定より短くならない

比較表、恣意的に作ることができるので注意深く見る必要がある。人によって重視するポイントが違うことが多いので、実際に使って自分なりに比較することを強くおすすめする。この表は今の議論に必要な要素を並べただけなので、これでサービスの優劣を決めることはぜんぜんできない。

PaperはUIがモダン

機能比較にすると同じ「o」でも、実際の使い勝手はまちまち。例えばそれぞれのサービスで表の列を追加したい場合の手順を比べてみよう。 Evernote/GoogleDocsはの表の列を追加したい場合には、表を右クリックしてメニューをだして列の追加を選択する。 f:id:motoso:20170328120743p:plain 図:Evernoteの場合 f:id:motoso:20170328120844p:plain 図:GoogleDocsの場合

一方、Paperは表にオンマウスで追加アイコンが出てくるのでクリックする。
f:id:motoso:20170328120754p:plain 図:Paperの場合

Paperの方法は、EvernoteやGoogleDocsの方法よりも直感的で、かつこのような作業は頻繁に実行するので作業量が少なくて良い。

こういうUI上の手間の違い、比較しつくすのは難しいけど、Paperは現状ベストだと思う。Mediumを知っている人はそれに近いフィーリングといえばわかるかもしれない。以降でその一部を紹介する。

Paperの気の利いているところ

基本的には冒頭の動画を見ていただければだいたいわかります。
動画で紹介されていない点で気に入った点は次のとおりです。

表のサイズがよく考えられている

Google DocsやWordなどでは、表の列が多くなった時に見づらくなる問題がある。 f:id:motoso:20170328014738p:plain Paperでは、表のみ画面の横幅ぎりぎりまでつかえるようにして回避している(文章の折り返し位置と表の折り返し位置が違うのがわかる)。
f:id:motoso:20170328025532p:plain

iOSのアプリで見ると表だけ横にスクロールできる。
f:id:motoso:20170328125410p:plain

Syntax hilightingがきく

これは殆どの人は使わないけど、プログラマはかなりよく使う機能。 f:id:motoso:20170328024526p:plain

LaTeX記法が使える

LaTeX記法は、数式を入力する際に便利な記法です。例えば、
f:id:motoso:20170329032238p:plain とかくと、下のように表示されます。
f:id:motoso:20170329032437p:plain

Paperのいけてないところ

iOS版が不安定

作業してると突然Syncがうまくいかなくなって文章が消えて焦るということが何回かありました(リロードすると戻る)

Wordのような豊富な機能は期待できない

Paperは上で書いたように便利な点もありますが、Google DocsやWordに比較して機能の総量は圧倒的に足りていないです(好きな書体に変えたい?文字サイズをポイントで指定したりマーカーで色を塗ったりしたい?参考文献の管理をしたい?これらのことは全てできません)。でもメモを取るための基本的な機能は持っているので、僕は文章のメモは当面Paperを使おうと思います。みんなも使ってみてね!

日本のAmazonでも二段階認証を利用できます

設定方法

Amazon.co.jp ヘルプ: 2段階認証について

二段階認証とは?

ログイン時にパスワードとは別に使い捨てパスワードを使う認証方法のことを言います。 アカウント乗っ取りを防ぐために、設定することを強くおすすめします。特にパスワードを使いまわしてしまっている人の場合、他のサービスからパスワードが漏れて、それを使ってAmazonで他人が買い物をされるリスクがあります。実際、このような被害はよく起きています。パスワードを使い回すのは危険です。

使い捨てパスワードはSMSで送られてきたり、スマホのアプリで見たりする方法があります。万一パスワードが流出しても、個人の電話番号やスマホにアクセスできなれれば取得できない使い捨てパスワードがなければログインできないので比較的安全になります。
例えばFacebookで有効にしているとログインの際にパスワード入力後に、さらに使い捨てパスワードを要求されます。

f:id:motoso:20170212231212p:plain

ニコニコ動画も対応しています

Amazon.comでは以前(2015年11月)から対応していたのですが、やっとAmazon.co.jpも対応したという印象です。

ASCII.jp:アマゾンが2段階認証を開始、セキュリティー向上へ

いつからできるようになったの?

f:id:motoso:20170212224128p:plain

Googleにはじめてキャッシュされた日付は2017年1月20日になっているので、少なくともその日からあったようです。

2段階認証アプリはAuthyが結構便利

2段階認証はそれ自体がめんどくさい

認証アプリはいくつかあり、利便性が微妙に違います。二段階認証で一番面倒なのは、それ自身です。つまり、毎回使い捨てパスワードを入力しないといけない点です。
実は二段階認証を有効にしても、特定のブラウザからのアクセスに対しては何度も聞かないようにすることができます。下図はFacebookの例です。

f:id:motoso:20170212231441p:plain

Authyのメリット:ブラウザや複数アプリ間で使い捨てパスワードをコピーできる

とはいえ、上述のような設定をすると、そのPCを誰かに使われたときにパスワード要求がされなくなってしまいます。入力は毎回したい。
そこで、Chromeアプリからも使い捨てパスワードを表示することができ、クリックでコピーできるAuthyというアプリを使っています*1。6桁のパスワードを毎回打ち込む手間が減ります。

Two-Factor Authentication App • Authy

また、iPhoneiPadなど複数のデバイスにAuthyのアプリをインストールしておけばいずれからも使い捨てパスワードをみることが出来ます。
たとえばiPadをつかっているときにiPhoneが手元になくてもログインに不自由しないです。

Authyを使うリスク

同期するということはサーバサイドに使い捨てパスワードを生成するシードの情報は行っているはずで(多分)、かつ様々なデバイスで認証できるということは間口が広がるわけですからセキュリティリスクが増えます。リスクと利便性のトレードオフで判断ください。いずれにせよ、使わないよりは使ったほうがだいぶいいことは明らかです。

GoogleMicrosoftが二段階認証アプリをだしていて、App Storeで検索するとGoogleのものが上位に来るのでそっちのほうがメジャーみたいですね。

*1:ただ、僕の環境ではMacのアプリはポップアップウィンドウが真っ白になり使い物にならないという問題が発生しています。Windowsは大丈夫でした。

吉谷幹人『Unity5 3D/2Dゲーム開発 実践入門』を読んだ

プログラミングは初心者ではないけど、Unityは初めての人がとりあえずUnityでどんなことができるのか知りたいときに良さそうな本でしたので紹介します。 本書では4つのスマホ向けゲーム製作を通してUnityの使い方を学ぶことが出来ます。

なんで読んだの?

VR開発者として信頼している@izmさんがUnity本のおすすめ 2016年版 - izm_11’s blog という記事を書いていて、その中で紹介されていたのでやってみました。

どんな本なの?

単純なスマホアプリを4つ作りながらUnityでのゲーム制作の過程を体験できる本です。1ヶ月ほど毎日30分-1時間ぐらいかけて読みました。

この本で作るゲーム

ざっくりと各ゲームについて説明します。

1つめのゲームでは単純なプリミティブ形状(球とか立方体)をつかって、ステージとオブジェクトを自分で作成します。

次のようなことが学べます。

  • 単純なゲームで、Unityにおいてゲーム全体のコントロール方法をどのようにするのか。
  • アセットの作成方法
    • アセットを使うと、同じオブジェクトを大量に生成することができ、オブジェクトを変更する際には一括して変更を加えることができるようになります。
  • Unity5から搭載された間接光などの光源をリアルタイムで計算するGIのモデルをつかって、映像的にリッチな表現を学びます。

2つめのゲームはゲームセンターにあるcoin dozerのキャンディ版です。

1つめのゲームよりもゲームっぽい制御が入ってきます。次のようなことが学べます。

  • オブジェクト(ドーザー)のスクリプトによる移動
  • 連続して発射できるキャンディの個数の制御やスコアのカウント
  • キャンディが落ちたららポイントを加算するというようなロジック
  • 用意した画像をオブジェクトに付ける方法
    • ゲームはで映像はすごく重要な要素ですが、この本はデザイナー向けの本ではないため、画像自体の作成の解説は無いです。
  • ちょっとしたエフェクトの作成やアニメーション、SEの付け方
    • ただしアニメーション素材や画像素材の作り方はこの本で学ぶことは出来ません
  • キャンディの複製方法(キャンディを発射したときにインスタンスを生成する方法)
  • キャンディを大量に作るとがばがばメモリを消費するので、画面外に落下したキャンディを解放する方法
    • 接触判定をトリガーにしてオブジェクトを開放します

3つめのゲームは奥へスクロールしていく昔懐かしいクラッシュ・バンディクーのようなゲームです。

次のようなことが学べます。

  • 遠影をぼかす方法
  • 幾つかのステージを自作し、それをランダムに出現させる方法
  • メカニムをつかったアニメーションの制御(歩いているアニメーションから走っているアニメーションに状態を切り替えるとか)
  • スタート画面とプレイ画面の遷移
  • スコアの保存(永続化。ゲームを落としても次回起動時にハイスコアが表示される)

4つめのゲームは2D横スクロールゲームです。

次のようなことが学べます。

製作難易度的には3つ目のゲームのほうが高いと感じました。

著者さんのブログでも紹介記事がありました。

Unity5の入門書を書きました。アセット付き! - Mikimemo

読む前に期待していたこと1:基本的なツールの使い方が理解したい

どのようなことが学べる本なのか紹介するために、僕がこの本を読む前に期待していた点と実際に読んだあとの感想を思いつくままに列挙してみます。

わかったこと
  • 3Dや2Dのゲームでどのようにステージやオブジェクトをつくるか作成方法
  • 画面外のものは省メモリのために削除する方法
  • OnGUIを使ったスコア表示
  • どのようにキャラクターをスクリプトで制御するか
  • 接触判定をしてイベントを発生させる方法
わからなかったこと
  • 広大なフィールドを持つようなゲームでのオブジェクト出現のコツ

読む前に期待していたこと2:ゲームのルーチンと開発フローが理解したい

わかったこと
  • ゲームスタート時や終了時のシーンの切り替える方法
  • フレームレート(fps)に影響されずに実時間をつかってオブジェクトのライフタイムやを制御する方法
わからなかったこと
  • 複数人で作る中規模以上なゲームでのノウハウ
    • 1人で作ることが想定されているので、説明はないです。
    • この本を通して作るゲームは小さいので、管理もあまり大変ではありませんでした。しかし、エディタ上のGUIスクリプト糖をアタッチしたりするので、オブジェクトが増えると管理が大変になる予感がしました。大規模ゲーム開発ではどのように管理しているのかちょっと気になりました。

この本を読むために必要な知識は?

全くのプログラミング初心者がやる本ではないという感触でした。 もし全くの初心者でUnityを触ってみたいという方izmさんが一番初めに紹介されている本をやるのがいいと思います。

UnityはC#の開発がデファクトスタンダードのようで、この本でもC#が推奨されています。 C#に関しては特に知らなくても、文法をググって理解できれば特に躓くところはないと思います。 筆者のC#の経験は、昔Unity4をいじったことがある程度です。エディタもVisual Studioが使えたのであまり不満はなかったです。 (そのときはUnity入門 (全26回) - プログラミングならドットインストール をやった)

Unity上での手順もカラーでキャプチャ付きなのでUnity上での操作が困ることはありませんでした。

本の内容に関する補足

全体

Windowsなんですが大丈夫ですか?

本書はMacでの説明。キャプチャもMac。ただしWinでも同様と書いてあり、実際僕はWindowsでやりました。

ショートカットを覚えよう

ショートカットをざっと見ておくと作業が効率化できる

Unity - マニュアル: Unity のショートカットキー

本と食い違ったことをやってしまってよくわからなくなった

だいたい Debug.Log() を使って文字列を出力してデバッグしました。

本に書いてある○○がない

この本の想定バージョンはUnity5.1ぐらいのようで、現在のバージョン5.5では非推奨の関数が一部利用されていたりします。 95%ぐらいは本通りの手順で進むことが出来ましたが、幾つかできないこともありました。公式ページに正誤表があるので、何か変だと思ったら目を通すといいかもしれません。
僕のTwitterでの製作実況でもつまったことは書いたので、参考になるかもしれません。

読者サポート | Unity5 3D/2Dゲーム開発 実践入門 | ソシム

Chapter 1で起きた問題

サンプルプロジェクトで遊べなかった

インストール時にチェックボックスに入れてなかったから入っておらず遊べなかった。遊びたい人は注意。

Chapter 3で起きた問題

マテリアルのリネーム方法が右クリックででてこない

Windowsだとダブルクリックでできました。

Changing material name - Unity Answers

実機確認

実機確認の詳細な手順はこの本には書いてないのでググる必要があります(大まかな流れだけ書いてある)。
iOSの場合、iOS7から実機確認も無償でできるようになっていました。例えば次のような記事を参考にするといいでしょう。

[Xcode][iOS] 有料ライセンスなしでの実機インストール 全工程解説! | Developers.IO

購入するなら達人出版会のPDF版がおすすめ

電子書籍版はkindleでもでていますが、固定レイアウト方式で配信されており文章の検索ができなかったり、ブックマークができない(少なくともkindle for Macではできない)という欠点があります。達人出版会がPDFを販売しているのでこちらからの購入をおすすめいたします。

Unity5 3D/2Dゲーム開発 実践入門 -作りながら覚えるスマートフォンゲーム制作【委託】 - 達人出版会

製作ログ

今回はTwitterで制作過程を実況していたのでまとめました。どのようなゲームを作るのかわかると思います。
(SEやBGMがついているものもありますが2章のゲームのSEを除いて、後編集でつけているものです。)

スポンサーリンク