Categories
C++ Gameplay Engineering Team Based Projects UE4

Valkyrie Quest – Player Controller

Overview:

For this project, I was the lead engineer for player controller. I worked directly with 3 designers and 4 artists to develop the mechanics and implement all art assets for the player character in Valkyrie Quest.

Specifications:

Behaviors:

  • There must be 2 versions of the player, one without a weapon and one with a weapon.
  • Enters death state at 0 health and respawns after screen fades to black.
  • Health regenerates when the player is near the respawn stones.

Attacks:

  • Player has stamina system that is drained when attacking.
  • Light attack that is fast with a damage amount controllable by a variable as determined by the design team.
  • Heavy attack that is slow with a damage amount controllable by a variable as determined by the design team.
  • Combo systems with 2 different combo finishers.
  • Finisher light-heavy give the spear an ice effect that builds up a freeze effect on target and adds a damage amount controllable by a variable as determined by the design team.
  • Finisher heavy-heavy creates an ice area of effect in a straight line from the player at freezes hit enemies and a damage amount controllable by a variable as determined by the design team.

Movement:

  • Movement has adjustable speed controlled by a variable as determined by the design team.
  • Ability to vault over and on top of smaller objects.
  • Jump and climb up on designated objects.
  • The player can press space and a direction at the same time to quickly move forwards, left, right, or backwards.
  • If the player presses Space without holding a direction, they dodge backwards.
  • Sound plays when the player dodges.

Process:

  1. Brainstorming with team.
  2. Gray box enemy to include initial mechanics.
  3. Feedback from playtesting data and iteration.
  4. Refinement to prototype stage.
  5. Continued iteration and feedback.
  6. Final integration into the game.

1. Brainstorming with team.

Meeting with the combat design team, we discussed the creations of the the player controller and what capabilities the player should have.

3. Feedback from gray box playtesting data and iteration.

After finishing the gray box, the designers took the character and conducted playtests and found a few bugs.

  • Sometimes the player would vault parallel to the objects they were climbing over.

    Analysis of the behavior by following the flow of logic revealed this was do to the mathematical equation we were using to calculate the direction at which the player should face before climbing over an object. To fix this we corrected forward vector of the object to face the opposite direction of the vault, then the player would get that forward vector multiply it by -1 to get the correct facing direction for the vault to look correct.
  • The basic attack out sometime not trigger.
    We found that the algorithm for the attacks needed to be modified with a switch to keep track of which attacks could be used in a combo and to allow for attacks to work in general.

4. Refinement to prototype stage.

After iteration and playtesting, the player was ready for the finalized assets such as animations and creating/modifying the VFX – adding these awesome pieces of work to the player really brought this new enemy to life.

5. Continued iteration and feedback.

After finishing the prototype and the designers conducting more playtests, there were more bugs found.

  • The animations were not smoothly transitions and causing stuttering
    This issue originated in the animation blueprint, where the state-machine was not transitioning correctly. This was due to the state waiting for the time remaining in animation instead of waiting for time ratio remaining, making the adjustment to ratio time fixed the stuttering.

6. Final integration into the game.

We are proud of the final product. (Wolves were still in the works)

The Awesome Team!

Angeling Cruz-YenArt Director & Environment Artist & VFX Artist

Val RossCreative Director & Character Artist

Joe BraceEnvironment Artist & Lighting Artist

Oak ThaloengpongEnvironment Artist

Ebony Bryant Concept Artist & Character Artist

Elena RasskazovaRigger

Cody JohnsonLead Animator

Blake JohnsonAnimator

Josh BechtolAnimator

Suzanna JelsemaComposer/SFX

Lindy PlunkettTechnical Lead & Gameplay Programmer

Dustin KeplingerProducer & Gameplay Designer & Gameplay Engineer

Quinn Beierle AI Engineer & Gameplay Engineer & Gameplay Designer

Ted Sharygin AI Engineer

James DoolittleAI Programmer & Level Designer

Casey RogersDesign Director & Level Designer

Nate BorgerUR & UX

Laurel DarlingCombat Desginer

Jaden CorradoLevel Designer