パルティキュラ Particula WebGLの3Dシューティングゲーム

パルティキュラ Particulaとは

先月公開したWebGLによる3Dフライトシミュレーションにゲーム要素を追加して作成したシューティングゲームです。グラフィック描画はWebGLを利用し、主要なWebGLライブラリであるThree.jsを使用してコードを書きました。

タイトル表示など本編以外の作り込みにどうしてもゲームエンジンが必要だったため、それらをenchant.jsで作成。始めはゲームエンジンにPhina.jsを使おうかと思っていたのですが、Canvasの描画方式で相性が悪く結局enchant.jsを使うことに。ゲームエンジンと本編でrequestAnimationFrame()を二重で起動するため若干重くなりました。

Windows7ChromeFirefoxInternet11の最新版で動作しました。Chromeの使用を推奨します。モバイル環境ではプレイできません。

遊び方について

操作方法はキーボード中心です。ただし、マウスで特定の動きを操作することもできます。「W」と「S」キーで機体の前進速度を変更します。ゲーム開始時、機体は停止状態「ニュートラル(N)」で始まります。三段階までシフトチェンジが可能で、後退動作はできません。左右上下への平行機動は、左右の動きが「A」と「D」に、また上下の動きが「R」と「F」に割り当てられます。これらは遅い速度に調整されているのであり使われないと思います。次に十字キーですが、これらは機体の旋回運動に割り当てられていて、機首のピッチが上下キーに、ローリング(旋回)が左右のキーに対応しています。また、ヨーイングは「Q」「E」で可能です。

「Z」キーで機体の使用武器を替えることができます。初期装備は近距離用の武器で、切り替え後は遠距離用になります。トグルボタンのようにひとつのキーで切り替えをします。その他、「N」キーはフルスクリーン対応のブラウザでフルスクリーンモードに切り替えます。「M」キーはゲーム中のBGM、効果音のオンオフを切り替えます。「P」キーを押すとポーズ画面に、その画面でさらに「O」キーを押すと、プレイヤーの任意のタイミングでゲームを終了させることができます。

ゲーム画面の空間はすべて無機質な幾何学図形で構成されていて、3D酔いしやすいと思われるので、こういうのが苦手な方は注意してください。空間の遠近感を出すために十字の星(ポイントクラウド)が無数に配置されています。空間を漂うオブジェクトにも目印のためにポイントクラウドをまとわせています。

ゲームの目的は、赤い十字星をまとった物体(リビングオア)を破壊することです。搭乗可能な機体は現在2機、それぞれ異なる武装をしています。ゲーム内にボスは存在せず、機体を壊されないかぎりゲームを続けることができます。まだ登場キャラクターが少なく単調な内容ですが、今後改良していきたいと思います。agar.iodiep.ioみたいに対戦機能があれば面白いかもしれないですね。