About this project
VOID Engine is a lightweight, modular 2D game framework built for .NET. It provides essential game development systems without attempting to become a giant all-in-one engine, focusing instead on framework-level architecture that gives developers solid defaults without assuming those defaults fit every game.
## Systems and Features
- **Rendering**: Batched sprite and primitive rendering, texture atlasing, shaders, render targets, and post-processing via Silk.NET.OpenGL.
- **Renderer API**: Public renderer-neutral contracts allowing custom backends such as Vulkan, Direct3D, or Metal.
- **Platform**: SDL3 windowing, displays, fullscreen modes, input handling for keyboard, mouse, and gamepads.
- **Assets**: Mount-based virtual file system, custom asset types, pack loading, and LRU eviction.
- **Audio**: OpenAL playback via Silk.NET.OpenAL, sound pooling, priority-based voice stealing, and category volumes.
- **Saving**: AES-GCM encrypted saves with manifest verification.
- **Pathfinding**: A*, Dijkstra, BFS, and flow fields.
- **Coroutines**: Tweens, sequencing, delays, waits, and easing helpers.
- **Logging**: Async logging with console and file sinks.
- **Math**: Vectors, matrices, rectangles, colors, and random helpers.
- **Tooling**: Project templates and encrypted asset packing utilities.
- **LDtk**: Integrated level and asset support.
## Extensibility
VOID offers straightforward extension points where developers can supply custom implementations or replace built-in modules entirely, including custom asset types (`IAsset`), alternate asset sources (`IMount`), texture packing algorithms (`IAtlasPacker`), log destinations (`ILogSink`), and graphics backends (`IRendererBackend`, `IGraphicsDevice`).
## Asset Packer
The framework includes an API and a command-line interface tool (`Void.Packer.CLI`) for packaging assets into authenticated, encrypted archives using AES-GCM, adaptive compression, and per-file integrity checks.
## Supported Platforms
- Windows
- macOS
- Linux
Requires .NET 10.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.