自由制作1:構想・計画

オリジナルゲームプログラムの開発プロジェクトに取り組もう. このプロジェクトでは,プログラムだけでなく,ウェブサイトも作成・改良し, プロジェクトの進行状況を学生相互に公開する. 今回はまず,テーマを決定し,開発計画を練ろう.


構想

開発テーマの条件

開発目標のプログラムはゲームに限らず,実用プログラム (エディタ,表計算,等)でも構わない. とにかく,curses ライブラリを利用した フルスクリーンアプリケーションであれば何でもアリとする. 自分で作りたい物や自分で作れそうな物を考えよう. ただし,多少なりとも技術的チャレンジを盛り込むこと.

当然ですが,他人には理解不可能,マニアックすぎる,反社会的,等のテーマは NG.

また,「完全オリジナル」なゲームの創作は難しすぎるので, 既存のゲームのクローンでも構わない. ただし,多少なりともオリジナリティを必ず追加すること.

なお,プログラミング技術的に, あまりにも簡単すぎるようなテーマは却下の対象になる. 志(こころざし)を高く!!

くれぐれも,意識(だけ)高い系とはならないように... 時間的・能力的に実現可能なものを考えよう.

サンプルプロジェクト

アイディアのヒント


計画

作業方法

プログラミングの進め方は, pendrawpdcl の開発と同様に, インクリメンタル(incremental;漸進的)開発とする. 単純なプログラムからスタートし,少しずつグレードアップして行くこと. なお,ソースファイルの分割については,当初から採用しておくとよい.

そして,オープンソースソフトウェア(OSS)の開発プロジェクトと同様に, 作業の進行状況や成果物を各自のウェブサイトで公開して行くこと. (ウェブサイトの作成・公開については次回の課題とする予定.)

OSS のウェブサイトの例

作業手順

  1. 計画
  2. テーマを決めたら,開発計画を練ろう. どんな機能をどんな順序で追加して行くべきか考えること.

  3. 試作
  4. プログラムの基本部分だけを作成してみよう. この段階では,主要キャラクタの動作(入力と運動と表示とか)だけで充分だろう.

    最初はまだ,ゲームとして成立していなくてもよい. ゲームのルールや細かな演出などについては,後々に追加・変更し, 完成に近づけて行けばよい.
  5. 改良(機能追加)
  6. 基本プログラムが完成したら, 開発計画に沿ってバージョンアップを進めて行くこと.

注意事項

インクリメンタル開発では, 開発途中のプログラムを動く状態に保つことが重要である. 機能を少し追加するたびに動作テストを欠かさないこと!!

大幅に変更してしまってから動かそうとしても,失敗する可能性が高い. 動く状態に直すのに苦労し,時間を浪費するだけだ. 「急がば回れ.」

また,変更がうまく行かない場合, 計画自体を見直す勇気と妥協も重要だ.

なお,このテーマでは,実社会でのプロジェクトと同様に, 限られた時間内に一定レベル以上の作品(製品)を開発すること. 無理に「パーフェクト(完璧)」を目指すのではなく, 計画的・効率的に「コンプリート(完成)」を目指せ.

最悪の事態は,「未完成」で終わってしまうことだ. しかし,インクリメンタル開発を続けてさえいれば, いつでも,「完全に完成」とは言えないまでも, 少なくともある程度は動く状態にあるので, 「ある程度は完成」と言えるだろう. 「完全に未完成」とは言われないようにしよう.


本日の課題

オリジナルゲームの開発構想をレポートせよ. 次の事項について,できるだけ具体的に書くこと:

あくまで,現時点での予定でよい.後々に多少の変更はあって当然.

提出:


課題完了後の作業

構想がまとまったら,さっそく, 基本プログラムの作成に着手しよう.

まず,自分のアイディアが本当に実現可能かどうか? 重要部分について先に実験しよう. そしてもし,実現不可能と思ったら,早めに計画やテーマ自体を変更しよう.

プロジェクトのウェブサイトを作成しよう.


(c) 2018, yanagawa@kushiro-ct.ac.jp