Platform: PC
Roles: Everything. Focus on Combat Design and Gameplay/AI programming
Project Duration: February 2018 - Current
As my graduation project I made a roguelike game to test and develop my technical abilities. The main areas I was interested in and focused on were procedurally generation of content and AI programming. The whole game was created by me in Unreal Engine 4 using the visual scripting language Blueprints.
Roles: Everything. Focus on Combat Design and Gameplay/AI programming
Project Duration: February 2018 - Current
As my graduation project I made a roguelike game to test and develop my technical abilities. The main areas I was interested in and focused on were procedurally generation of content and AI programming. The whole game was created by me in Unreal Engine 4 using the visual scripting language Blueprints.
In the game I procedurally generate new unique levels for each playthrough. As seen above, the algorithm can create levels that vary dramatically in size and form, both easily controlled by just a few settings. Through that I can create levels that get continuesly bigger and more complicated.
A high level run down of how the algorithm works:
After we set spawn chances and size based on the current settings, and spawn a starting room, we enter the main loop. Here we use the previously set variables together with the amount of openings the room has to calculate how badly we want to spawn another room. Then we start North, check if our current room has an opening there, check if the space north of us is free, filter all rooms to only have roomtypes that would fit in that slot, and spawn a random room out of all leftover roomtypes. The newly spawned room is added to the loop array, and the same continues for East, South and West.
The rooms themselves then generate their own obstacles and enemies after they are spawned, using weighted chances for different enemies to assure that the room has a difficulty fitting for the current level.
The rooms themselves then generate their own obstacles and enemies after they are spawned, using weighted chances for different enemies to assure that the room has a difficulty fitting for the current level.