GDC + VRDC 2019 Session Scheduler

View, browse and sort the ever-growing list of sessions by pass type, track, and format. With this Session Scheduler, you can build your schedule in advance and access it during the show via export or with the GDC Mobile App, once live. Sessions do fill up so please arrive early to sessions that you would like to attend. Adding a session to your schedule does not guarantee you a seat.

Tools for 'Marvel's Spider-Man': Editing with Immutable Data

Ronald Pieket (Senior Engine Programmer, Insomniac Games)

Pass Type: All Access, GDC Conference + Summits, GDC Conference - Get your pass now!

Topic: Programming

Format: Session

Vault Recording: Video

Audience Level: All

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.


Attendees will learn about the benefits and practical application of implicitly shared data, immutable objects, and the edit loop.

Intended Audience

Targeted at those who are writing large, complex applications in C++.