A retro 2D and pseudo-3D game engine written in D, focused on authentic pixel-perfect graphics and a lightweight footprint.
PixelPerfectEngine is a retro 2D and pseudo-3D game engine written in the D programming language. It solves common rendering issues in modern engines for retro games, such as floating-point rounding errors and unauthentic scaling, by rendering to a low-resolution framebuffer. The engine includes features like tile and sprite layers, a GUI subsystem, collision detection, and an audio subsystem for era-correct synthesis.
Game developers and hobbyists creating retro-style 2D or pseudo-3D games who need authentic pixel-perfect graphics and a lightweight engine. It's also suitable for those interested in learning game and software development with a focus on low-level graphics rendering.
Developers choose PixelPerfectEngine for its dedicated focus on pixel-accurate retro graphics, avoiding the bulk and rendering artifacts of repurposed 3D engines. Its permissive Boost Software License allows free commercial use without attribution, and its lightweight design enables deployment on low-powered devices like smartphones and single-board computers.
2D graphics engine written in D
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Renders to a low-resolution framebuffer using OpenGL to avoid floating-point rounding errors and unauthentic scaling, ensuring pixel-perfect retro graphics as highlighted in the README.
Designed with a small footprint, enabling compilation for low-powered ARMv8 devices like smartphones and single-board computers, which is emphasized in the features section.
Licensed under Boost Software License 1.0, allowing free use in commercial applications without attribution or fees, as stated in the philosophy and licensing details.
Includes a GUI subsystem (Concrete) influenced by old operating systems like Amiga Workbench, providing a unique aesthetic for retro-style games mentioned in the features.
The README admits tools like WindowMakerForConcrete are incomplete, error handling isn't fully realized, and many features are untested, leading to potential instability and bugs.
Currently lacks support for MacOS, Android, and iOS, with these only listed as future plans, restricting deployment options for cross-platform projects.
Requires the ldc2 compiler for better vector support, which complicates installation compared to engines with simpler, more standard build processes as noted in the build instructions.