Portfolio

GeomeTRIo

現在製作中のUnity製の2Dシューティングゲームです。

三角形の自機の頂点が弾の発射点となっており、発射点を切り替えながら遊びます。 発射点の切り替えを戦略的に活かすために画面下部から敵が出現するようにした他、 敵同士の衝突で弾が全方位に発射されるようにして、 画面下部からの敵を素早く倒す意味を持たせています。

GitHubリポジトリの「Release」からダウンロードできます。現在の最新バージョンは0.3.0です。

入手可能バージョン

  • mac_arm64(Apple silicon搭載Mac)
  • mac_Intel64(Intel Mac)
  • win_arm64(ARM版Windows)
  • win_Intel64(その他のWindows)
  • Intel Mac版とWindows(arm64, Intel64)版は動作確認を行っていません。

仕様

  • 正三角形の前方、左斜め後方、右斜め後方の3箇所の頂点が弾の発射口
    • 発射口を左右に切り替えながらプレイ
  • HPが尽きるとゲームオーバー
  • SPを消費して、無敵状態で回転しながら3方向に弾を発射するスピンアタックを発動(ボムに相当)
    • v0.3.0 – スピンアタック時の弾は、敵へのダメージ量が増加が増加する
    • v0.3.0 – スピンアタック時に画面内の敵の弾を一掃する
  • HPは1から10、SPは0から10の間で設定可能(HPの初期値は3、SPの初期値は2)
    • v0.3.0 – HPは一定スコア獲得で回復(回復量:1)
    • v0.3.0 – SPは敵に一定のダメージを与えたり、敵を撃破したりすることで増加するゲージを貯めると+1
  • v0.3.0 – 敵を倒すと、一定確率でパワーアップアイテムをドロップする
    • パワーアップアイテムを規定数集めると、レベルが1つ上昇する
    • パワーアップは、Lv.1 Normalから、Lv.10まである
  • v0.3.0 – パワーアップ効果例
    • 連射スピードアップ(自動連射オフの場合、一度に発射される弾の数が増加)
    • 弾の攻撃力が上昇(敵へのダメージ量の増加)
    • 弾の発射範囲の拡大
  • v0.3.0 – 各ステージごとに、各プレイ条件ごとに上位5つのスコアを記録し、ランキングを表示
    • HP, SPの初期値、自動連射の有無などの組み合わせにおいて、それぞれ上位5つのスコアを記録
  • v0.3.0 – ゲームパッドを使用する場合、振動機能を使用可能(設定で変更可能)
  • v0.3.0 – セーブデータは1つだけ
    • ゲームオーバー時やポーズ画面でメニューに戻る際に保存される
    • v0.3.0より前のセーブデータとの互換性はない

操作方法(Version 0.3.0時点)

アクションキー入力
移動方向キー(↑←↓→)またはWASDキー
決定(メニュー画面内)Enterキー
射撃ZキーまたはJキー
発射口切り替え(左へ)XキーまたはKキー
発射口切り替え(右へ)CキーまたはLキー
スピンアタック(ボム)Spaceキー

Gallery

2Dシューティングゲームのゲーム画面です。
2Dシューティングゲームのゲーム画面です。
2Dシューティングゲームのステージ開始時の演出です。
2Dシューティングゲームのステージ開始時の演出です。
2Dシューティングゲームのタイトル画面です。
2Dシューティングゲームのタイトル画面です。
2Dシューティングゲームのメインメニュー画面です。
2Dシューティングゲームのメインメニュー画面です。
2Dシューティングゲームのステージ選択画面です。
2Dシューティングゲームのステージ選択画面です。
2Dシューティングゲームのゲームオーバー画面です。
2Dシューティングゲームのゲームオーバー画面です。
2Dシューティングゲームのランキング画面です。
2Dシューティングゲームのランキング画面です。
2Dシューティングゲームの設定画面です。
2Dシューティングゲームの設定画面です。

Movie

長い動画になっていますので、適宜再生速度を調整してご視聴ください。
maOSのIntel-64 bit + Apple silicon版を使用して撮影しています。これは開発用であり、配布しているアプリケーションはIntel-64 bit版とApple silicon版に分かれています。
※ゲーム音声が流れます。

開発

開発期間: – v0.2.1 2025年9月6日 – 2025年11月9日、開発中: v0.3.0 – 2026年1月15日 –

使用言語: C#, v0.3.0 – TypeScript

使用ツール:
Unity(ゲームエンジン), Logic Pro(BGM, 効果音制作), Git, Git LFS, Gemini Chat
v0.3.0 – React Unity, React, Vite, Gemini Code Assist

使用サービス: GitHub

開発経緯・技術選定理由:
純粋なゲーム制作への興味から、Unityでのゲーム開発に挑戦しました。 Unityを選んだのは、C#の学習になると同時に、マルチプラットフォーム開発の経験が今後のゲーム以外のソフトウェア開発全般にも役立つと考えたためです。 また、v0.3.0からは、ゲーム内のUIをReactで開発するためにReact Unityを導入しました。 これにより、ReactでのUI開発の経験を積むとともに、ゲーム開発においてもモダンなフロントエンド技術を活用する機会を得ています。