top of page
image.png

Dvergatal

This game can be downloaded and played from Itch.io

As part of a collaborative university project involving a diverse team of seven members from various disciplines, I served as the Lead Gameplay, AI, and Animations Programmer for player and enemies within the game.

Our development approach followed the Agile methodology, featuring weekly sprint meetings to monitor progress and ensure project alignment. To efficiently track tasks and manage workflow, we utilized Jira and Confluence. Source control was managed through GitHub, facilitating remote collaboration and ensuring seamless integration even when team members were unable to attend in person.

For the core mechanic of the game, we aimed to recreate the iconic axe-throwing feature from God of War (2018) within a Player versus Player (PvP) capture the flag setting. Developed using Unreal Engine, the implementation involved a combination of C++ for core functionality and Blueprints for engine-specific value assignments. Notable features integrated into the axe mechanics included:

  • Flag Stealing: Enabled the player to capture the flag when recalling the axe.

  • Rotational Dynamics: Added rotational effects to the axe during throws.

  • Particle Effects: Incorporated visual effects to indicate the axe's trajectory.

  • Distance-Based Damage: Implemented a damage reduction system based on the distance traveled by the axe.

Additionally, basic animation programming was employed to trigger the axe-throwing action. Extensive polishing was undertaken to refine the aiming mechanics, utilizing various blend spaces to accommodate different movement directions and enhance gameplay precision.

This comprehensive approach ensured that our game not only captured the essence of the original mechanic but also provided a polished and engaging player experience.

The wisps use a state machine with four states: Idle, Movement, Attacking, and Death. In the Idle state, they stay still until activated. In the Movement state, they navigate to random points using nav meshes and an AI controller. When a wisp detects the player, it switches to the Attacking state, where it moves quickly to attack until the player is defeated or moves out of range, at which point the wisp returns to Idle. If a wisp’s health drops to zero, it enters the Death state and is removed from the game.

Wisps are spawned at designated points to control their numbers and prevent overcrowding in any part of the map, ensuring balanced gameplay and performance.

bottom of page