Bachelor's Thesis
Designing balanced and engaging levels for a competitive game
Devising a pipeline to quickly create levels using PCG
Developing a multiplayer game from scratch using Blueprint
Goals & Learnings
For my bachelor's thesis, I wanted to examine how procedural content generation and Mixed-Initiative Content-Creation might improve the workflow for set-dressing levels that underlie strict level-design rules. For this, I devised a small “toolset”, made up of various Blueprints, utilizing the Unreal Engine 5 PCG Framework, with the purpose of automating repetitive and boring tasks.
The purpose of this was not to generate complete levels automatically, but instead to allow for manual adjustments and additions.
I also created an exemplary tactical shooter similar to Counter-Strike, that sadly didn't find a use in the final thesis due to time constraints. The game features multiplayer functionality through LAN-networks that can be simulated using third-party tools to allow for online play.
#scripting
Creating PCG functionality

The core of the thesis was a functional, versatile, and useful PCG toolset. To achieve this, I created various Blueprints to enable the generation of manually drawn walls and cliffs, structures, and scatter.
All of these different components communicate on a certain level, leading to a more holistic generation. For example, plants are always generated on top of existing geometry, preventing clipping, but never on man-made surfaces such as walls or decorative pieces.
#scripting
Runtime editing

To allow artists to have more control over the generated results, I tried to add MI concepts. Using specific actors, users can adjust the output by preventing elements from being generated in certain areas.
#scripting
Making a tactical shooter

It was originally planned to test the generated results during a playtest. For this, a prototypical tactical shooter had to be created, featuring basic gunplay, rounds, a bomb, and a shop.
Everything was set up manually using Blueprints.
#scripting
Adding multiplayer functionality

The nature of the game required it to be playable in multiplayer. For simplicity, I chose to add only local multiplayer, which could be used to play online using third-party tools.
#3D_art
Creating weapon models

As a way to practice my hard-surface modeling skills, I decided not to download existing assets for the guns and instead created them myself using Blender and Substance Painter.
Details
Unreal Engine
Blender
Substance Painter
Software_Used













