「ゲームプログラミング」の版間の差分

削除された内容 追加された内容
編集の要約なし
341 行
 
なので、必然的に、Visual Studio が開発環境を提供していない独自言語は、(その言語開発者が、よほど技術力が高度でないかぎり、)たいてい、その独自言語の実行方式はインタプリタ方式となります。
 
 
== 作業リストを作る ==
=== 作業リストの制作開始の方法 ===
ゲームを作る際、けっしてアタマの中であれこれとアイデアを考えるだけでなく、まずそのアイデアをテキストファイルなどに書き出しましょう。
 
このとき、とりあえず1週間~1ヶ月ていどで成果の確認できそうなアイデアだけにしましょう。
 
 
 
ついで、その数日で達成できそうなアイデアを、とりあえず実際に動作するプログラム・ソフトウェア(いわゆる試作品(プロトタイプ))にするために、何を自分が具体的にどんな機能をもったプログラム(簡単なプログラムでいい)を制作しないといけないかとか、
 
そういった、自分の「やるべきこと」のリスト(一覧表)を箇条書き(かじょうがき)で作りましょう<ref>[https://www.youtube.com/watch?v=J5FCZG7dfEY 挫折しやすいゲーム開発を完成まで継続する方法について話します。 - YouTube] 2020年3月17日に閲覧</ref>
 
 
IT業界で、こういうリストを「ToDoリスト」(読み: トゥードゥーリスト)とか「タスクリスト」いいます。(To do とは英語で「やるべき事」「やるつもりの事」のような意味)
 
わざわざ英語でいうのも面倒なので、私たちは日本語で「作業リスト」でもいいましょう。
 
 
 
さて、作業リスクを作るとき、作業項目は、具体的かつ単純な目標に分割します。
 
たとえば RPG の戦闘システムを作るとき、けっして
*「戦闘システムを作る。」(×、ダメな例)
と書くのではないです。
 
そうではなくて、たとえば下記のように具体的に
*戦闘画面のメッセージ表示欄および標準メッセージを作る。
*「闘う」コマンド選択欄を作る。(動作するコマンドはまだ「戦う」だけ。「逃げる」「魔法」などは音回し。)
*主人公1人用の「戦う」コマンド用のダメージ計算システムを作る。
*主人公以外の味方キャラのぶんの表示欄も戦闘画面に追加する。
*味方キャラが素早さ順に行動する処理を作る。
 
みたいに作業項目を細かく分割していきます。
 
こうすることで、作業がひとつずつ、比較的に簡単な作業に分解されていくので、ラクになります。
 
 
 
 
スケジュール帳ではないので、予定日とかは、ひとますは不要です。(たといスケジュール管理する場合でも、別のテキストファイルで行うべき。)
 
ネットの中にあるToDOリストの手本のなかには、予定日とかも書いたりするような細かいものもありかねませんが、しかしそういう細かい予定日とかは、とりあえずゲーム初心者には不要でしょう。
 
ともかく、作業リストのためにテキストに項目を書き出しをしたら、
 
次に、優先順位の順番どおりに、並び替えをしていきます。
 
 
こうして、とりあえずの最初の作業リストは完成です。
 
 
=== 作業リストの更新 ===
 
まず、プログラムをする前に、作業リストをながめて、そして作業リストの上のほうにある項目から、実際に作業を開始しましょう。
 
 
そして、とりあえず、どれかひとつの項目を、完了させましょう。
 
 
さて、作業項目がひとつ終わったら、その項目はけっして消さずに、「【完了!】」とか、なんとか、そういう情報を、項目の前または後ろにつけます。
 
たとえば
*【完了!】戦闘画面のメッセージ表示欄および標準メッセージを作る。
*【完了!】「闘う」コマンド選択欄を作る。(動作するコマンドはまだ「戦う」だけ。「逃げる」「魔法」などは音回し。)
*主人公1人用の「戦う」コマンド用のダメージ計算システムを作る。
*主人公以外の味方キャラのぶんの表示欄も戦闘画面に追加する。
*味方キャラが素早さ順に行動する処理を作る。
 
たとえ作業項目が終わっても、項目を消さずに、ゲーム完成までは作業項目の表示を残すのがポイントです。
 
のようになるワケです。
 
また、もし追加の作業が必要になったら、たとえばダメージ計算システムを作るために、ランダム計算が必要になって、自分がそのプログラム言語でのランダム計算に詳しくないなら、たとえば
*【完了!】戦闘画面のメッセージ表示欄および標準メッセージを作る。
*【完了!】「闘う」コマンド選択欄を作る。(動作するコマンドはまだ「戦う」だけ。「逃げる」「魔法」などは音回し。)
*Visual C++ でのランダム計算のとりあえず出来る方法について調べる。
*主人公1人用の「戦う」コマンド用のダメージ計算システムを作る。
*主人公以外の味方キャラのぶんの表示欄も戦闘画面に追加する。
*味方キャラが素早さ順に行動する処理を作る。
 
 
みたいに、項目を必要に応じて追加したりします。
 
 
 
さて、これからやる作業を検索しやすくするため、たとえば
 
'''やることリスト'''
*Visual C++ でのランダム計算のとりあえず出来る方法について調べる。
*主人公1人用の「戦う」コマンド用のダメージ計算システムを作る。
*主人公以外の味方キャラのぶんの表示欄も戦闘画面に追加する。
*味方キャラが素早さ順に行動する処理を作る。
'''完了した作業'''
*【完了!】戦闘画面のメッセージ表示欄および標準メッセージを作る。
*【完了!】「闘う」コマンド選択欄を作る。(動作するコマンドはまだ「戦う」だけ。「逃げる」「魔法」などは音回し。)
 
 
みたいに完了した項目を後回しにしたりとか、
 
あるいは
 
*【完了!】戦闘画面のメッセージ表示欄および標準メッセージを作る。
*【完了!】「闘う」コマンド選択欄を作る。(動作するコマンドはまだ「戦う」だけ。「逃げる」「魔法」などは音回し。)
*(いまココ→) Visual C++ でのランダム計算のとりあえず出来る方法について調べる。
*主人公1人用の「戦う」コマンド用のダメージ計算システムを作る。
*主人公以外の味方キャラのぶんの表示欄も戦闘画面に追加する。
*味方キャラが素早さ順に行動する処理を作る。
 
みたいに「(いまココ)」とか追加するとか、
 
人によってさまざまな方法の違いがあるでしょうが、どちらにせよ、たとい、ある項目が完了しても、その項目を消さないで残したままにしておいて「完了」とか追記するだけにしておくのがポイントです。
 
 
== ゲームのデバッグ ==