The open source Duality game engine just received a 3.0 release. The duality engine, that we featured previously in the Closer Look series is a complete 2D game engine built on top of a C# framework that also includes a comprehensive game editor, a modern component based design, as well as good documentation and a decent sized community. The only real flaw I can think of is that it is currently Windows only, so that limits the audience to a certain degree. The 3.0 release is loaded with features, the largest of which is due to the complete rewrite of the rendering pipeline and underlying design, which resulted in a more modern shader based approach and up to a doubling of per frame performance.
Rewrote the entire rendering pipeline, allowing massive improvements in efficiency, ease of use and feature coverage while at the same time shifting towards more modern, shader-focused rendering techniques.
- RenderSetup resources allow replacing how Duality renders a frame, providing a simple entry point for pre- or post processing steps, as well as completely customized rendering behavior.
- Self-contained scenes allow using
Sceneresources as isolated simulation spaces independently of the active main scene.
- Focus on performance and a more data-oriented design of both rendering and update cycles. A worst-case rendering benchmark comparing v2 and v3 performance went down from 13 ms to 6 ms per frame, as well as 2000+ (gen0 to gen2) GC collections per minute to about 5 (gen0) collections.
- Refactored core API, replacing many “first iteration” designs with more streamlined ones. The most prominent example might be the deprecation of manual context checks in
ICmpInitializablein favor of a simple
OnDeactivatemethod pair, but many similar improvements were done as well.
Be sure to check out the full change log, as the above summary only scratches the surface of what’s new in this release. As mentioned earlier, the Duality game engine is open source and available on Github. If you want to see a quick hands-on introduction to Duality, be sure to watch the video embedded below.