ウェブサーフィンをしていると、内外を問わずに様々なGB用の自作ソフトを手に入れることが出来ます。ゲームボーイと言うくらいですから大部分はゲームなのですが、玉石混交です。中にはこんなのをよく人前に出せるよなぁーと思うほどひどい出来のものもありますが、大体はよくこんなテクニックが使えるよなぁーと思わずうなってしまうものもあります。ただ、こうしたまとまったソフトはソースを公開されていることが少ないのでこれからゲームを作る人は苦労するのではないかとも思います。また、ゲームのようなまとまったプログラムでは単純なデモとは違います。プログラミングテクニックだけではなくゲームとして成立させるためには様々な制約事項を考慮しなければいけません。つまり、クリアすべきハードルが多いわけです。そこで、ここではゲームの制作を通してソフトまとめて行く工程を再現したいと思います。
今回のソフトはゲームの制作です。ゲームはオリジナルや既存のモノ、あるいはそれらの組み合わせたモノなどに分類する事が出来ます。また、既存のモノの中にはプレーヤーをコンピュータに置き換えたモノや動作環境だけを機械に置き換えた物などが考えれれます。オリジナルのモノは今までに無かった物を生み出す楽しみがありますが、制作するのが大変になると言ういわゆる産みの苦しみも同時に存在するので実現するのは大変です。一方、既存のゲームの場合はゲームのルールや面白み(戦略なども入りますね。)は分かっています。つまりこれらを評価する必要がなくなるのでコンピュータ化する事だけに注力する事が出来ます。今回はソフトの制作過程の再現が目的なので既にゲームのシステムが確立されているものを考えます。トランプの「神経衰弱」を題材にソフト開発をします。ちなみに「神経衰弱」は完全な日本語でこれを "nurvous breakdown" と英語に訳しても海外では通じません。「Memory」とか「Pair」とか呼ばれることが多いようです。今回は Plemanism と言う言葉を使っています。これは英国の教育機関の名前でそこで使われている記憶術と言うことで「神経衰弱」を Pelmanism と呼んでいるようです。ただ、あまり一般的な呼び名ではないようなので通常は上記の「Pair」あるいは「Memory」と言ったほうが通じるようです。
プログラムの作成を手順を追って説明して行きます。それぞれのステップで目標を設定してゲームの内容を少しづつ実現して行きます。これは仕様を分割する手順や当初の目的を達成するための方法を学ぶ事が出来ます。なんでこの方法に下かと言うと…何度か原稿を書きプログラムの説明をしてきましたが、完成してしまったプログラムに後から解説をしても、開発の過程をうまく伝えることは出来ないような気がしていたからです。今回のようにそれぞれの開発のステップで説明をしていけば、どのような設計や実装してきたか容易に理解できると思います。
今回のプログラミングの講座では下記のような人を対象にしています。
GBに限った事ではないのですが、プログラムを動かす環境を考えてみると、様々な制約事項がある事が分かります。