Session Name: | Tools for 'Marvel's Spider-Man': Editing with Immutable Data |
Speaker(s): | Ronald Pieket |
Company Name(s): | Insomniac Games |
Track / Format: | Programming |
Did you know free users get access to 30% of content from the last 2 years?
Overview: | The world of 'Marvel's Spider-Man' is roughly six times the size of Insomniac's previous open world game 'Sunset Overdrive'. To handle the increased data load, Insomniac Games set about to completely rewrite their production tools in C++.This talk will explain how the team went about replacing the entire tools stack in the middle of developing 'Spider-Man', without slowing down production. Ron Pieket will highlight several key technologies utilized in the new tools. Implicit sharing eliminates the need for deep copy or mutex locks when handling data in a multi-threaded application. The concept of immutable objects is a radical old idea, newly appreciated. An immutable object is never modified. Instead, changes are applied by generating a new object. The edit loop is a construct that delivers effortless and fool-proof undo, Perforce handling, and more. Ron will also discuss several pitfalls encountered, and how to avoid them. |