【Unity】ゲーム(に関係するもの)を11個作った話
経緯
就活終わる前
就活終わったら御祈りされた回数分ゲームを作る事にしよう
— Buravo (@Buravo46) 2014, 3月 14
就活終わった後
それはそうと、落ちた企業数分ゲーム作るとか言ってたのを思い出した。11社ぐらい落ちたから来年までに11個ゲーム作ろう。
— Buravo (@Buravo46) 2014, 6月 27
3日前
来年まで後3日になったけど、11個ゲーム作るって目標達成するの時間的に無理だ。11個ゲームに関係するものを作るにしよう。うん、そうしよう…。そうすればエディタ3個で後8個になって達成できそうな気がする。
— Buravo (@Buravo46) 2014, 12月 28
来年までに11個のゲームを作る目標を立てていましたが厳しそうだったので、
急遽ゲーム(に関係するもの)を11個作ることにしました。
結果
- Unityで使えるモジュール 1個
- UnityのEditorWindow 6個
- UnityのCustomProperty 1個
- Unityのゲーム 2個
- Unityの記事 1個
11個のゲーム(に関係するもの)を作ることが出来ました。
見事にUnityだらけです。
Unityで使えるモジュール
UnityでCSVを読み込んでデータを引き出すことの出来るモジュールを作りました。
身も蓋もない事を言うとUnityの要素はResource.LoadでCSV読み込んでる部分だけです。
けど結構自分的に満足のいくプログラムが書けた気がするモジュールです。
UnityのEditorWindow
ゲームオブジェクトを一括で生成、消去、移動、回転、拡大縮小することのできるEditorWindowとポップアップウィンドウを作りました。
ゲームオブジェクト関係のEditorはここに放り込んでいくことになると思います。
Github : UnityGameObjectEditor
UnityのCustomProperty
インスペクタ上で、この属性のついたpublicなbool変数をTrueにしたら
スクリプトコンポーネントが削除されるカスタムプロパティを作りました。
誰得と言われてしまうと思わず納得してしまうよくわからないカスタムプロパティです。
RemoveComponentDrawer.cs内でEditorGUIUtility.ExitGUI関数を使用していますが、非パブリックなAPIみたいなので違う方法を模索する必要がありそうです。
CustomProperty関係のはここに放り込んでいくことになると思います。
Unityのゲーム
Unityで2個のゲームを作りました。どのゲームもUnityRoomで公開しています。
1個目は風船をクリックして破壊していくクリックゲームです。
なるべく丁寧なゲームを作るよう心掛けた簡単なゲームです。
継承すれば楽にシングルトンにできるシングルトンパターンやシングルトンなオーディオマネージャー、オブジェクトプールとか詰め込んでいます。
2個目はボールをコロコロ転がしてクイズに答えるクイズアクションゲームです。
クイズをCSVで書いて読み込んで扱っていたとき、うっかりResource.Loadを使わないテキストの読み込みをしてしまい、アプリケーションとしてビルドしたときクイズが表示されなくて焦った思い出のあるゲームです。
Unityの記事
ゲームオブジェクトを一括で消去するEditorWindowを作るときに得た知見を書きました。
まとめ
まだ大丈夫…まだ大丈夫…とのんびりしていた結果が、
この状況を招いたと思うと見事にやっちゃったと思いました。
来年はもっと計画性を持って動くようにしたいです。