Unityゲーム開発スタジオ スタジオしまづ

初心者向けUnity講座・ 統計・機械学習関係についてつらつらと

マリオネット通信 #ユーザ参加によって発展したゲーム「マリオネットAI」

はじめに

以前,マリオネットAIの基本システムができるまでを書きました。当時は見かけも仕様も全くユーザ目線ではなかったのですが,Slackでユーザと交流しながらゲームを作っていく中で,マリオネットAIはだいぶゲームらしく進化しています。今回は,そのユーザによって改善された部分を紹介します。 

 

(以下で登場するユーザで,もともと友達 or 身内なのはnota3とryoだけです。)

 

マリオネットAIとは? 

ゲームAIを構築して対戦するゲームです。似たようなものにカルネージハートアーマード・コア(UNAC),ff12ガンビット)があります。

公式サイト:https://fromalgorithm.jimdo.com

 

 

 

Menu画面

実績

f:id:simanezumi1989:20170705174153p:plain

・実績の提案:fred

・実績の内容:tokyo

シンプルに対戦を楽しむだけのゲームだったので,やり込み要素はありませんでした。

実績が実装されることで,AI道場(シングルプレイ)をすべての組み合わせでクリアすることへの目標ができ,AI研究の方向としてゲームの完成度が上がったと感じています。

 

AI構築

f:id:simanezumi1989:20170705174429p:plain

・自動送信を停止:ARFFI04,真那斗,(多数)

「AI道場をやりこみたいけど,自動送信されるのでやり込めない」って話が出てきたことにより実装しました。もともとは対戦(オンライン要素)で広告を出して収益を上げていたので,「AI道場よりも対戦に注目して欲しい」っという考えがあり,なかなか実装できなかったのですが,有料化に伴ってその制限がなくなりました。

 

対戦(オンライン要素)

f:id:simanezumi1989:20170705175209p:plain

 ・ランキングマッチ:son59

・ランダムマッチ:tokyo,fred(いいっすねぇ発言)

初期はランダムマッチのみだったのですが,「ランダムマッチだと戦った相手への対策(試行錯誤)がしにくい」ということでランキングマッチを実装しました。

ところが最近になって「ある程度の緊張感が欲しい」っという要望があり,ランダムマッチも表示することで対戦の面白さがぐっと上がりました。

AI道場(シングルプレイ)

f:id:simanezumi1989:20170705175444p:plain

 ・チュートリアル:nota3,jester(多数)

いつも作らない理由に

「調べてわかる人がやればいい」

「興味のある人はききに来る」

「現にプレイできている人もいる」

をあげていましたが,一番の理由は「作れなかった」です。特に以下の方法がわからず悩んでいました。

・段階的に説明する

・ユーザが予測不可能なことをしてもちゃんと道筋に戻す

 

「赤マル」で導線を作ることと,AI道場でデバッグ機能を実装することでなんとか作れましたが,ゲーム性と全く関係のない部分に何週間も使うので,今でもあれは地獄のような実装作業だと思っています。

その他

・ミュート(音消し):fred

Androidで音楽をききながらプレイしたいという要望があり実装しました。

AI構築画面

Plan&Slot系(Plan:ユニットの思考を決めることろ, Slot:ユニットの集まり)

f:id:simanezumi1989:20170705180437p:plain

・Planのコピー&ペースト:(多数)

・選択Planに色:shigural

  

f:id:simanezumi1989:20170705180718p:plain

・Slotのコピー&ペースト:(多数)

・Slot名の変更(PC版):(多数)

・Slot数の増加:(多数)

PlanやSlotのコピー&ペーストやSlot名の変更は多くの方から言われていました。ただ,選択状態をどのように実装していいのかわからず,ずっとできずにいました。そんな中でのshiguralさんの「選択状態に色をつける」提案は,私の中では革命的でした。

 

Plan内系

f:id:simanezumi1989:20170705180948p:plain

ガンビットの提案:みっきゅん

・Plan内の行の上下移動:taiyoproject

・条件の追加:shigural,ROOT7,Gongon,(多数)

 

戦略性に乏しかったところを,みっきゅんさんからガンビットを教えていただきました。

対戦画面

f:id:simanezumi1989:20170705181255p:plain

・ターン制(待機時間システム):みっきゅん

・ユニットのパラメータ(HP,攻撃力):ryo

・実行Planと行の表示:sansato,shigural

・行動の表示色:sansato

Androidのカメラ:nota3,fred

・ユニット位置の色:tokyo

・対戦終了時の結果表示位置:tokyo

・対戦終了時の結果表示色:nota3の母

・対戦中の相手の名前表示:nota3

 

もともとリアルタイム対戦だったのですが,戦略を把握しやすくするために待機時間システムをみっきゅんに提案していただきました。

パラメータについては,もともと攻撃力1から始まり,後半攻撃力が上がったことで勝敗に差がつく仕様にしていたのですが,ryoに「敵を倒すことへの爽快感が欲しいから4回攻撃したら倒せるぐらいがいい」っということを言われ今でのそのままです。

 

その他

・翻訳:ryo

・音楽提供:ryo

・レビュー:tawashix

 

最後に 

次回マリオネットAIの音楽提供をしてくれたryoによる,BGM解説をしていただきます(本人にはまだ伝えていない)。

 

リンク

公式サイト:https://fromalgorithm.jimdo.com

 ユーザコミュニティ:Join Marionette on Slack!

tawashixによるレビュー:中毒性の高いAI構築対戦ゲーム『マリオネットAI』レビュー - 夜中に前へ