3.内部設計(フレームワーク編)
内部設計は「Sample Action Game」のクラス構成、ゲームフレームワーク、
各タスク(これはキャラクターや効果など一つの処理単位を表します)、効果処理、
各タスクを元にしたステージ構成について説明を行います。
この章から、徐々にプログラミング言語を用いた説明(主にクラス説明)に入っていきます。
またところどころ「プログラミングにおけるこだわり」や「コラム」等を記述します。
3.1.ゲームプログラミングとしての留意点
本プログラムのクラスにおいて、ほぼ全てが該当することなのですが、
本プログラムはできる限りのオーバーヘッドを減らすために、
オブジェクト指向設計によるデータのアクセス関数の関数呼び出しを
行うことを殆ど省いています(よく言われるgetter/setterみたいな関数ですね)。
他にもコレクションクラスにはスレッドセーフでは
ないものや(本プログラムは任意的なスレッドの生成を行わないため)、
プログラム内に唯一となるもののstaticデータ化などを努めて、
考えられる程度の実行速度を稼ぎ出す努力を行っています。
(ただし筆者がJavaの素人の為、本当にチューニングが必要な箇所は
多々あると理解しています)