大阪工業大学 情報科学部 宇宙物理・数理科学研究室 2018年度 卒業研究
シューティングゲーム 『アインシュタインインベーダー』の作成
B15049 関谷光一郎
2019/2/27 作成
概要 / 目次 /
概要
本研究では,実際の物理法則に基づいて運動する物体を取り入れたゲーム作成を行った.具体的には,万有引力を受けて運動する物体を表示し,それをシューティングするものだが,教育教材としても有用なものを目指した.ゲーム作成ツールであるUnityを用いて,運動の様子や,表示方法をプログラムした.
ゲーム内容は,プレイヤーが的を狙って球体(惑星)を発射するというシンプルなシューティングゲームに,万有引力を及ぼす球体(太陽)やブラックホールを追加し,惑星の軌道を邪魔する障害物となる.したがって,プレイヤーは重力で球体の軌道が変わることも考慮して狙う必要がある.光を放出しないブラックホールは見ることができないので,レーザーを発射してその曲がり具合でブラックホールの位置を推定する必要がある.
教育教材としての内容は,2つの利点を挙げられる.1つ目は,万有引力のリアルなシミュレータを作成でき,様々な条件での実験が行えるということ.例えば楕円軌道と双曲線軌道の発生条件違いや,ケプラーの法則の理解に有用なことである.2つ目は,シューティングゲームとして遊ぶ熟達者にとっても,万有引力を一歩進めた,相対性理論の影響を考察する機会を与えることである.2体間の距離の3乗に反比例する万有引力の式(5次元世界の重力)のプレイモードも実装している.
この2つの利点があることにより,このゲームの対象者は子供から大人まで幅広く,様々な目的で利用することができる.また,ユーザー・フレンドリーにするために,以下の工夫をした.操作性について,惑星の発射速度やタイミングを自由に調整できるようにした.表示方法について,斜め上からの視点や,惑星からの視点で,楕円運動の様子を観察できるようにした.
![]()
![]()
図1 球体の公転運動 図2 ブラックホール付近での光の軌道
図1では,惑星を発射した時の万有引力による楕円軌跡が視認できるように, 表示を工夫した.また,時間変化する様子から,Keplerの惑星運動の法則(面積速度一定の法則)を満たすことが確認される.
図2は,ブラックホールの周りでレーザーを発射した時の図である.光の軌跡は一般相対性理論の式を解いている.説明のためブラックホールの位置に赤い円を描いて可視化できるようにしたが,実際の画面には表示されない.レーザーの軌跡は光源,観測者の位置を,画面外右端から左端にしてRunge-Kutta法で積分したものである.衝突係数を変更することで,光の曲がり方が変わってくるがその詳細は論文で議論している. 本シューティングゲームは最終的にWebで公開する予定である.
目次
- 序論
- 背景
- 本研究の目的
- 本研究の構成
- Unity でのゲーム作成
- Unity について
- ゲーム概要
- 発射台の作成
- 発射する球体の作成
- 球体の速さの表示
- 的の作成
- 画面描写モード(カメラ)の切り替え
- サブカメラの作成
- サブカメラとメインカメラの比較
- 球体視点のカメラ
- 球体の軌跡の描写
- 万有引力で動く物体実装
- 万有引力のプログラム
- 楕円運動の考察
- 2つの万有引力の考察
- 5次元世界モードの実装
- ブラックホールの実装
- 万有引力のプログラム
- 擬ニュートンポテンシャルのプログラム
- ブラックホールを周回する光
- 光の軌道の計算方法
- 光の軌道の数値解析方法
- 光の軌道の計算結果
- 光の軌道の実装
- まとめ
アインシュタインインベーダー
- 操作方法
移動:矢印キー 発射:Z (長押しで速度アップ) レーザー発射:L (ブラックホールがあるステージのみ)
- カメラ切り替え
ノーマルカメラ:1 遠距離カメラ:2 比較カメラ:3 球体カメラ:4 (マウスをドラッグして見渡せる)
※5次元世界モード:0
- 卒業論文はこちら→, 卒業論文[pdf]