-
最初に作りたかったもの
最初に作りたかったのは3Dの対戦型シューティングゲームだった。
なぜかというと、「相手が撃ったミサイルをよけた後すばやく相手の横に移動しレーザーを撃って
相手にダメージを与えた後強い武器でフィニッシュ」なんていうのが爽快感があってよさそうだったからである。
そして、とりあえず移動と相手を表示する部分だけを作ってみたが、うまくいかない。
全然リアルに見えないのだ。
別にワイヤーフレームだからリアルでないわけではなく、動きが不自然なのだ。
「3Dって難しいな」などと思いつつ、シューティングはまたの機会にして、2Dでもうすこし単純なゲームをつくることにした。
それが「相手に当たって外に押し出す」ゲームである。
-
まずはキャラから
ゲーム制作で最初にしたことが登場キャラの作成だった。
といってもゲームの背景を設定することが目的ではない。
むしろシステム面を考えて行ったことだった。
相手に衝突するゲームなのだから、当然衝突判定をしなければならない。
そしてキャラが回転して様々な方向を向く場合には、その判定条件を向きによって変えなければならない。
これが面倒そうだったので、どの方向を向いても判定が同じになるようキャラが円形になるようにした。
そして色々考えた末に生まれたのが下のキャラである。
なんかほのぼのとしたキャラになってしまった。
ゲームの世界観は全てこのキャラにあわせたものになり、フォントにまる文字をつかったり
メッセージが全てひらがななのもそのため。
-
移動処理はすぐ終わる
キャラの移動、衝突後の速度変化といった処理はそれほど苦労しなかった。
物理法則にもとずいて計算しているだけで、そんなに難しいことはしなかった。
また、普段はキャラの移動中には抵抗力が働くがアタック中と衝突後の硬直中は抵抗力を0にした。
これはゲームをおもしろくするためのものだ。
それからアタック中にもキャラの方向転換ができるのは対戦シューティングのときの「相手が撃った……」の影響である。
-
コンピュータの動き
コンピュータの思考ルーチンでは自分の位置を基準としたときの相手の位置のベクトルと
自分の向きを示すベクトルとの内積と外積をもとめている。
詳しくは説明しないが、これによって相手の方を向くことができる。
そしてアタックする場合には、相手の方にまっすぐ向かうのではなく、
それよりも少し画面の中央寄りに向かうようになっている。
こうした方が相手を壁に当てやすく、衝突後も有利な位置を保つことができる。
最初に思考ルーチンができたころはあまりに強すぎたので、反応をにぶくするなどして、適度な強さにした。
-
おはじき?
これがベーマガに掲載されたとき、「途中で向きが変えられるおはじきゲーム」
という紹介文が書かれていた。
最初に見た時は驚いたが、キャラが丸いのでおはじきを連想したのかもしれない。
あと説明文の見出し(「ストーリー」等)は送る時すべてひらがなだったのだが、1部カタカナになっていた。
校正にひっかかったのだろうか。