Procedural Generation Prototype
A modular level prototype for Hereford College, built in Unreal Engine with modular building systems and procedural environment.
Tool
Unreal Engine 5.4
Focus
Procedural level systems
Outcome
Environment prototype
Audience
Course showcase
4
Modular Building Types
6/10
Programming efficiency
5
Modular iterations
11
Procedural iterations
The brief
The procedural generation project was a year 2 Hereford College project. The goal was to create a functional prototype that would deepen my knowledge of procedural content generation techniques using C++ in Unreal Engine and to experiment with PCG splines for modular buildings.
"This project was about exploring the possibilities of procedural content generation in game development."
Approach
Modular building design
The approach for designing modular buildings involved having quick prototype meshes as sets of reusable components that could be combined in various ways to generate unique structures in real-time
Procedural terrain
The procedural terrain generation involved creating dynamic landscapes using noise functions to ensure variety and visual interest.
Early terrain prototype in motion
Process
The development process involved several iterations and refinements to achieve the desired procedural generation outcomes that included closest tiles to be multithreaded to make spatial queries more efficient and to unload tiles that were further away from the player.
Define building roles
The buildings roles in this project was to create some sort of definition on a barren landscape.
Create visual variance
Need to ensure that the terrain had enough visual variety to maintain player engagement with different materials and water features.
Tune player flow
Optimized the player's movement and navigation through the procedurally generated environment to ensure a smooth and engaging experience.
Procedural generation results
Results
- Prototyped systems: procedural terrain and PCG Buildings
- Portfolio value: Demonstrated development in procedural content generation.
"procedural generation allows for the fast creation of diverse landscape environments"
Reflection
Reflecting on this project, I realized the importance of procedural design in creating game environments and how taxing it can be on the players performance which showed the extensive need for optimisation. If I was to work on this project again I would focus on improving the modular buildings to actually rotate and stick to the procedural terrain and optimise the performance more because of how taxing PCG can be when there is a large quantity generated in a small area.
Interested in level systems or procedural design? Let’s collaborate.