jpnAction - B477042/GraduationProject GitHub Wiki

About Player's Action

プレイヤーを具現化する時に集中した部分と企画です。

Character Asset

攻撃方式

パソコン環境を考慮し、無双類ゲームで使用されている操作方式を採用しています。
マウスのボタンだけを利用して様々なアクションを表現できる方式なので操作難易度を低くすることができます。 使用者の疲労度を軽減することができるためこの方式を採用しました。

ノーマル攻撃

攻撃モーションを始めると、武器モデリングにかぶせておいたCollisionのprofileを変更して、武器に触れるすべての物体を攻撃するようにしました。
プレイヤーの攻撃速度が遅くなり、武器に触れるとダメージを与えるというハンデがあるので、それに対する報酬として爆発を追加しました。 当たったという表示を表すHitEffectをSkillとして活用して、当たった位置を中心に爆発を起こさせました。
複数の物体を同時に攻撃する場合、誘爆ダメージが入り、より強い攻撃を与えることができます。

チャージ攻撃

スキルとして活用可能なモーション3つを活用して作成しました。

  • 最初は合わせにくい刀を考慮した攻撃です。 前方2mをスキャンして探知されるEnemy Characterに対して固定ダメージを与えます。 そして追加で爆発ダメージまで与えるようにしました。
  • 2番目はバフを実装しています。 モンタージュの再生速度を上げ、一定時間、よりスピーディーな攻撃ができるようになります。
  • 三つ目は自分の周辺に対する広域攻撃です。 このスキルを使うためには通常攻撃を3回実施する必要があるので、周辺をスキャンしてEnemyCharacterに強いダメージを与えます。

Fury System

このゲームに遠距離攻撃をするキャラクターが多いので、追加したシステムです。 攻撃を受けるとダメージに比例してゲージが上がるように実装されています。 使用時、すべてのゲージを利用してスキルが発動します。 Playerの位置を中心に10103mボックスでスキャンし、敵がいればダメージを受けるようにしました。

Stamina

Playerが戦略的に動かせるようにしました。 Staminaを利用して回避、ガード、ジャンプ、ランニングを使用できます。 回復のためにTick関数を利用するためにその部分は気を使いました。 Staminaが使用されるとTickが有効化されます。 Staminaが完全に回復した場合はTickを非活性化しました。 Staminaをゼロまで消費した場合、ハンディキャップに完全に回復するまでランニングやガードができなくなりました。

作成する際に難しかった点

作ることについての苦労はありませんでしたが、UE4についての知識が不足していたため、作業の効率性で問題が生じていました。 エディタで呼び出してもいい作業を、C++コードとして作成する場合が思ったより多かったです。 しかし、直接C++で具現しながら、どう駆動されるのかを考えるいい経験になったと思います。 製作を通して、エンジンでどのような機能を提供しているのかを勉強する時間を持ちました。

作成する際に集中した点

近接攻撃をするアクションゲームはどんなアクションが似合うかに焦点を合わせました。