MAGE - Part 1
Table of Contents
A new game engine!
Check out Nui Engine on Github
Introducing Nui Engine #
This game engine project is called Nui Engine and will be built using C++. Unlike most game engines, this will be an editor-less game engine. I want the user to control everything via C++ code. There will be a command console using which the user can communicate with the game engine (such as executing commands like game cheats and getting engine information).
Engine Architecture #
The engine will be split into the following modules:
- NuiCore
- Built as a static library
- Contains core engine functionality such as windowing, input and main loop management
- Also contains the main entry point
- Links with the NuiGraphics and NuiAudio libraries
- NuiGraphics
- Built as a static library
- Contains the DirectX 11 2D renderer
- NuiAudio
- Built as a static library
- Contains all audio related functionality
- GameCode
- Built as an executable
- Contains all user written game code which auto-registers with the engine and is dynamically called
- Links with NuiCore
- NuiTest
- Uses MSTest to test engine functionality (thereforce built as a DLL)
- Can be extended by the user to test gameplay code
- Links with all modules
- ProjectGenerator
- A collection of templates and python scripts used to generate solution and project files
See below a diagram of the planned engine architecture.
With the engine architecture planned, I will next work on generating project files. So that we can then start working on the engine itself.
The name ‘Nui’ was proposed by my univerity lecturer (who I asked for name suggestions) since this engine has no editor (No UI). Thanks Tom!
Programming
Game Engine
Software Architecture