top of page

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 

 Gallery 

bottom of page