Asgard

In Spring of 2018, I led a team of 2 programmers and 4 artists on a 2-week project.

The game is a first-person grappling hook game in a Norse mythology setting. Each level is a large area filled with apocalyptic scenery and deadly enemies. The player must kill all enemies and activate all checkpoint crystals. When that is done, the exit gate activates and the player may continue to the next level.

The project won the public vote for the best game at an exhibition in Oyfo Techniekmuseum in Hengelo, the Netherlands.


Here are some of the things I did

Screenshot
Movement

The player is armed with two grappling hooks which can be used to swing from level geometry and kill enemies. Chains of the hooks can be pulled on to accelerate. The player can also jump onto and run along walls.


Screenshot
Checkpoints

Magic crystals are scattered around the world, closely guarded by enemies. If activated, they serve as checkpoints.

When all preceding checkpoints have been activated, the crystal emits a beam of light visible from afar. When all enemies guarding the checkpoint are dead, the chains holding down the crystal are broken, and it floats up into the air. Only then can it be activated.

If a player dies, the level is reloaded, the player is put at the location of the latest activated checkpoint and the state of the world is restored using a custom guid-based object persistence system.


Screenshot
Enemies

The world is roamed by flying flaming acid-spewing skulls. They attempt to encircle and kill the player, and can be killed by grappling them. There are three kinds of enemies, differentiated by color. Each kind reacts differently to being grappled.

Their AI is a relatively simple state machine with a different combination of 3D steering behaviours for each state. They use ballistic trajectory calculations to determine how to shoot a ball of acid so it would hit the player.


Screenshots
Screenshot
Screenshot
Screenshot
Screenshot

Builds of the game may be downloaded following these links. The project files are available in full at the game's GitHub repository