Lunarity

Genre:

 Action roguelike


Engine:

 Unity


Summary:

Roguelike type game where the player tries to reach the highest point of the forest. During the adventure players will encounter differnt enemies who will try to block their way up. Players will have different abilities at their disposal to fight these enemies.




The version of the game you can download above it's not the final version. It's the first playable prototype of the game.

The game's a roguelike action game where the objective is to climb up your way to get to the highest point of the forest which is also the closest to the moon. Along the way, the player will encounter some enemies who will try to prevent it to reach the top. For these occasions, the player will have a set of abilities to defeat these enemies.

Players have an ability tree where they can choose from different abilities to equip. This tree has three different routes that the player can freely mix. One route, which is the more aggressive style another one which is the more agile and fast style, and the third one which is a mix of both. The tree doesn't only give the player some abilities, it will change the player's appearance depending on the branch he has chosen. In more advanced versions of the game, this will have some repercussions in-game. Depending on your appearance you will get one endgame or another, and NPCs will treat you differently offering you several paths to follow.

Every level is procedurally generated. The algorithm used to create the levels is based on the Spelunky one. The levels are composed of smaller rooms that are connected to each other. These connections always ensure that there is a possible path to get to the next floor. The rooms have different obstacles apart from the enemies such as thorns, veins, moss... that give the platforming a bit more variety of movement. The rooms also have a main path, which is the path that connects and leads to the end of the level, and some of them have a secondary path to encourage exploration.


My contribution to this project

For this project, we were a team of 4. I was responsible for programming the level generator and the AI for the enemies.

The level generator, as I mentioned earlier, is based on the Spelunky one. We did it this way because we wanted it to have some control over the design of the rooms. The rooms are hand-designed and it is the algorithm that takes care of connecting them and creating the level. These rooms have a path with a particular number of exits (one on top, one on the right, three exits, none...). The first thing the algorithm does is placing the enter and the exit of the level. Then the algorithm creates the main path connecting the rooms, considering the number of exits of each room and where they are. Once the main path is created, the algorithm completes the rest of the level taking into account the accessibility of all rooms. Using this method, we can create infinite achievable levels with paths for exploration.

For the enemies' AI, I used a simple state machine with a wandering, a look for the player, and an attack state. Because we really didn't have a complex combat system we decided to keep them simple, only to be an obstacle rather than a challenge.


Gameplay trailer

All My Work