Micro2D: The Code-Only 2D Engine
Micro2D acts as an abstraction layer built on top of Lua Player Plus, featuring an architecture inspired by Unity Engine.
This engine was custom-made for my game Tile Puzzle Ultimate (originally built with Unity), with the goal of offering a Unity-inspired structure and facilitating the port to the Nintendo 3DS.
Below you can see all the modules available in the Micro2D engine:
Modules
| bank_fonts | Loads and caches bitmap fonts for the Micro2D engine. |
| bank_images | Loads and caches images by path, freeing each image after its last release. |
| bank_sounds | Opens, tracks, and closes sound resources by file path. |
| components_boxcollider | Axis-aligned box collider attached to a game object. |
| components_draggable | Makes a game object follow the touch while its box collider is pressed. |
| components_script | Base component providing script lifecycle hooks. |
| components_multisprite | Renders a selected cell from a sprite sheet. |
| components_sprite | Component that renders an image or colored rectangle in world space. |
| components_transform | Stores a game object's position, rotation, and scale. |
| components_ui_button | Interactive UI button backed by a BoxCollider. |
| components_ui_canvas | Canvas that groups UI elements and registers their render tasks on a screen. |
| components_ui_image | UI component that draws an image or a colored placeholder on a canvas. |
| components_ui_text | UI component that renders text on a canvas using a bank font. |
| core_loader | Loads the Micro2D runtime and starts the application. |
| core_runtime | The runtime module of Micro2D. |
| debugger | Debugger module for the Micro2D engine. |
| debugger_enabler | Module for enabling the Micro2D debugger. |
| debugger_functions | Debugger module containing functions for the Micro2D debugger. |
| debugger_ui | Debugger UI module for the Micro2D debugger. |
| gameobject | The GameObject module. |
| time | The Time module. |
| systems_collision | Registers colliders and dispatches touch and overlap callbacks. |
| systems_input_settings | Configures input dead zones and motion-control state. |
| systems_input | Reads controller state and exposes button, touch, and motion input queries. |
| systems_rendertask | Defines render tasks with a layer and an execution callback. |
| systems_renderer | Queues and draws render tasks by screen, coordinate space, and layer. |
| systems_scenes_scene | Stores a scene's game objects and provides scene lifecycle operations. |
| systems_scenes | Loads, starts, and unloads configured game scenes. |
| systems_sound | Provides background music playback through the sound bank. |
| extender_math | A math extender module for Micro2D. |
| settings | The module containing the Micro2D engine settings. |