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
Swift Programming Tutorial for Beginners (Full Tutorial)
The Most Interesting Galaxy in the Universe - A Journey Into the Milky Way Galaxy Documentary
IQ and Creativity Increase, Binaural Beats Relaxation Music for Intelligence and Creativity
CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
Practical Procedural Generation for Everyone
Why C++ Sails When the Vasa Sank
CppCon 2017: Allan Deutsch “Esoteric Data Structures and Where to Find Them”
How to configure a Shared Network Printer in Windows 7, 8, or 10
lofi hip hop radio - beats to relax/study to
7 principles for building better cities | Peter Calthorpe
CppCon 2018: Jonathan Boccara “105 STL Algorithms in Less Than an Hour”
Searching for the Origin of Life across the Universe - Potential Life on other Planetary Documentary
CppCon 2017: Guy Somberg “Game Audio Programming in C++”
CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”
A system is not a tree - Kevlin Henney
CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook"