![]() |
Gondwana Game Engine
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop, mobile, and web platforms using SkiaSharp for graphics and NAudio for sound.
|
Directories | |
| ConsoleApplication1 | |
| Gondwana | |
| Gondwana.Audio.Midi | |
| Gondwana.Drawing.Direct.Particles | |
| Gondwana.ParticleTest | |
| Gondwana.Video | |
| Gondwana.WinForms | |
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop, mobile, and web platforms using SkiaSharp for graphics and NAudio for sound.
Rather than hiding the render pipeline behind an editor, Gondwana embraces a code-first, engine-driven design. Developers can own their game loop and rendering flow end-to-end when needed, while still benefiting from sensible defaults that allow simpler games, simulations, and tools to come together quickly. This approach modernizes classic Win32/GDI-era rendering patterns into a clean, modular architecture with explicit control over draw order, dirty-region updates, and timingโyielding a predictable, debuggable engine that works out of the box but does not get in the way as projects grow.
Gondwana is designed for developers who want:
It is intended to serve as a flexible foundation for custom 2D and 2.5D games, tools, and simulations.
At runtime, Gondwana is driven by a central Engine loop responsible for advancing time, polling platform-specific input, updating game state, and rendering only what has changed. The engine is built around a world-space, view-centric rendering model designed to minimize redraw work while supporting multiple cameras and scene layers.
Each engine cycle proceeds through the following stages:
This dirty-region, view-centric design allows Gondwana to efficiently render complex scenes with multiple layers and cameras while keeping the core engine logic platform-agnostic. By separating world updates from presentation concerns, the engine remains predictable, debuggable, and scalable as projects grow.
| Namespace | Responsibility |
|---|---|
| Gondwana | Core engine loop, lifecycle management, configuration, and global services. |
| Gondwana.Drawing | Low-level drawing primitives, sprites, tilesheets, animation, particles, and direct drawables. |
| Gondwana.Input | Unified input polling for keyboard, mouse, and gamepad devices. |
| Gondwana.Movement | Sprite movement controllers, easing functions, and scripted motion paths. |
| Gondwana.Rendering | Backbuffer abstractions, view rendering, cameras, and platform-agnostic draw flow. |
| Gondwana.Scenes | Scene and SceneLayer composition, visibility, and layer-level refresh tracking. |
| Gondwana.Timers | High-resolution timing, scheduled callbacks, and engine-cycle events. |
| Gondwana.Audio / Video | Audio playback, mixing, MIDI support, and experimental video integration. |
| Gondwana.WinForms / Web | Platform adapters responsible for hosting render surfaces and wiring input. |
The Gondwana Core library depends on the following NuGet packages:
The following packages are required only when building Gondwana from source:
Gondwana is actively evolving, with a focus on strengthening core simulation and tooling rather than chasing engine sprawl.
Contributions are welcome!
MIT License โ see [LICENSE](LICENSE) for details.
Third-Party Libraries
Gondwana uses Skia (ยฉ Google) via SkiaSharp (ยฉ Microsoft and contributors), licensed under the BSD 3-Clause license.