TL;DR
Get the latest gadgets delivered free with Prime
- Fast, free delivery on millions of items
- Prime Video, Amazon Music and more included
- Member-only deals all year
Parin’s GitHub project presents a 2D game engine for the D programming language, positioned between a lightweight library such as raylib and a larger engine such as Godot. It includes tools for physics, dialogue, animation and tile maps, with support listed for web, Windows, Linux and macOS. The project does not include a built-in scene or entity system, and its developer does not provide release metrics or a development timeline in the supplied material.
Parin, a 2D game engine for the D programming language, is presented on GitHub as a middle ground between a small graphics and game library such as raylib and a larger engine such as Godot. Its developer describes a code-driven design with built-in tools for common game needs, while leaving developers to choose their own architecture rather than requiring a scene or entity system.
The project says it combines a modular foundation with built-in features, including pixel-perfect physics, a dialogue system, atlas-based animation and tile-map structures. A simple user-interface library is listed as work in progress. The project also includes extras such as Box2D, Steamworks, ENet and microui; the repository notes that required external binaries are not bundled and must be obtained or built and linked separately.
Parin lists support for web, Windows, Linux and macOS. The repository provides DUB templates for basic projects and entity-based setups, as well as scripts for building and running projects without DUB. Web builds require LDC and Emscripten, with the documentation recommending Emscripten version 4.0.23. Linux users may need to install system libraries for sound, graphics and input before using the engine.
The repository recommends starting with its examples, cheatsheet or tour documentation. Its FAQ lists several games made with Parin, including Twenty Seconds, Twenty Steps, Worms Within and A Short Metamorphosis. Those examples show that projects have been made with the engine, but the supplied material gives no broader adoption figures, performance benchmarks or independent evaluation.
A Lighter, Code-Driven Engine Option
Parin addresses a familiar choice for small-game developers: use a lightweight library and assemble more of the surrounding tools, or adopt a larger engine with more built-in structure and overhead. The project’s stated approach is to provide selected common systems while keeping game organization in the developer’s hands.
That approach may interest developers who use D or prefer to build their own architecture. Parin’s available physics, animation, dialogue and tile-map tools could reduce the need to assemble every feature separately, while its lack of a mandated scene or entity system preserves flexibility. The trade-off is that teams wanting a standard editor-led workflow or ready-made scene management may need to implement those systems themselves or choose another tool.
Platform listings and web-build instructions make the project relevant to developers considering browser releases as well as desktop games. However, support claims in a repository do not by themselves establish the reliability, completeness or ease of deployment on each platform.
As an affiliate, we earn on qualifying purchases.
How Parin Defines Its Scope
The project describes Parin as sitting between raylib and Godot: more opinionated than a small library, but less heavyweight than a large game engine. Its emphasis is on code rather than a prescribed editor workflow. A short example in the repository shows a D function called each frame, with a mixin generating the program’s main function.
Parin says most of its foundation is built on Joka, a portable utility library that can also be used independently. It presents garbage collection as optional in practice: developers can use it for convenience, switch to manual management or avoid it. The repository says there is no built-in scripting language and no native scene or entity system, though it points to examples showing how developers can construct such systems.
The project also lists a set of games and integration examples, including guidance for Steamworks and ENet. These are project-repository statements, not an independent assessment of compatibility or production readiness. The supplied source does not identify a release date or version, so the project’s maturity cannot be established from the announcement text alone.
“Parin sits somewhere between a small library like raylib and a big engine like Godot.”
— The Parin project description on GitHub
physics engine for game development
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Project Maturity and Platform Details
The supplied project material does not state when Parin was released, identify a current version, or provide a development roadmap. It also gives no independent test results for performance, platform compatibility or the stability of individual features. The interface library is explicitly marked as a work in progress, while the status of other components is not quantified.
It is not clear how much setup each platform requires beyond the documented dependencies, or how complete the listed Steamworks and ENet integrations are for particular use cases. The repository says their binaries must be separately downloaded or built and linked. No user counts, contribution statistics or comparative benchmarks are included, so adoption and real-world performance remain unknown.
As an affiliate, we earn on qualifying purchases.
Try the Templates and Examples
Developers interested in Parin can follow the repository’s quick-start instructions to create a project with DUB, then run one of its basic templates. The project directs users to its examples, cheatsheet and tour for further guidance, and invites feature requests through GitHub issues and discussions.
For the project’s next concrete milestones, readers would need to watch the repository for version releases, updates to the work-in-progress interface library, documentation changes and additional integration examples. The supplied material does not announce a release schedule or a specific upcoming feature.
As an affiliate, we earn on qualifying purchases.
Key Questions
What is Parin?
Parin is a 2D game engine written for the D programming language. Its project description positions it between a small library such as raylib and a larger engine such as Godot.
Does Parin include a scene or entity system?
No. The project FAQ says Parin has no built-in scene or entity system, but points to examples that show how developers can build these systems.
Which platforms does the project list?
The repository lists web, Windows, Linux and macOS. Web builds require LDC and Emscripten; Linux users may also need to install system dependencies.
Can Parin be used for multiplayer or Steam releases?
The repository says Parin includes bindings for Steamworks and ENet and points to integration examples. It also says the binaries are not included and must be downloaded or built and linked separately.
How can developers try Parin?
The project documents a DUB quick start with basic templates and provides scripts for setup without DUB. It recommends using the examples, cheatsheet or tour to learn the engine.
Source: hn
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.
