オブジェクト指向を始めてみたのは確かC++が出来始めた頃の月刊マイコンだったと思う。その後、PHPでオブジェクト指向に触れライブラリ作成の為の具体的なオブジェクト指向のイメージは脳内に出来上がったのだが
昔から、暇つぶしでゲームプログラミングでのオブジェクト指向を思案しているが、基本的には昔からの(ファミコンの頃のゲームシステムである)タスクシステムのオブジェクト指向への適応だ
タスクシステムは、ゲームのキャラクター一つ一つをオブジェクトとして扱いデータ化する。それを分類して処理の順へ並び替えて処理を行う
なので、オブジェクト指向で適応すると、
・ゲームのキャラクターを分類し、マイキャラクター、敵キャラ、タイマー管理などの処理の種類に分類し、classなどでデータベース化を行う
・処理の順位に合わせてオブジェクトの優先順位を決める
・優先順位でタスクシステムと同じ発想でオブジェクトの行動メソッドmove()を行い、drow()で画面表示を行う
で、理論的にはプログラミングできるはずだ
オブジェクトでなくても、構造体や配列によるデーターベースを作成し、似非オブジェクト指向でも、以上な実装は可能だと思うけど
今作っているのは落ちものパズルゲームなので、そうプログラミングを行ってないので、実践での実装は行ってない「理論」でしか無いですけど
ゲームでのオブジェクト指向は、どちらかと言えば人工知能が単位の「エージェント指向」になると思っている。ゲームのオブジェクトは毎秒60コマでキャラクターの人工知能が、ほぼ同期して思考し行動するのでだ
なので、「エージェント指向でのゲームプログラミング」と言うタイトルの方が正しいんだよな
とりあえず、以上が、くぼひさの脳内でのオブジェクト指向、もといエージェント指向なゲームプログラミンの『理論』でした
0コメント