まずはミニゲームをつくろう-UIを構築する

UIを構築する

オプション実装でUIの構築をするけど、uGUIかつVRも対応させることを考えると
3D空間上に置いていることが望ましい。

VRとスマホ、二種類のUICameraを用意することも考えたけど面倒なので両方で見やすいようにする。

なんだかんだでUnity2018.3系のPrefabInPrefabは便利だ。
セーブするまで配置情報が更新されないのは仕様なのだろうかバグなのだろうか、という配置し辛い部分もあるけど。

UIの構築は全般的に中央寄せにしてしまおう。
端寄せなど考慮したくないし個人で作ってるものだからプログラム構築もそんなに縛らない。
時間かかるしCleanArchitectureのようにinterface介して疎結合させる気にならない。

Factoryでモノを生成(内部的にはObjectPoolで使い回し)
ObserverとSubscriberで情報の伝達
ModelとViewの分割に関しては、Entityは個で必要だけどViewModel程度ならガッチャンコさせちゃう
DIはする気ない(別のものにすげ替える気ない)
Sceneは昔ながらの一つにおさめる(UnityのSceneのLoadSceneAsync(Additive),Androidの俺端末だと何も無くても0.2秒くらいかかるので…)
LinQはいまのところ必要ない(Whereとかでリストアップする必要もないしOrderByで並び替える必要もない。ランキングとか作るときには使うかも程度)
Singletonよろしく(全く同じ使用方法で一つしか存在せずずっと存在(参照)し続けるものであれば忌む必要ないと個人的には思うけどなぁ。)
UIはuGUI一択
セーブはEasySave3よろしく
広告SDKはUnityAdsよろしく
課金周りはUnity-InAppPurchaseよろしく(※アプリ内課金するならFirebase辺りでユーザID作成とサーバでのレシート検証も実装しないとなぁ。今回はスルーでいいかも)

Singletonに関して、例えばUnityEngine.Inputクラスを使用するのは
入力がUnity標準のもので限られるから別のInputクラスをインポートしたときにすぐに対応できないじゃないか!
と言って最初からオレオレInputクラスを作ってInputクラスやらモックやらを使って
それをDIさせることに個人開発ではメリットを感じ取れない。

速度を重視して作ってニーズの範囲がある程度あるかを営業系の人と相談する。
売れたらその金でそういうプログラム改修が好きな誰かにやってもらっちゃったほうがいい。
売れなかったら何が原因かを考え更により良いものにすればいいが
それだけきっちり作ったものを破壊するのは気が引ける。

破壊と創造のフェーズではどんな作り方かよりもどんな遊び方かを他人に見せて
需要が存在するかを確認していけばいい。

どんな作り方だったとしてもそれが利益に繋がるかがまず重要だと思ってやってみる。
いきなりめちゃくちゃ売れるもの作れるなら最初から設計しっかりした作り方でもいいだろうけど。
全てを成功させる、そんな人いたら凄いなぁ。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください