お手軽タンクゲーム:自主製作ゲーム

OVERVIEW

移動・射撃だけの簡単操作ですぐできるタンクゲームです。 敵は強化学習で作成したAIで勝手に動いてくれるのでソロ専用です。

タイトル:お手軽タンクゲーム

プラットフォーム:WebGL (unityroom)

ジャンル:タンクゲーム

ゲームエンジン:Unity2021.3.8

制作期間:4カ月

担当:エンジニア (ゲームシステム・UI etc)

制作人数:1人 (企画・エンジニア)

試遊リンク:

Github:


■学んだこと

・強化学習型AI

ML-Agentsを使用した強化学習によるAIの作成方法を学びました。

一番苦労したことはAIが学習するためのカリキュラムを組むことです。

色々条件付けして報酬のやり取りをしていましたが、結局シンプルなカリキュラムが一番良く学習してくれることに気づけました。

↓学習の様子


・タイムラインとシネマシーンによるカメラ制御

シームレスなカメラ移動を演出として使うためにTimelineとchinemachineを使いました。

また、Timelineにシグナルやマーカーを設置し、スクリプトから関数を呼ぶことでゲームロジックに作用させることもしています。

(演出終了時にインゲームを開始させる、勝敗演出後にリザルトメニューを表示する等)


・InputSystem

いつの間にか新しい入力システムが導入されていたので使ってみました。

従来のInputSystemと違って以下がメリットになって使いやすかったです。

・MonoBehaviourと同じようにスクリプトから参照できるので、コンポーネント感覚で取り扱えること

・一つのアクションに対して複数の入力を登録できて使いやすい

(例えば「射撃」というアクションを作り、「Zキー」「左クリック」「パッドのAボタン」を登録しておけばそれらを押したときに「射撃」入力として認識してくれる)


■製作コンセプト

今回目指した内容は以下になります

  • 3Dゲームを作成する
  • 新規技術の習得(今回はML-Agents)