Shared October 9, 2017
Building Better Worlds: Developing a Procedural City Tool for Alien: Covenant
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2017
When MPC was asked to create a massive CG city for the film Alien: Covenant, they looked to leverage procedural generation as a means for iterating on the overall shape and structure of the city, in place of a prohibitively large team of environment artists. After evaluating all the practical third party options, it was ultimately decided that the best option was to build a custom tool to procedurally assist artists' city-building skills. This allowed for rapid iteration on the overall look of the city by striking a balance between manual and procedural techniques.
The core algorithms were written in C++ for speed. The user interface was written in Python to accommodate quick feature changes, and a dash of Fabric Engine's KL helped with model import and rendering. This multi-language approach allowed the consistent application of the "best tool for the job" rule, which is a common pattern at MPC, allowing flexible teams with experts in a variety of skillsets.
This talk will detail the history and development of MPC's city building tool, "Machi". Alan Bucior, Lead Developer of Machi, reviews the algorithms for city layout and building placement, discusses how to implement algorithms in an artist-driven manner, and shares various insights gleaned through the development process and discussion with stakeholders.
Alan Bucior: Lead Software Developer, MPC Film
Alan Bucior is a lead software developer at MPC, with over 20 years of experience developing software in the entertainment industry.
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
7 principles for building better cities | Peter Calthorpe
Incredible Way the CIA Stole a Soviet Submarine During Cold War
Practical Procedural Generation for Everyone
Classical Music for Studying and Concentration | Mozart Music Study, Relaxation, Reading
Robertson, Phillips, and the History of the Screwdriver
CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
Edward Snowden: How Your Cell Phone Spies on You
CppCon 2017: Allan Deutsch “Esoteric Data Structures and Where to Find Them”
Musique classique pour la lecture de Mozart, Chopin, Debussy, Tchaïkovski
CppCon 2017: Guy Somberg “Game Audio Programming in C++”
Procedural Building Generation with Grammars
CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook"
Swift Programming Tutorial for Beginners (Full Tutorial)
CppCon 2017: Nicolas Guillemot “Design Patterns for Low-Level Real-Time Rendering”
CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”
CppCon 2016: Marshall Clow “STL Algorithms - why you should use them, and how to write your own"