どうも、卒論提出まであと10日。ニックさん(@nikku12312)です。
本日はロボット技術研究会のゲーム制作集団であるCG^2に所属している私が
卒論からの現実逃避に作っているゲームの進捗についてお話します。

現在制作しているのは、「Boidsアルゴリズムを用いたRTS(リアルタイムシミュレーション)」です。
開発環境はJava+OpenGLで、実装はJavaScriptを用いてスクリプトを書いています。

ss_5

簡単に言うと、上の画像のように個々のオブジェクトが
相互作用を及ぼし合って群れをつくるゲームです。
現在は群れを作って、群れを指定ライン上を移動させることができるようになりました。

群れの生成として使っているのは「Boidsアルゴリズム」と呼ばれる手法です。
ss_9
簡単には個々のオブジェクトが
  • 結合
  • 整列
  • 引き離し
という3つの簡単なルールに従って移動するというようなアルゴリズムです。
この3つのルールの重み付けを適当に行うことによって、個々の動きは単純でありながら
複雑な群れの挙動を表すことができるようです。

調べてみると合意形成やら非平衡統計力学やらなかなか奥の深そうなアルゴリズムですが、
ゲームなんで難しいことは抜きにしてとりあえず動くものを作ってみようと思います。


現在はBoidsの群れ形成は大凡終わったので、
2Dマップとして作られた地形情報を3D表示することに挑戦しています。

ss_8

4月のロ技研の新歓展示には形になっていると良いですね。
あと卒論も無事に書き終えられたら良いですね。