A lightweight and flexible 2D game engine built by me, from scratch, with Dlang. Designed for developers who want a simple framework to create any kind of 2D game. I created it for my own personal use, but feel free to use any or all of my code if you find it helpful.
D is a general-purpose systems programming language that was originally designed as a re-regineering of C++, although it's grown far past that nowadays. Learn about it here! I chose it for this project because I think it's very underused for game development. It offers all of the speed and low-level control of something like C++, while also having useful features like array slicing, an (optional) garbage collector, and compile-time execution for certain functions.
-
Sprite Rendering & Animation
Load, manage, and animate sprites with a smooth frame system. -
Collision Detection
Built-in collision management for both simple and complex objects. -
Flexible Scripting
Integrate game logic and behaviors with a clear scripting interface. -
Extensible Architecture
Modular design for adding custom systems, tools, and workflows.
I made a lovely game called Boing with this game engine. The video above shows gameplay from it, and the full code and further details can be found here.
If you're looking to use the engine yourself, you'll need a D compiler and dub, the official D package manager. Both can be downloaded here. The engine also relies on Simple DirectMedia Layer 2, the popular open source library that provides an abstraction layer for multimedia hardware components like screens and keyboards.
Contributions are welcome! Feel free to fork this repo, submit pull requests, or open issues for bug reports and feature requests.
