取り敢えず簡易的にでもマップを作れる様になったので、ドラクエⅢのスタートの部屋のみのゲームを作ろうと思っています。
それで、どんな機能が必要なのかと言うことをテキストに書き出していこうと思っているのですが、そこで行き詰まっています。
マップの当たり判定(通行できる・出来ない・イベント)さえ出来れば、部屋の内部の移動は可能です。それ以外にもスクロールやNPCとの会話、戸棚を開けたり階段を降りたり……後は何があるのかな? 主人公のステータスの管理も必要になってきますね。アイテムの管理とか装備の管理とか、メニューに出てくる機能の一通りは必要です。さらにそれらを表示するマルチウィンドウの機能とか、考えれば切りが無いくらい沢山の機能を実装しなければいけません。
またフラグの管理(これが一番大事かつ大変)をどのようにするかを考えておかなければならないし、NPCの自動移動もどうやって実現させるのかも考えなければなりません。
書きだした機能一覧を元に、プログラムに機能を実装していく作業に移る訳ですが、自由に拡張できる様にプログラムを書かないと、町中に出てからは更に色々な機能が必要になってきます。
これらを考えると、最初の部屋を実現するだけで戦闘やSAVEやLOADを除いた殆どの機能を実装しなければいけないと言うことがわかります。
素人が趣味で作るプログラムにしては、かなり大規模な物になりそうです。当初の予定ではゲーム開発エディタの完成が来年の7月と言う事だったので、ゲームの中身に関してはまだ真剣に考えていませんでした。
しかし豚は仕事でやっているわけでは無いので、他にやるべき事もあります。弟の介護は第一優先事項ですし、空き時間にも他の勉強もしたいのでドラクエもどきにかかりっきりになることは出来ません。鬱で動けない日も多々あるでしょうし、本格的にドラクエもどきの開発に入っても、最低でも2年とか3年とかのスパンは必要になってくると思います。これから益々時間が無くなっていく中で、モチベーションを下げずに実際に最後までプログラムを作りきれるのかもわかりません。
しかし30年近く追い続けた夢ですし、出来れば寿命の尽きるその日まで、作り続けて行ければ良いなと思っています。
ツイッターで内藤さん(ハイドライドの作者)のツイートをフォローしていますが、未だにアセンブラに拘って、しかもPC-6001mkⅡ縛りで新たなゲーム開発を趣味で続けておられます。完成しても公開するかどうかはわからないと言うのは豚と同じですし、年齢的には豚よりも遙かに上の方なので、尊敬の念を込めてツイートを拝読しています。その内藤さんが言っておられましたが、「自分のやろうとしている事は、Unityとか使うと一瞬で完成してしまう。それを敢えてアセンブラで実現すると言うのは果たして……?」との事でした。豚も敢えてC++で作らなくてもC#を勉強してUnityを使えば見栄えのする2Dや3Dのゲームは比較的簡単に作れてしまうようです。なので「コツコツとCやC++でコードを書くことに意味はあるんだろうか?」と自問自答しています。でもまぁ「昔取った杵柄」を錆びさせてしまわない様に、腕を磨いているだけだと割り切っています。それに何かC++で大きな物を作って、昔のトラウマを乗り越えようと足掻くためにも。まぁトラウマなんて物は簡単に乗り越えられる物では無く、大抵は自分自身に呑み込まれてしまって自滅してしまう事が多いんですけどね。
色々と書きましたが、今はドラクエもどきⅢの最初の部屋で必要な機能を列挙することと、予定通りに開発エディタの開発に尽力する方が良いのか、どちらの道を行くべきか迷っています。
-一番偉い人へ、俺たちは今何をするべきか?- byとんねるず
午後7時09分