Multi-Threaded Game Engine Design