Unreal Engine学習記録: BluePrintオンリーでFPSゲームを制作④
20220309、今日の進捗
・銃をセミオート射撃できるように改良。後に改良を加える際には、銃の種類に応じてセミ・フルを切り替えられる様な設計を考案しておく。
・銃関係のゲーム性を充実させる。具体的には、残弾数をHUDに表示、弾丸をフィールド上で拾える等々のゲーム的要素を追加する。
・主人公側にAddAmmoという関数を作り、弾丸のアクター(AmmoPickupActor)からキャストして弾を拾える機能を追加する。
・主人公が敵キャラにダメ―ジを与えた時の反応を追加する。具体的には、HPが主人公の攻撃によって減った際に移動目標を主人公に変え、自爆する様設定する。
20220311、今日の進捗
・GameModeを設定する。GameModeは、ゲーム全体の進行状況などを管理するのに用いるアクターである。
・GameModeの情報を画面に反映するための新しいHUDを制作する。ゲームオーバーまでのカウントダウン、ドローンの残機数などを表示させる。
・Drone_BPのクラス数をゲットし、HUDに反映するという処理を加える。ドローンの数が減ったときに新しい残機数を表示し直す関数も追加し、ドローン側からキャストして使うようにする。
・ワームアップと時間制限、プレイヤーの勝利条件と敗北条件を設ける。ドローンを全滅させればプレイヤーの勝利、時間切れ・HPが0になるとプレイヤーの敗北になる。
・Enumsという名前付きのInt型係数を使用する。主にゲームループ・プレイヤー・敵キャラクターの状態を管理するのに使われる係数である。
・GetGameTimeInSecondsという機能を使ってWarmup時のカウントダウンを実装する。カウントダウン中は入力を受け付けないよう、DisablePlayerInputという関数を作ってそちらにも対処する。
・残り時間をTime形式にして表示できるようにする。
・ゲーム開始時、ゲームオーバー時の状況を表示するアナウンスメントを設ける。
・プレイヤーの勝利→ドローンを全滅したかをチェックする
・プレイヤーの敗北→制限時間が0になるか、プレイヤーのHPが0になるかをチェックする
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?