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 GDC sessions by time, pass type, topic, and format. With GDC 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.

If you've registered for GDC, you can use the same login credentials for your Session Scheduler account. Adding a session to your schedule does not guarantee you a seat. Sessions do fill up, so please arrive early to sessions that you would like to attend.

Tools Summit: Writing Tools Faster: Design Decisions to Accelerate Tool Development

Niklas Gray (CTO, Our Machinery)

Location: Room 3004, West Hall

Date: Monday, March 16

Time: 5:30pm - 6:30pm

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

Topic: Programming

Format: Session

Vault Recording: TBD

Audience Level: Intermediate

This session discusses the drastic design decisions we made in The Machinery to overcome the problems we had in previous engines (Bitsquid, Stingray) where writing tools became the primary development bottleneck.

First, we minimized the the tech stack to put more control in the hands of the developers. Second, we moved the responsibility for things like undo, copy/paste, save, revert, etc into a shared central data model so that tools get it "for free". Third, we standardized the way in which data interacts with views, so that the same views can be reused for different purposes.

This talk will discuss the consequences, pros and cons of our approach and show how it works in a concrete example: implementing an animation state machine editor.


Attendees learn three techniques to accelerate tools development: using a lean UI stack, relying on a shared data model for copy/undo/etc and reusing UI components. They understand the advantages and drawbacks of each approach and see them applied to a concrete example: implementing an animation state machine editor.

Intended Audience

This talk is intended for anyone interested in tool architecture — whether they are developing their own engine and tool set or extending an existing engine with custom, project specific tools. No specific prerequisites are required.