Editing with immutable data/データを変えない編集

09月05日(木) 13:30 〜 14:30

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



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



The world of 'Marvel's Spider-Man' is several 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.

「Marvel's Spider-Man」の世界は、Insomniacの以前のオープンワールドゲーム「Sunset Overdrive」の数倍の大きさです。高まったデータ負荷の処理のために、Insomniac Gamesは、C ++で制作ツールを全面的に書き直しました。

この講演では、「Spider-Man」の制作の最中に、工程を遅らせることなく、チームがどのようにツール全体を置き換えたかということをお話します。 Ron Pieketは、新しいツールで使用された主要なテクノロジーについても焦点を当てます。暗黙的共有により、マルチスレッドアプリケーションでデータを処理する際のディープコピーや相互排他ロックが不要になります。不変オブジェクトの概念は基本的で古くからある考えですが、新たに評価されています。不変オブジェクトは修正されることはありません。代わりに、新しいオブジェクトを生成することにより、変更が適用されます。編集ループは労力をかけず確実にやり直しを行う構造になっています。(Perforce取り扱い等)Ronはまた、自身が経験した落とし穴、回避方法についても説明します。


Insomniac Games

Senior Engine Programmer



Ron Pieket is a game development veteran with more than 30 years of experience. He has worked for developers in the Netherlands, the United Kingdom, and now in the United States. He is currently working as a Senior Engine Programmer at Insomniac Games, where he focuses primarily on engine, tools, and asset pipeline.

Ron Pieketは30年以上の経験を有する熟練のゲーム開発者です。
これまでオランダ、イギリスの開発会社に勤めた経験があり、現在はアメリカでInsomniac Gamesのシニアエンジンプログラマーの職に就いています。主にエンジン、ツール、およびアセットパイプラインを扱っています。