2004-12-06
[Easy Rocket]Easy Rocket 構想再燃
Easy Rocket とは自作しようと思っていた Ruby でのゲーム開発を容易にするためのライブラリの名前。主にグラフィック周りを扱うもの。
結局、自作する価値が見出せなかったので頓挫していたが、先日思いついたクライアントの分離案の考察を続けているうちに、もし作るなら「Easy Rocket」の名前が使えそうだと、このお気に入りの名前を思い出した。
クライアントの分離案とは、ゲームアプリのグラフィック(各種デバイス)処理とグラフィック(各種デバイス)に依存しない処理を別プロセスに分けるという構想。グラフィック処理を行う方に「Easy Rocket」という名前を使うことができる。
グラフィック処理の方をサーバーとして、これにクライアント本体からコマンドを送信する。プロセス間通信の方法はまだ何がいいかよくわからないが、何らかの方法を使う。
分離することのメリットは、
- ゲームのロジックに関係のない処理(各種デバイスの初期化、操作)が本体から確実に排除できる
- 分離したものはそれぞれ別プロセスなのでそれぞれにふさわしい言語で開発できる
- グラフィック(デバイス)を扱う方の処理はオープンソースのメリットを最大限に享受できる
プロセス間通信のコストがデメリットだが、ちょっと考えたところではこれまでに自分の作ってきたゲーム、
- 格闘ゲーム(アクション)
- バスケットゲーム(アクション)
- アバター系のゲーム(ネットワーク RPG )
では現実的に思える。ただ、コマンドの命令セットは十分に検証する必要がある。不利なのはシューティングゲームなどのシビアな当たり判定を伴う大量のオブジェクトを扱うジャンルか。
分離した場合、本体は Ruby 、グラフィックサーバーは C という感じするだろうから Ruby でのグラフィックス処理に悩む必要がなくなる。
このような考えは他にもあるのだろうか。