ニーモシネ良いノートって自己満足だと思う。キャンパスのノートなんて一山いくらなんだし、良い書き心地だのなんだのでアイデアが変わるわけじゃなし、しかもノートに書いてる時間なんて昨今じゃそんなに多くない。一日中ノートに向かっていた時代ならまだしも、現在じゃ良いノートの価値なんてどれほどのもんだ。メモなんざレシートの裏だって問題ない。創作なんてのはそもそもが自己満足だ。別に金になるからやってるわけじゃない。金になるかもしれないが、コスパとかなんだとか気にするほどに真剣に儲けなんて気にするならバイトに行った方がよほど儲かる。しないのは、物を作るとバイトするより満足できるからだ。それならば好きなノートに好きなペンを使って書けばいい。何より重要なのは満足することだ。自己満足は素人の創作において何より優先する。そんなわけでちょっと良いノートを買ってみた。マルマンのニーモシネというノートで上の部分にタイトルと日付が書き込めるようになっていて、ページにはミシン目が入っていて一枚ずつ切り取れるようになっている。書き心地はさすがに良いけど、もうちょっと紙が分厚い方が好みかと思う。同じマルマンならスケッチブックなんかでも良いかもしれない。ちなみにボールペンはドクターグリップの白いやつ。ただの落書きでも良い物作ってる気になる。741Amazon.co.jpで詳細を見るでも消耗品なのに高いよね。31,496Amazon.co.jpで詳細を見るボールペンは中身入れ替えれば長いこと使えるし、うん。家の電話をUnidenの可憐という電話に変えた。親機は土台部分だけで、受話器は全部DECT方式の子機になっている。売りのひとつとしてスマホとのBluetooth接続に対応している。ハンドセットみたいにスマホの電話を受けたり、スマホ経由で電話をかけたりできる。みたいにというかハンドセットとして使える。我が家では複数のゲーム機やタブレットやスマホが無線LANに接続されている。そのため自宅に掛けるとひどいノイズが乗り、時には肥が聞こえないこともあった。DECT方式はそういう無線LANや電子レンジの周波数帯と干渉しない1.9GHzを利用しているのでノイズが乗らないとかなんとか。本当にノイズがすっきり無くなった。このノイズは家の電話側からは聞こえず、通話相手にのみ乗るものだったので、家から電話するときは、いつもノイズが入ってないか、相手には確かに聞こえているかと心配だったがそれがすっきりした。DECT方式のためのなのかは不明だが音質もなかなか良い気がする。Bluetooth接続、これもなかなか便利である。これについて人に話したら、そんなもの何に使うのかと訝しがられたが、これはスマホを常に携帯している人には利点がよく分からない機能なのかもしれない。私にとっては便利だった。いうのも、私は家に帰ればスマホは定位置に出して、次に出かけるまでそこにおきっぱなしにしている。それに常にマナーモードにしてある。そのため自宅でスマホにかかってきた電話になかなか気づけないのだ。その点、Bluetoothで接続しておけば家の電話の方が鳴るのですぐに気づくことができる。私に電話がかかってくることなどほとんど無いのだが、それでも不在着信があるとかけ直すべきか、またかかってくるのを待つべきか思い悩むので、取り逃さないという安心感があるのは良いと思う。(かけ直したことなんてほとんど無いが)*余談。いう新しい技術を搭載した電話というのがもっと出ると良いなと思う。電話機にサーバーを搭載して、API経由で発話・受話が出来ればいいのにとずっと思ってる。音声と発信相手が取得できれば、あとは外部のシステム次第で検索を出来るようにすることが出来るし、電話での会話量なんてたかが知れてるのだからMP3にすれば十年分だって保存できるだろう。すればもう電話をしているときにメモを取る必要も無いし、あとから聞き漏らしなんかを確認することも出来る。不在時に着信通知をtwitterに流すことも、複数のスマホのアプリで同時に受話することも、記録を取得する手段さえあれば何ら難しいことではない。電話というのは常に電源と電話回線のそばに置くのでサーバーを動かしたり連携させるのにも便利だ。KickStarterとかで誰かが作ってくれないだろうか。電話機は一時改造してみようと思ったが調べると違法だったので、法律の面から色々厳しいのかもしれない。インターホンならどうか。Webカメラなんかもかなり廉価で変える昨今である。自作のインターホンを作ってみるのも良いかもしれない。23,953Amazon.co.jpで詳細を見るこの色だけ安かった。これのために作った!(保存できません)言いたいことコードのサンプルはPlunkerとか使って動かせる形にしたほうがわかりやすいし楽しい。まえおき前のAngularJSのエントリでPlunkerの埋め込みページを使った。このページではPlunkerでゲームをざっくり書いて、それをこのブログに貼るまでを説明する。ちなみにゲームそのものの作り方とか内容には触れない。類似サービスの比較PlunkerはHTML・JavaScript・CSSなんかをWebアプリ上で作成して、公開できるサービス。競合としてはJSFiddle、Plunker、CodePenとか。比較するとこんな感じ。JSFiddleGithubなんかでもバグ報告するとバグが再現するfiddleでくれとか言われるのを見かける。コード全部を単純に書くことが出来るわけじゃなくて、メニューからJavaScriptのロード位置を設定したり、読み込みライブラリも別途指定したりという感じで、最初は多少戸惑うかもしれない。慣れれば別にって程度ではある。CodePen見た目がかっこいいしさくっと動く。コード全体を書けないのはJSFiddle譲りだけど、今風にJavaScriptにCoffeeScriptつかったりLiveScriptつかったり、CSSにSassとかScssとかLESSとか使ったり出来る。思ったんだけど無料プランだと外部ライブラリが一個しか読めないとか書いてあって使ってない。使い方あるなら是非使いたい。使ってる人はあんまり見たことない。Plunker二番手な感じながら、上の二つとは違って、普通のHTMLとかJavaScriptを書く感じで使えるサービス。普通にファイル作ってそこにプログラムを分割できる。サイズのプログラムでも作れる。外部ライブラリ云々とかもHTMLから書けるので気にする必要は無い。いうか新規作成時に有名なライブラリを一覧にしてくれて、クリックで挿入してくれたりするのが結構嬉しい。あとエディタのテーマ変えられるのも良い。難点としてはなんか、実際の動作速度なのかデザイン上の問題なのか、なんとなくもっさりした印象があるところ(個人の感想です)。こっちもPlunkerでくれとか言う人をわりあいと見かける。いうわけで、私はPlunkerを使う。Plunkerの使い方というほど詳細な話はしない。だいたいのことは触れば分かる。Ctrl+Sを押せば保存もできるし、その履歴も残る。自分が作ったPlunkじゃなければ保存は出来ないけどForkして自分のページに取り込んで編集することができる。左側がファイルとタイトル・概要、右側がプレビュー、外部ライブラリの検索とインポート(別に使わないでも取り込むことは可能)、右側の一番下が設定でエディタの色とハイライトのテーマとか、タブサイズとか、更新の間隔やオンオフを切り替えられる。作ったものは冒頭の例のようにiframeでブログなどに埋め込み可能だ。tiny艦隊Clickerについて好きにForkして改変等してもらってOK。S3上に置いてあるので、呼び出し量が増えてお金がかかるようになったりするとこっちの都合で消したり差し替えたりDropboxに置き直したりする可能性がある。そのためフォークしてどこかに公開するなら差し替えたほうが良いと思う(個人で改変したり実験したりする分にはそのまま使ってもらって全然OKです)。あともしどっかに公開したりするときはこの記事にリンクしてくれると嬉しい。わけで、コードを公開するときにPlunkerとか使って実際に動いていじれるようにしてくれると色々楽しいと思った。Miamiをクリアした。マスク・武器・パズルなど実績以外の要素をあつめて12時間くらいかかった。Miamiは2012年に発売された見下ろし型のアクションゲームで、つい最近日本語のローカライズが追加されたので、Steamで$9.99で買った。他にもgogとかいくつかのサイトで販売中みたいで、もうちょい安く売ってるところもあるらしい。見下ろしゲーというと有名所だとGTA1,2とかが思い浮かぶけど、このゲームはそれに輪をかけて残酷だ。このゲームの面白かったところはゴア表現より、徐々に正気を失い悪夢のようになっていく世界観だ。主人公は誰かわからぬ覆面の三人組の夢を見て、自分が殺したはずの死体がなぜか行きつけのコンビニに転がっているところを見る。毎回電話がかかってきては、うっすらとだけある日常のシーンから非日常の殺しに出かけて行くというところやステージごとにすべて違ったイカす音楽がかかるところはキラー7のようだし、80年代という舞台の中で主人公が荒唐無稽な陰謀に翻弄され飲み込まれていくのはフィリップ・K・ディックのようでもあり、とにかく自分の好きなど真ん中に来る作品だった。ストーリーや演出もさることながら、アクションも大変に素晴らしい。ステルス要素のあるアクションというと、うだうだ敵が行き過ぎるのを待ってミスったらやりなおしで鬱陶しいし正直好きじゃないのだけど、このゲームでは何よりも速度と立ち回りが要求される。敵は今にも敵が来るということを理解してピリピリしている感じの速度で撃ってくるし、たとえ真後ろでも一定距離に近づけば即座に振り向いてくる。後ろ向きだと、こちらに振り向いて撃ってくるまでに多少時間があるくらいのものだ。そのため部屋に飛び込んだら、まず銃を持っている方を殴り、バットを持っている奴が振り向く前に殴り、倒れた二人に順番にトドメを刺すというような立ち回りを考えなくてはならない。銃は強力だが、撃つと他の部屋の敵が駆けつけて来るし、何より銃だろうが打撃だろうが主人公は敵と同じく一撃で死ぬ。そんなわけで、ステルスにしろ強行突破にしろとにかく素早く的確に攻撃して、増援が来たらすぐさま部屋に逃げ込み、銃を持ち替え、考えるより早く判断していかないとならない。難易度はそれなりに高いが、リプレイは押した瞬間に再開するので苦痛はない。敵のAIにはある程度クセがあるのでそれに慣れれば、多少無理な状況になっても切り抜けられるようになる。して上手くプレイできるようになると、自分が強い殺し屋になったかのような感覚を味わうことができる。そんなわけで、もしこれをプレイしてた人が殺人で逮捕されたりすると確実に報道に乗ってしまうようなゲームではあるけど、今年中には2の発売も予定されているということなので、今後何か悪いことをする予定の無い人であれば、やってみてはいかがだろうか。ちなみにレーティングは無いけど怖いものが苦手な人にはおすすめしない。共有2014年2月21日金曜日クソでいこう良い物を作ろうと思った瞬間に何するのも全部だるくなるので、基本クソみたいなものを作るって気持ちで行きたい。20昔文章を書くのが大好きで、小説をいっぱい書いててWebに公開してて、それなりに読んでもらったり感想もらったりもしてたんだけど、良い物作ろうとしすぎてしまいにすげー小説書くのがだるくなってきて今に至る。20こんなもんじゃいけない、誉められていい気になるな、とかずっと思い詰めながら書いてた。それだと自分の作品読んでも嫌にしかならなくって、手が動かないようになった。この霊夢の絵とかすげー良く描けたと思ってる。あとこのユニティの絵も積極的に使っていきたい。共有Unityはじめた講座まえおきUnityを使い始めてはや一月ちょい、りつとびとかflappy霊夢とか作った。そいで多少はUnityにも慣れて、最初にこういうことがよく分からなかったなあ、ということをまとめてみた。メインは調べて出てくる記事で頻出する基本的な単語とかのざっくりした解説(ざっくりとしか理解してない)多め。共通する部分はあるけど、メインで2Dのゲームを作ろうとしているのでそっちよりの内容。読まなくてもしばらくやってれば分かることだけど、軽くでも頭に入れておくと何かとはかどるんじゃないかと思う。内容ゲームオブジェクトゲーム上に表示されるもの。Emptyとかで箱みたいに使ったりする。表示されてるものはなんでもゲームオブジェクトっぽい。それ以外のものがあるのかは知らない。プレファブ(Prefab)オブジェクトのひな形みたいな感じのもの。Scene上で作ったゲームオブジェクトをプロジェクトに戻すとプレファブになる。プレファブをまた配置することができるんだけど、これは元のゲームオブジェクトとは違って、プレファブを修正すると一緒に修正される。これが何が嬉しいかってと、敵とか作って動きなんかを変えたときに、一個変えればすべて変わるってこと。プレファブかどうかは置いた後に上の方見ると、Tagとかの行の下にPrefab用のボタンがあるので分かる。何か変更したあとにそこのApplyとか押すと変更が適用される。タグゲームオブジェクトにつけておいて、検索とかにつかう。レイヤーゲームオブジェクトにつけておいて、階層を管理する。ソーティングレイヤーレイヤーと同じ感じなのだけど、こっちは2Dの重なり順の制御に使う。上のレイヤーは処理上の階層としてまとめたりするけど、こっちはすべてに前後関係がある。スクリプトについて・コードエディタで保存しないとUnity側に反映されない(実行しても保存されない)。・小文字で始まってるのがプロパティ名でそのゲームオブジェクトにあるほかのコンポーネント。rigidbody2dだったらそのゲームオブジェクトの持ってるRigidbody2d。書くとthisがgameObjectみたいだけどちがう。gameObjectはthis.gameObjectにある。回転とかサイズとかはgameObjectの持つプロパティなのでthis.gameObject.transformとかにある。・規定の名前のメソッドを作るとそのイベントの発生時に呼ばれる。最初にあるStart(開始時に呼ばれる),Update(更新時(フレーム?)に呼ばれる)もイベント処理のはず。OnCollisionEnter2Dってメソッドを書けば、2Dの衝突発生時に呼ばれる。ちなみにisTriggerを使う場合はOnTriggerEnter2D(ここ気づかないで悩んだ)。他に、OnGUI(GUI.Buttonとか待ち受けるときに使う)とか、FixedUpdate(物理演算用の一定時間ごとのアップデート)とかある。エディタでメソッド名書くときに補完してほしいなと思う(あるのかもしれない)。・スクリプトのパブリックプロパティで設定したものはGUI上から設定できるようになる。速度とか、敵の発生間隔とかはもちろん、発生させる敵そのものとかもGUIから設定させられる。画像はflappy霊夢のスクリプト部分で、Pole(モアイです)の発生間隔とか、発生するPoleのプレファブを指定したり、スコア表示の体裁なんかを指定できるようにしてる。これでやると後から調整が楽だし、チームでやってるなら非プログラマにパラメータの調整を任したりできるかも。ModeのSingleのところをMultipleにすると画像を切り分けできる。自動でも切れるし、手で設定もできる。私は適当に書いててゴミが混じってたりサイズがまちまちだったりして自動でうまく読み込めないので、手で幅を合わせてtrimで空白を削って取り込んでる。ここで取り込んでも単純にバラの画像になるだけで、いきなりコマアニメになるわけではない。アニメを作るにはAnimatorとAnimationを設定する必要がある。AnimationについてAnimationはどのタイミングでスプライトを差し替えたり、回転させたり、当たり判定をつけたりするのかなど、アニメーションそのもののこと。FlashのタイムラインっぽいWindowでゲームオブジェクトの各コンポーネントの値を変えたりできる。それで作ったAnimationをどういう条件で、どういうタイミングで表示するとかを決めるのがAnimator。Animatorについて上記のとおり、Animationをコントロールするためのコンポーネント。ステート(状態)を作成して、それぞれにAnimationを設定して、状態の遷移(Transition)を書く。遷移の条件はAnimatorそのものにintとかfloatとかboolとかの型でプロパティみたいなもんを作って、各状態間の遷移に○○がいくつ以上になったら、とか設定する。flappy霊夢だと、霊夢の角度が変わるのは、上と真ん中と下のstateがあって加速度の範囲で遷移するようにしている。そのプロパティはスクリプト側からセットする。上の例のflappy霊夢だと加速度(velocity)をUpdate内で毎回セットしている。上のはWindow>Layoutsで2by3を選んで並べ替えたもの。2Dゲーだとカメラ動かさなかったりするので、プレビュー見ながら作業が便利。下の床どの辺に置くかとか、天井が見えないようにするとか。デフォルトのままだと一緒に見えないので不便。以上、また何か分かってきたらぽつぽつ書いていきます。Birdのクローンの東方二次創作のゲームをUnityで作った。Birdは500万/日稼ぐも作者がヤになって公開停止したゲームで、現在クローンが大量に公開されてる。それならば俺も公開して500万円欲しいので慌ててクローンゲームを作った。500万入ったらうちの息子大学に入れてやりますねん。ご存知のとおりかどうか知らんけどUnityは出力先を自由に選べるので、Webプレーヤー向けで出力したのち、Android向けにビルドしなおした。いくつか設定をして解像度が変わったりしたけど(後述)、ほとんど問題なく出力できて、やっぱUnityすごーいって思った。あと4年ぶり二回目のPlayストア(一回目のときはPlayストアって名前じゃなかったけど)登録だったので、あれこれ戸惑うことも多かった。いうか、最初のことはあんまり覚えてないけど、IS01(メガネケース)を開発機にして作ったりしたので、まあずいぶん勝手も変わった。この辺まとめて技術的なことは、後ろの方に書く。何より心配だったのが登録を却下されないかということで、Flappy某というソフトは登録却下されるというのがニュースにも出ていた。Japanなのでまずふわふわ霊夢という名前にして登録したところ、ふわふわまりさという東方で題名丸かぶりで青空の中を横スクロールで移動するというアプリがあって、しかもちゃんとしたゲームらしく、何をどう考えてもこちらが悪質なパクりにしか見えず慌てて題名を変えた。Birdのクローンなのに全く意図せず関係ないアプリのパクりゲーになりかけたので、今度からもっとちゃんと検索してから名前を決めようと思った。いうわけで名前はジャンピング霊夢になった。Birdとの関連性がバレ疑われぬよう説明文には念には念を押す感じで関係性がないことを書き、名前を入れるだけで検索スパムと見なされるかもと思ったので非常に曖昧な書き方になった。Google様に全力で媚びた方が登録されやすくなるかもという考えからアイコンも最近のAndroidのデザインに合わせたフラットデザインを採用した。万端過ぎてここで計算違いが生じた。Birdは日本では特に人気になってないんじゃないかということだ。一日500万円というところと、それをあっさり捨てたというのがニュースになっているだけで、そんなに流行っているという話は聞かない。クッキークリッカーのときはみんながやっていたし、私もやっていたが、こっちはニュースを先に聞いている。やっている人をそんなに見かけたこともない。日本でクローンを作ったところで500万円は稼げないことは目に見えていた。そもそもクローンで1日500万も稼げるわけがない。500円稼げれば大成功である。いやそんなことは分かっていた。分かっていて、これだけやって最後に登録却下になれば大変面白いんじゃないかと思っていたのだ。Birdのクローン制作者、登録却下される!」みたいなことを誰かがブログに書いてくれて話題になれば面白いなと考えていた。世に言う炎上商法である。結果は記事の最初に書いた通りである。これでは話のネタにもならない。500万円は稼げなかったし、息子を大学に行かせるために私はあと数十年は働かねばなるまい。結局どうなの?たぶん誰もやってない。Player、Android、iPhoneなんかに出力できる。それぞれのプラットフォーム間では解像度が違ったりするので、かっちり作ってる場合は色々面倒なのだろうけど、ジャンピング霊夢の場合はごくいい加減に作ったものなので、余裕を持たせるために多少背景を大きめに描画したり、Replayボタンとかのフォントサイズを大きくするくらいだった。Studio入れてたのでそれにバンドルされたのを使った。ない場合は別途インストールしなきゃならないかも。settingから行える。うろ覚えの記憶で適当にやってるのでちゃんと知りたい人は調べた方が良い。設定したのは以下の項目(必須ではないものもあるかも)。