リアルタイムシュミレーション(RTS)世界の構築アプローチ : その1

はじめに

ワードプレス初心者でまだプログラムコードを載せることもできませんので最初は少し大まかなことを書いてみようと思います。上位層の考え方とも言えるかも知れませんが、まあ書いてみます。意味不明だったらすみません。

何を創ろうとしているのか

自分が何を創りたいと考えているかというと、自分が目撃してみたい瞬間を、リアルタイムシュミレーション世界を構築することで実現しているということだと思います。

その目撃したい世界のイメージとしては昭和30年代の東宝特撮の総天然色シネマスコープの世界です。いちばんすきなのは海底軍艦ですが、地球防衛軍もすばらしすぎます。加えてミッドウェー海戦での四空母全滅の瞬間とかも何回も見せてもらったような。

そういったものをリアルタイムシュミレーション世界として、世界中の人のスマホの中に実現するということをやっていることになります。

自分はあまりゲームが好きなわけではなく、また上手でもないので、そういう自分が創るアプリにはゲーム性という視点はかなり薄くなっています。逆に創りだしたリアルタイムシュミレーション世界という意味ではかなり深いものとなっていると勝手に思っています。

アセットストアを含めたUnityの存在が、このことを可能としてくれていますが、まあ何をどう考えてどう創っているのかとかを紹介することで、興味を持って、もっともっとすごいリアルタイムシュミレーション(RTS)世界を構築してくれる方が出てきてくれると嬉しいです。

RTS世界の構築アプローチ その1

どんな世界を創りますか

自分が最も楽しみたいというのがあるので、まずはどんな世界を創るのかを決めてます。ここでは戦艦決闘の世界としましょう。

登場乗物や人を入手します

次にその世界に登場する乗物や人のモデル(メッシュ)を入手します。アセットストアで購入するとか自分で作成するとかです。ここでは戦艦のモデルを入手します。

まずはUnity 3D空間内で動かしてみます

代表的なモデルに簡単なコードを追加して3D空間内を動かします。戦艦の動き、カメラの動き、海の動き、波や航跡や空や雲や何でも少しずつ動かしながら、東宝特撮総天然色シネマスコープ的な映像が得られるように、あーでもない、こーでもないとコードをちょこちょこ加えながら動作および映像確認を行います。このフィージビリティスタディフェーズがいちばん楽しいですね。小さく創って動かしながら結果を確認しながら思いのままに継ぎ足していけるのがunityのすばらしいところです。ちょっと創るとすぐに気持ち良く動いてくれるのです。

自分が目撃・体験してみたい瞬間を見つけます

いろいろといじりながらシュミレーション世界としての魅力ある動きや映像をさぐりながら、例えば砲塔制御や砲弾や水柱や爆発とかの効果等を加えていきます。登場乗物や登場物等が見えてきてその組み合わせで何かすばらしい世界が構築できるように感じてきたら、少しアプリ全体構成を考えて、これまで作成してきたものをプレファブを中心に整理します。

自分の場合にはこのあたりが最も面白い作業です。

登場物達を準備してRTS世界の中で動かし始める

整理されると、もうこのアプリの中では多くの登場物達がゲームオブジェクト(GameObject)として活き活きと動き出します。例えば「航空母艦決闘空間1942」では6隻の空母、2隻の戦艦、10隻を越える巡洋艦や駆逐艦、艦載機600機以上をプレイヤーが所有し、敵側も同じ数の空母や戦艦や艦載機を持っています。これを500km離れた海域に存在させたうえで朝から夕方までの時間に渡り自律的動作をさせています。プレイヤーの方はその全体の動きの中の一部のみを体験・目撃することとなりますが、プレイヤーのスマホの中に創りだされたリアルタイムシュミレーションワールドでは、その全ての事象が制御され動き続けているのです。そう考えるととてもすてきなことと思います。

その1の終わりに

途中ですが、まずはここまで書いてみました。はっきり言って楽しいのはこの前半部分ですかね。それでもまあこの記事を書いたことで自分の考えも少し整理できました。それぞれの項目の中にはより具体的なアプローチが存在します。順々に書いていければ良いと思います。

それでは今日はここで失礼します。