Christopher Knowles

Sidequest Ninja

Christopher Knowles photo

Chris joined the game industry in 2007 at Jagex, and spent 13 years there shipping various titles and working on RuneScape as an engine developer. He went indie part-time in 2019 (full-time in 2021) and is working on his first solo title, puzzle game Hexahedra.

Christopher Knowles is speaking at the following session/s

Building Outside the Engine - How and Why to Use Your Engine Only for Display and User Input

Tuesday 26th October: 11.00 - 11.45 Room 4

While some part of almost every game needs to be tightly bound to a graphics (and perhaps physics) engine, there are benefits to minimizing this coupling and writing as much as possible as "pure" code, such as ease of refactoring and testing, portability and reuse, and protection against 3rd-party changes. For some styles of game it's possible to reduce the core engine, whether Unity, Unreal, or something else, to a means of gathering user input and displaying results to the player. Here I'll take you through how I structured a Unity puzzle game, Hexahedra, in exactly this way and the benefits I was able to reap by doing so. Hexahedra's architecture resembles the OSI network model, where the puzzle simulation (pure C# provided as a DLL) and the Unity implementations of game elements, in a hierarchical structure (puzzle, factory, workstation, device), are able to communicate with each other with message passing through a single link. The puzzle simulation passes a series of events to Unity for display, and Unity collects user input and passes it back through to the simulation. This allows the puzzle simulation to be reused to power a backend stats server while also making it particularly easy to refactor and unit test. The event-driven system also makes additional gameplay features such as rewinding time much easier to implement. I'll also highlight considerations that make this approach unsuitable for some types of game.

Keep up-to-date

Sign up to our e-newsletter for all the latest news!

Sign up now

Get involved today!

There are many ways you can be part of Develop:Brighton - including taking a booth in the Expo or choosing one of the many sponsorship opporunities during the event or at the Star Awards.

Contact us now!

Keep up to date with Develop:Brighton

Newsletter Sign Up