By Nikki Rademaker
This project was created for the course Modern Game AI Algorithms. The assignment was to procedurally generate a building in Minecraft that adapts to the environment. Overall, the goal was to make a structure that fits different terrains without manual adjustments that also includes randomness. We had to program an interactive system where the environment influences the generation process, ensuring variability and believability.
I built a system that procedurally generates a castle. The castle adapts its placement and size based on the environment, while keeping a consistent design. The project includes random features like material selection, tower placement, number of towers, interior decorations, and garden structures to add variety each time it runs.
Below you can find screenshots of examples generated castles, interiors, and exteriors.
The project was developed in Python 3.11 using the GDPC (Generative Design Python Client) framework, and NumPy. GDPC connects Python to Minecraft Java Edition 1.19.2 (in this case) through the GDMC HTTP Interface mod.
The system mostly succeeded in creating castles that fit different terrains. Some placements are less natural because the platform is always flat and square. Also, randomness could be smarter by linking design choices more closely to the environment. Still, the castles blend into the world well and show how PCG can create adaptive structures in games.
You can download the full report here.