Categories
Artificial Intelligence Behavior Trees Cross-Discipline Collaboration NavMesh system Unreal Blueprints Unreal Engine 4

Valkyrie Quest

Artist: Angeling Cruz-Yen Valkyrie Quest Copyright 2021 DigiPen Institute of Technology

Valkyrie Quest is a 3D fast-paced combat game using a combo system with a spear to fend off enemies. Set Post-Ragnarok in a land fraught with enemies and danger, the player goes on a quest to discover her true destiny as a Valkyrie.

This game was created using Unreal Engine 4 as part of a 2 semester long project beginning in the Fall semester of my Junior year. I worked with a team of five engineers, nine artists, five game designers, and a musician / sound designer.

My Contributions

While working on Valkyrie Quest, I was mainly responsible for communicating with the Designers to implement and iterate upon gameplay features, including enemy AI and the “Leading Raven.”

My Responsibilities

  • Collaborating with design team to implement and update enemy AI for multiple enemy types using behavior trees.
  • Developing enemy AI systems that are monitored and directed by an AI Manager to create more engaging combat encounters.
  • Working with designers to implement the “Leading Raven” mechanic and iterate based on player feedback to assist the player in navigation.
  • Assisting other engineers in refactoring and producing robust code using code reviews and pair programming techniques.
  • Communicating with art team to implement animations on enemy AI and “Leading Raven.”
  • Assisting in other areas as needed, such as reformatting menus and updating the player controller.

Unreal Engine 4 Tools and Systems Used

  • Function Delegates
  • AI Behavior Trees
  • Messaging system
  • NavMesh system
  • Timelines
  • Niagara Particle Systems and Emitters

Examples of My Work

The “Leading Raven” was implemented to lead the player through our game and make sure they didn’t get lost or turned around after combat.

The Basic Wolf enemies are coordinated through an Enemy Manager, which allows communication between each enemy as well as ensures that the player won’t be swarmed by too many enemies at once. Each enemy on its own stays back from the player and encircles them until it is that enemy’s time to attack, where it runs in and attacks the player before retreating and resuming its previous behavior.