SyntaxHighlighter

2012年4月8日日曜日

時を操る程度の能力

最適化の思わぬ副産物。

戦闘の情報をScene(場面)とStream(流れ)に分割した。
通常プレイヤーが見るのはSceneを1秒間に60個描画した画面。
だいたい、1FにScene1個が対応するんでいいと思う。

Scene同士を適当に関連付けたのがStream。
普通は作成された順に並んだSceneがStreamを形成する。
Sceneは使い捨てるのが普通なので、Streamはゲームには必須ではない。
でもこれが意外と便利。

例えばAIが「ある時点のSceneを元に思考する」ということが簡単に可能になる。元々組んでいたAIシステムだと、その時点の情報を元に判断するか、ある時点の情報をAI自身が保存しておくしかなかった。
でも、Streamによって全AIが記憶を共有できるようになる。
理不尽な挙動のAIへの罠でもある。
また、これによってAIの遅延評価も可能になる。認識できないキャラクタは別にリアルタイムで計算する必要もなく、必要になったら今まで計算してた風に表現すればいい。
メモリが大量にあって、CPU資源が足りない状況なら有効だと思う。

あと、過去の世界に簡単にアクセスできるようになったので、プレイヤーは時を操ることが出来るようになった。この概念は非常にエキサイティングなんだけど、どうやってゲームにするんだよっていう。ある時点でタイムポータルみたいなの設置して、それ以降は過去に簡単にアクセスできるとかでもいいけど、それって面白いのだろうか。自分がいない過去が勝手にStreamされていくのは面白いかもしれない。遅延評価ならメインのゲームに影響与えずに実装できそうだから試してみようかな。

【追記】
・刺し穿つ死棘の槍なんかも実装できますね
・キャラクタを逆再生もできるか
・意外と面白いかもしれない

0 件のコメント:

コメントを投稿