GDC is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

View, browse and sort the ever-growing list of sessions by pass type, topic, 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.

The Architecture of 'Dreams'

Liam de Valmency (Senior Principal Programmer, Media Molecule)

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

Topic: Programming

Format: Session

Vault Recording: TBD

Audience Level: Intermediate

This talk is an exploration of the Dreams (PS4) code base, delving into how it has evolved over time as the needs of the game's design have become clearer through rapid R&D. The talk will take a tour through the current Dreams code base, highlighting useful code patterns, tricks, and systems that have allowed the game to be shipped in a stable form, while still allowing the flexibility for feature addition and iteration in response to changing needs from the Dreams player base. The talk will also investigate previous iterations of the game's code, how the programming team have adapted their processes throughout its development, and how the code has been designed to handle a broad range of user-generated content.


Attendees will learn the benefits and drawbacks of a functional-style game update, how to design for the unknowable needs of player-generated content, and what considerations can be made to allow such a code base to remain stable while also allowing for rapid iteration in response to community needs.

Intended Audience

This talk is aimed at programmers who are interested in providing user-generated content features or who may be looking to manually architect their own game engine. The talk assumes the ability to understand C++ code, and an awareness of the high-level concepts involved in game engine design.