Eternal Hunt

University Project

Eternal Hunt Gameplay Screenshot

About this project

Eternal Hunt is a small game developed for my Mobile Game course at Stockholm University. We were allowed to make anything we wanted as long as it worked on android so I made this little top down shooter. I made all the art, animations, coding and design for the game. Everything but the sound effects.

Level Generation

My interest in the procedural generation methods Nuclear Throne uses for their levels led me to create a simple level generator based on the Random Walk algorithm, which consists of a "walker", which keeps track of its position and direction, taking a number of steps on a grid and picking a new cardinal direction placing floors every step, thereafter placing walls around them.

Random Walk Algorithm Steps

  1. Initialize

    The algorithm starts by placing a walker at a random position in the game grid. This serves as the starting point for level generation and ensures variety between different playthroughs.

  2. Take Steps

    The walker moves in random cardinal directions (north, south, east, west) for a predefined number of steps. Each direction has an equal probability of being chosen, creating organic, unpredictable paths.

  3. Create Path

    At each step, the algorithm creates a floor tile at the walker's current position. As the walker continues to move, it leaves behind a trail of connected floor tiles that form the navigable area of the level.

  4. Add Walls

    Once the floor path is complete, the algorithm automatically places walls around the created floor tiles. This creates the boundaries of the level and ensures the player remains within the playable area.

After the basic structure is generated, the algorithm places enemies strategically throughout the level, creates an exit point to the next level, and scales difficulty based on the player's progress. The system also includes validation checks to ensure all areas are accessible and the level is playable.

Example of a generated level
Another example of a generated level

Closing thoughts

Developing Eternal Hunt was an excellent opportunity to combine my interests in procedural generation and action games. While the project was completed within a tight three-week timeframe and couldn't be fully polished, I was able to implement the core game loop, enemy AI, and level generation systems.

The experience of adapting a traditionally keyboard-and-mouse genre to touchscreen controls presented interesting design challenges, and I'm particularly proud of the procedural level generation system inspired by Nuclear Throne. Working on all aspects of the game from coding to art creation gave me valuable insights into the full game development pipeline.

Project Details
Team SizeSolo
Start DateJune 10, 2020
Duration3 weeks
ToolsUnity, C#, Android
Keywords
PCGTouchscreenTDSUnityC#AndroidTop Down ShooterRandom Walk Algorithm