ゴミ箱.net

汚物は消毒

ゲーム製作日記3 ライブラリの選定

1からゲームを作るとなると、いろいろと面倒が多い。
たとえば画像、音楽、オブジェクトの管理といったことを全部こなさなければならない。
さすがにそれはしんどいので、一部の処理は既存のライブラリを使って楽をすることにする。

○○ツクールみたいな大掛かりなフレームワークは使わない。使えばとても楽なんだろうが、今回は汎用的なゲーム製作のノウハウを身に着ける・ゲームに最適なプログラムの論理構造を研究するという目的もあるので、基本は自力で作成することにする。

今回はとりあえずDXライブラリを使う。
比較的低レベルなインターフェースであり、またあまり面白みのないわりに作るのが面倒な画像や音声の処理がひととおり揃っていて大変都合がいい。しかもC#でも使えるし。
そして、低レベルの処理はDXライブラリに任せ、オブジェクト管理や入力処理といった高レベルな処理を自作することにする。
DXライブラリはどう見てもゲーム作成用に最適化されたライブラリであるが、その提供する機能は画像処理、音声処理といった基本的なものばかりである。それだけゲームの構造というのは一般化しにくいということなのかもしれない。

ここでひとつ問題になるのが、DXライブラリにべったりな処理を書いてしまったら再利用性がぐんと減ってしまうのではないか?ということ。将来的にもっといいライブラリに乗り換えてもある程度コードを使い回せるようにしたい。
そのために、プログラムを特定のライブラリに依存しない部分と、DXライブラリに依存する部分に分けて、できるだけ前者の中で処理を作りこむようにする。
たとえば当たり判定の処理などはただの数値演算なのでライブラリ非依存の部分に落としこめるだろう。しかし、画像の表示はもろにライブラリ依存になってしまう。その場合、画像を表すクラスとしてライブラリに非依存な抽象クラス(またはインターフェース)を作り、それを継承してDXライブラリ依存の処理を作りこんだ具象クラスを作るようにすればいいだろう。
スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する