Procedural City



Elyssa Chou, Praneel Chakraborty, Yuhan Liu, Rain Yan, Dineth Meegoda, Thomas Shaw, Ethan Zhao, August Fu, Kashyap Chaturvedula


Background


Procedural City is a departure from many of the web focused projects of our past, involving mainly algorithm implementation and procedural graphics work. The dev team worked on an efficient 3D implementation of the Wave Function Collapse algorithm, while the design team produced 3D assets and used a variety of procedural techniques in Houdini, Substance Painter, and Gaia to turn the raw output into a vibrant medieval town.



Demo




Timeline


Our project had three major milestones, detailed below:

Milestone 1: Ideation and Requirements Gathering.
Milestone 2: Developer work to produce the underlying path system.
Final Milestone: Design work to post-process algorithm output and build the city



Challenges


  • Debugging the WFC implementation (and working with python's heapq)
  • The turnaround between WFC implementation and showcase put designers in a time crunch
  • Working with MEL/Python for Maya for the first time



Takeaways


  • Pair programming can be extremely helpful for solving bugs, and can also be great for brainstorming new approaches.
  • Working on 3D projects is fun, and an avenue we hope to continue pursuing with future projects.
  • More time should be spent on software design at the beginning to ensure the correct tools are being used for the job.



Looking Forward


Looking forward, we could continue to expand our project by:

  • Porting the output to 3JS to create a webview
  • Iterating on the WFC implementation (special tiles, rivers, bridges)
  • Adapting to different themes