
Hello everyone,
Today we will talk about the open source engine and we will also invite 10 more testers tomorrow. Just a reminder, we have been inviting people to beta test, so check your email and its junk folder. If you haven’t received an email yet, you might in the near future, so add
contact@expressgamemaker.com to your safe list.

As developers we support both private and open source development. To reflect our support for open source development, we decided in the beginning of the development that EGM’s engine should be open source.
We decided to also add a code editor that will allow you to edit your code from within EGM.
Note that you will be able to edit every piece of EGM’s engine code that overlays the closed-source XNA engine. You’ll also be able to export the modified source as part of your template. However, you may only use the engine in conjunction with EGM, no other program.
The layout of the Engine is simple. We don’t have time to draw a diagram at this time but I’ll give a basic overview:
- Project – A class containing the project settings. Used when loading the game.
- Global – Contains every accessible parent class such as Game Data, Current Map and Current Menu. Also contains quick methods for several purposes. This is basically the gateway class.
- Library – Library classes allow for your game to load. These include Maps, Items, Events, Switches and etc. You may not modify these. If you do, your game will not load. If you do have to modify these classes, you have to make them non-readable by the Loader. EGM uses XNA to serialize and deserialize which allows for XBOX loading and Windows loading (and after soon Silverlight).
- Screens – Screens are “states”. There are two main screens which are Gameplay and Menu. Menus can appear in Gameplay, such as HUDs and simple menus but menus such as Title or Gameover should be in the Menu screen.
- Processors – Processors are classes that process your game. These include Maps, Menus, Events, Animations, and etc. Each screen has a main processor, Gameplay has the MapProcessor, Menu has the MenuProcessor.
- Components – Components are classes used mainly by processors. Includes Battle, Pathfinder, AudioManager, ThreadManager and etc.
There will be a full diagram once we restructure and fix the engine. Some code is all over the place and needs tidying up.
*Note* Engine is not the same as the editor. Editor is where you edit your game using a friendly user-interface. The engine is what “plays” or “runs” your games.
We are still allowing for registration!
Invite your friends to sign up for the testing!Express Game Maker Team