New Game Engine
Thursday, December 6th, 2007Well the game engine has been coming along nicely. I’ve been working with a guy named Charles and we’ve developed some really cool core engine components so far. Up to this point it’s been nothing but the core windows components and basic support for the DirectX SDK API.
I wanted to have full support for dynamically switching between full screen and windowed mode while in the game. So we got that feature running, also there was some other related features to being in full screen and clicking on some other window in the event that the user has multiple monitors but the game is only active on one monitor. Similarly the game engine must also handle an ALT+TAB out to another application or window, and from windowed mode the game should pause rendering when the game is minimized or placed in the background.
We got it to pause the game rendering but the game itself is still executing and eating up the CPU. When the game engine is not active of course it should not be eating CPU power because the user might have to do something important like writing a blog post, or responding to some important e-mail or making a quick edit on some web page. Since most video games require the full attention of the computer hardware games are developed with a very high priority setting for executing on the CPU. Just because the rendering is paused doesn’t mean the priority level has changed so we still need to implement a system that will drop the priority level thus not requiring large amounts of CPU time to do nothing when the user wants to work on something else for a bit, or step out for a quick lunch between levels or whatever.