オリジナルゲームプログラムの開発プロジェクトに取り組もう. このプロジェクトでは,プログラムだけでなく,ウェブサイトも作成・改良し, プロジェクトの進行状況を学生相互に公開する. 今回はまず,テーマを決定し,開発計画を練ろう.
開発目標のプログラムはゲームに限らず,実用プログラム (エディタ,表計算,等)でも構わない. とにかく,curses ライブラリを利用した フルスクリーンアプリケーションであれば何でもアリとする. 自分で作りたい物や自分で作れそうな物を考えよう. ただし,多少なりとも技術的チャレンジを盛り込むこと.
また,「完全オリジナル」なゲームの創作は難しすぎるので, 既存のゲームのクローンでも構わない. ただし,多少なりともオリジナリティを必ず追加すること.
なお,プログラミング技術的に, あまりにも簡単すぎるようなテーマは却下の対象になる. 志(こころざし)を高く!!
プログラミングの進め方は, pendraw+pdcl の開発と同様に, インクリメンタル(incremental;漸進的)開発とする. 単純なプログラムからスタートし,少しずつグレードアップして行くこと. なお,ソースファイルの分割については,当初から採用しておくとよい.
そして,オープンソースソフトウェア(OSS)の開発プロジェクトと同様に, 作業の進行状況や成果物を各自のウェブサイトで公開して行くこと. (ウェブサイトの作成・公開については次回の課題とする予定.)
テーマを決めたら,開発計画を練ろう. どんな機能をどんな順序で追加して行くべきか考えること.
プログラムの基本部分だけを作成してみよう. この段階では,主要キャラクタの動作(入力と運動と表示とか)だけで充分だろう.
基本プログラムが完成したら, 開発計画に沿ってバージョンアップを進めて行くこと.
インクリメンタル開発では, 開発途中のプログラムを動く状態に保つことが重要である. 機能を少し追加するたびに動作テストを欠かさないこと!!
また,変更がうまく行かない場合, 計画自体を見直す勇気と妥協も重要だ.
最悪の事態は,「未完成」で終わってしまうことだ. しかし,インクリメンタル開発を続けてさえいれば, いつでも,「完全に完成」とは言えないまでも, 少なくともある程度は動く状態にあるので, 「ある程度は完成」と言えるだろう. 「完全に未完成」とは言われないようにしよう.
オリジナルゲームの開発構想をレポートせよ. 次の事項について,できるだけ具体的に書くこと:
元ネタがまだ curses 化されていない場合, 「○○ の curses 版」とだけ書けばよい. ただし,マイナー or マニアックなネタの場合, 他人にもわかるように補足説明せよ.
元ネタ自体がすでに curses 版の場合, 独自の工夫等について必ず記述せよ.
提出:
構想がまとまったら,さっそく, 基本プログラムの作成に着手しよう.
まず,自分のアイディアが本当に実現可能かどうか? 重要部分について先に実験しよう. そしてもし,実現不可能と思ったら,早めに計画やテーマ自体を変更しよう.
プロジェクトのウェブサイトを作成しよう.
計画に沿って,プログラムとウェブサイトの両方について, バージョンアップを進めて行こう. プログラムのソースファイルについては, 旧バージョンも残しておくこと.