SanAndreas Unity DevLog
For this project, I developed a procedural world generation system in Unity that dynamically reconstructs an open-world environment inspired by GTA San Andreas. Unlike the original game, which uses a single, manually-designed static world, my version produces a new, algorithmically generated map every time the game is run. This project demonstrates my ability to work with advanced procedural generation techniques, specifically the Wave Function Collapse (WFC) algorithm, to create coherent, believable environments without manual level design. I was solely responsible for the project, including the programming, system design, asset preparation, algorithm integration, and environment pipeline implementation.
The core of the project involved transforming open-world environment data into modular tile sets that could be used by the WFC algorithm. Since the original San Andreas world does not contain explicit placement rules, I analyzed and extracted spatial logic to create tile adjacency constraints, such as ensuring that roads align correctly, buildings only generate on land, and terrain transitions appear natural. I then implemented a custom Unity C# generation controller that initializes and manages the WFC solver, handles generation configuration (map scale, randomness seed, tile weighting), resolves contradictions, and translates the solver’s results into a structured tile map.
After generation, I created an environment instantiation pipeline which spawns the appropriate 3D prefabs, automatically adjusts scale and orientation, performs ground validation, and ensures efficient runtime performance. This pipeline converts the algorithm’s abstract output into a playable 3D game world that remains consistent and visually recognizable.
The key innovation of this project is the shift from static world design (as used in GTA San Andreas) to a fully dynamic, system-driven world model. The original game always presents the same map; my version creates a new world layout every session, significantly increasing replayability and demonstrating how procedural generation can transform open-world game design. I also implemented developer tooling such as a teleportation system and runtime regeneration to test and iterate environments quickly.
This project showcases my strengths in algorithmic problem solving, game system architecture, procedural environment design, and creative reinterpretation of large-scale world structures. It highlights my potential as a technically innovative and research-capable game programmer
Leave a comment
Log in with itch.io to leave a comment.