Modules
MD Engine has a number of optional modules that only get compiled into your ROM if your project uses them. This keeps unused features from consuming ROM space or RAM.
Below is an overview of each module and when you might use it.
| Module | Description |
|---|---|
| Arrays | Store and manage lists of values — inventory, completed levels, high scores, etc. |
| Behaviours | Pre-built movement patterns: platformer physics and tile-based movement. |
| Camera | Follow actors, scroll, shake, flash, set deadzones and bounds. |
| Collisions & Physics | Collision detection, physics simulation, collision groups and masking. |
| Dialogue & Text | Text boxes, player choices, fonts, and text drawing. |
| Localization | Translate your game's text into multiple languages. |
| Math | Math functions (sine, cosine, atan2, sqrt) and unit conversions. |
| Particles | Lightweight visual effects — sparks, smoke, rain, explosions. |
| Pathfinding | Automatic route-finding between points on the collision map. |
| Projectiles | Spawnable attack objects — bullets, arrows — that interact with collisions. |
| Threads | Background scripts not attached to any scene, actor, or trigger. |
| Timers | Run scripts after a delay or at regular intervals. |
| Tweens | Smooth value interpolation with easing curves. |
Many module limits (number of timers, threads, particles, etc.) can be adjusted in the Maximum Elements settings.
📄️ Arrays
An array holds lists of values stored in a single place.
📄️ Behaviours
Platformer
📄️ Camera
The camera module controls what part of the scene is visible on screen. It can follow actors, scroll to specific positions, shake, flash, and be configured with deadzones and bounds.
📄️ Collisions & Physics
MD Engine provides a simple collision & physics system; it's not a fully featured physics engine like Box2D, but good enough for arcade-style platformers, shooters, puzzles, etc.
📄️ Dialogue & Text
The dialogue system allows actors to display text boxes, choices, and conditional branching. It handles everything from simple one-line messages to multi-page conversations with player choices.
📄️ Localization
The localization module allows you to translate your game's text into multiple languages and switch between them at runtime.
📄️ Math
The math module provides mathematical functions and unit conversions used by the engine and available to your scripts.
📄️ Particles
Particles are small visual objects (like sparks, smoke, dust, explosions, rain, snow, etc.) that can be spawned to create visual effects without using full actors.
📄️ Pathfinding
MD Engine includes an optional pathfinding module that automatically finds routes between two points on a scene's collision map. It supports multiple search algorithms with different movement styles and tradeoffs.
📄️ Projectiles
Projectiles are small visual objects that overlap actors (like bullets, arrows, etc.) that can be spawned to create an attack without using full actors.
📄️ Threads
The threads module allows you to run scripts that are not attached to any Scene, Actor, or Trigger. Threads are useful for background processes, global game logic, or situations where no specific actor or trigger is appropriate.
📄️ Timers
The timer module allows you to set up a script that runs after a certain duration or repeatedly at regular intervals.
📄️ Tweens
The tween module handles the process of smoothly interpolating a value from one state to another over a specified duration.

