Table of Contents
The Wizards Engine
Provides helpers and tools for creating and hosting gameplay code. Most of these tools can be used from the engine executable 'NewModules.exe', which starts the engine for development. The keys that can be used to control the engine are in EngineKeys.
Tools
- EngineProfiling Instant simple profiling
- EngineTracing Stores trace file with ModelContainer changes
- AnimationSystem Helper for simulation (keyframed) animation
- MenuDisplayer Displaying a simple menu
- WorldSelector Selecting ANY Object in 3D by raycasting, by the use of selectableproviders
- HotLoading The engine will reload gameplay code will it is running
- VSDebugAttacher Provides several features for interaction with visual studio.
Components
- Physical provides physical properties to a modelobject. Provides position,boundingbox, objectmatrix
Rendering
- CameraInfo contains methods to change the camera, get info about the camera, and generate a center screen ray!
Unit Testing
- EngineTest Attribute that allows running tests inside the engine
Workbench
EngineWorkbench Information on the development of more epic engine features.
Detailed information
Next parts describe in more detail how the engine performs its tasks
Operations
Startup
Starts the engine, loads the previous state, and runs the test code.
- Start engine
- Execute plugin
- Execute engine initializer (and load previous state)
- Run test
- Run initialScene (if not loaded yet)
- Run engine
Clean
This resets the current unit test to its default state.
- Clean all data (except TestingData)
- Reload gameplay dll
- Run test
- Run initialScene
Reset
This resets the engine to its default state, removing all effects from unit tests.
- Clean all data
- Reload gameplay dll
- (There is no test selected now)
Reload (= Hotload)
Occurs automatically when the gameplay dll has changed, or can be invoke by pressing r.
- Serialize all
- Reload gameplay dll
- Deserialize all
- Run test
- (Initial scene is not setup again)
Simulator framework
Depending on which parts a model object has, a simulator can act to make these parts work together. This means there are 3 types of simulators we can identify for this scenario. Simulators that ensure consistency for between objects for the same part, simulators that cause consistency for different parts of the same object, and simulators that cause consistency for different parts and different objects, the last one beeing the most complex.