目標
一昨年末から、ハースストーンやシャドウバースのような、大規模なカードゲームを個人で開発したいと考え、Unityを勉強し始めました。
AssetStoreでカードゲーム開発に関する既存のフレームワークを探したところ、CCGKit※という製品がヒットしたため、こちらをベースに開発を進めています。
しかし、当初想定していた開発期間を大幅にオーバーしても完成の目処すら付かず、どうすればいいのか途方に暮れているところです。
現状、何から手を付ければいいのか分からない状態であるため、まずは開発が進んでいる実感を得るために他人の書いたコードを読む力や、それを拡張するスキル、あるいは使えないものは使えないと見切りを付けて自作に切り替えるスキルを鍛えるにはどういう学習を進めればよいのかご教示頂けると幸いです。
※ 約400クラス(規模は大小様々。30step程度のものもあれば、1500step程度のクラスもある)程度のUnityプロジェクトで構成されるAssetです。プレイヤーや対戦相手の初期ライフ設定やカードの攻撃アクション、毎ターンのカードのドローなど、基本的なカードゲームの処理の完動品が提供されています。質問者はこれを拡張して、自分好みのカード能力を付け足したいと考えています。
補足(質問者のスキル)
簡単なファイル操作程度ですが、最大3000step程度のJavaでの開発経験はあったため、C#もwebサイトで調べながら自学すればなんとかなるだろうと考えていましたが、自学の限界を感じています。
最初期は先述したCCGKitのコードを読みながらC#を学習しようと思いましたが、過去に学習したJavaの知識と現状の調査スキルでは限界を感じ、いわゆるひよこ本やゲームの作り方 Unityで覚える遊びのアルゴリズムに目を通しました。
また、ひよこ本が終わった段階でUnityチュートリアルのブロック崩し、玉転がしゲーム、2D Game Kitを実際に手を動かして作成しました。
ブロック崩しはオリジナル要素として、クリア後にボタンを押下することで別シーンを呼び出したり、プレイ中Spaceを押下することで特殊効果を発動し、起爆地点から100*100pixel範囲のブロックPrefabを破壊する機能なども拡張しました。
それでもCCGKitを読み解こうとすると、プログラム内に書いてあることが分からない、動くはずなのに動かないといった現象が多発してしまいます。
例えば、継承関係が5階層程度のものでもどうやって値を追っていけばいいのか整理出来なくなり、見落としが発生しがちです。
具体的な質問点
①今後、一人で学習を続けて完成させることが出来るのか?
② ①がもし可能であるなら、どういったstepを踏んで学習を続けていけばよいのか?
③一人が難しいのであれば、例えばTech Academyのようなプログラミングスクールでの学習(質問)で、完成まで持っていくことが出来るのか?
→プログラミングスクールについて調べたところ、学習経験0の方が既存のカリキュラムの学習に沿って学習するには効果的だが、既存製品などに関して質問をしてもわからない者同士で調べ合うだけで、一人でやるのと大して効率アップに繋がらないという認識です。(それでもモチベーションの維持に繋がるならアリかもしれませんが、期間内に完成する見通しも薄く迷っているところです)
④その他、現在Unity開発で活躍されている方が初期にどうやって学習してきたのかご教示願います。また、モチベーションの維持に役立った勉強方法などがあれば、そちらもお願いします。
⑤学習方法とは外れますが、コードを読む上で有用な静的解析ツールなどがあればそちらも教えて頂けると幸いです。
現状はVisual Studioのクラス図生成機能で頑張っています。
回答3件
あなたの回答
tips
プレビュー