turnouyou

【UE】ターン制バトル応用|勝敗集計と最終リザルトのUI表示

みなさん、こんにちは。

NakaRyoです。

今回は、Unreal Engineで実装するターン制システムの応用編として、

「全ターンの勝利数を記録し、最終リザルト画面に表示させる方法」を解説していきます。

Unreal Engineのブループリントを活用し、ターンごとの勝敗を集計して最終的な結果をUIに反映させる仕組みを構築していきます。

事前準備

ターンバトルシステムの基本的な実装については、過去記事をご参照ください。
今回の記事ではその応用として、最終的な勝敗リザルトを表示する機能を追加していきます。

導入

変数の作成(BP_GameMode内)

まずは、勝利数を記録するための変数を新規作成します。

  • PlayerWins:変数型 Integer、デフォルト値 0
  • CPUWins:変数型 Integer、デフォルト値 0

役割:ターンごとの勝利数を記録し、最終的なリザルト表示に利用します。

ResolveRound 関数ノードの修正

次に、ResolveRound ノードを修正していきます。

修正点

  • Branch①(Player勝利時)
    • Trueピン → Set Player Wins に接続
    • Set Player Wins の実行ピン → Show Result Text に接続
    • Set Player Wins の Itemピンに Add ノードのReturn Valueを接続
    • Add AGet Player Wins を接続
    • Add B に「1」を入力
image
  • Branch②(CPU勝利時)
    • Trueピン → Set CPU Wins に接続
    • Set CPU Wins の実行ピン → Show Result Text に接続
    • Set CPU Wins の Itemピンに Add ノードのReturn Valueを入力
    • Add AGet CPU Wins を接続
    • Add B に「1」を入力
image

End Game (関数)修正

最終リザルト表示のため、End Game 関数を修正します。

ノード設定手順

image

End Game 実行ピン → Branch① 実行ピンに接続

Branch① の Condition → Greater(>) のReturn Valueに接続

  • Greater A:Get Player Wins
  • Greater B:Get CPU Wins

Player勝利時(Branch① True)

image

Show Result Text に接続

Format Text 設定:"Player {0} - CPU {1} : PLAYER WIN"

  • Format Text 0 → Get Player Wins
  • Format Text 1 → Get CPU Wins

CPU勝利時(Branch① False → Branch② True)

image

Branch①のFalseピンとBranch②の実行ピンを接続

Branch②のconditionピンとGreater(>)のReturn Valueピンを接続

Greater AピンとGet CPU Winsを接続

Greater BピンとGet Player Winsを接続

image

Show Result Text に接続

Format Text 設定:"Player {0} - CPU {1} : CPU WIN"

  • Format Text 0 → Get Player Wins
  • Format Text 1 → Get CPU Wins

引き分け時(Branch② False)

image

Show Result Text に接続

Format Text 設定:"Player {0} - CPU {1} : DRAW"

  • Format Text 0 → Get CPU Wins
  • Format Text 1 → Get Player Wins

動作確認

リザルト表示の前に、WBP_BET のデザインタブで以下の調整を行ってください。

  • 位置調整
    • X:0
    • Y:-90
  • フォントサイズ
    • 100

デフォルト位置のままではリザルト表示が見切れてしまうため、事前に修正が必要です。

image
image

最終ターン時の表示

最終ターン終了後、画面右端に最終リザルトが表示されていれば成功です。
これで、ターンバトルシステムにおける「勝敗の集計」と「最終結果の表示」が完成しました。

image

まとめ

本記事では、Unreal Engineのブループリントを使ったターン制バトルシステムにおいて、

プレイヤーとCPUの勝利数を集計し、最終リザルトを表示する方法を解説しました。

基本的な流れは以下の通りです。

  1. 変数作成(PlayerWins / CPUWins)
  2. ResolveRoundの修正(勝利数のカウント処理)
  3. End Gameの修正(最終結果の判定と表示)
  4. WBP_BETのUI調整(表示位置とフォントサイズ)

この仕組みを導入することで、ターンごとの戦略性に加え、ゲームの達成感や緊張感をプレイヤーに与えることができます。

今後は、さらに演出を加えたり、結果表示にアニメーションを導入することで、

より没入感のあるゲーム体験へと発展させることも可能です。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です