- Product description: Game engine with a core concept of “most geometry will stay onscreen next frame too.”
- Product history/genesis: Freeverse approached me about making a game engine that could run on both Mac and Windows platforms for a game series they were pitching. The games were ideal for the style of engine I already had in mind. The Hoyle games were completed after successfully creating an engine capable of driving DirectX or OpenGL. Soon after, iPhone became big and in less than a week theComplex was running on iPhone too.
- Team: Self
- Core Technologies:
- C++ for Games, inside a cross platform wrapper
- Objective C in Cocoa for Mac OS X wrapper
- Objective C in UIKit for iPhone wrapper
- C++ for Windows wrapper
- Java for Android wrapper
- Most proud of: This engine shipped in many games, and was updated and added to many times over the years. But throughout it has remained stable, well documented, and efficient.
- Responsibilities: Everything from design to implementation
The design of this engine was based on years of experience with debugging other people’s engines in ports of Windows games to Mac. In each engine, when a new frame was started, everything from the previous frame was destroyed. All the sorted lists, all preprocessing, always redone every frame. In theComplex, the entire list of things to render is kept every frame. This way the game can choose to re-sort as often or as little as it wishes.