Designing a PC game engine | Synapse