这个项目能做什么

VOID Engine 是一个为 .NET 构建的轻量级、模块化 2D 游戏框架。它提供必要的游戏开发系统,而不试图成为一个庞大的一体化引擎,而是专注于框架级架构,为开发者提供可靠的默认方案,同时不假设这些默认方案适合每一款游戏。 ## 系统与功能 - **渲染**:通过 Silk.NET.OpenGL 实现批处理精灵和基元渲染、纹理图集、着色器、渲染目标以及后处理。 - **渲染器 API**:公开与渲染器无关的契约,允许使用自定义后端,例如 Vulkan、Direct3D 或 Metal。 - **平台**:SDL3 窗口管理、显示器、全屏模式,以及键盘、鼠标和手柄输入处理。 - **资源**:基于挂载点的虚拟文件系统、自定义资源类型、资源包加载和 LRU 淘汰。 - **音频**:通过 Silk.NET.OpenAL 实现 OpenAL 播放、声音池、基于优先级的语音抢占以及分类音量。 - **存档**:使用 AES-GCM 加密存档,并进行清单验证。 - **寻路**:A*、Dijkstra、BFS 和流场。 - **协程**:补间、序列、延迟、等待和缓动辅助工具。 - **日志**:支持控制台和文件输出的异步日志。 - **数学**:向量、矩阵、矩形、颜色和随机数辅助工具。 - **工具**:项目模板和加密资源打包实用工具。 - **LDtk**:集成关卡和资源支持。 ## 可扩展性 VOID 提供了直接的扩展点,开发者可以在这些位置提供自定义实现或完全替换内置模块,包括自定义资源类型(`IAsset`)、替代资源来源(`IMount`)、纹理打包算法(`IAtlasPacker`)、日志目标(`ILogSink`)以及图形后端(`IRendererBackend`、`IGraphicsDevice`)。 ## 资源打包器 该框架包含一个 API 和一个命令行界面工具(`Void.Packer.CLI`),用于将资源打包为经过认证、加密的归档文件,使用 AES-GCM、自适应压缩和逐文件完整性检查。 ## 支持的平台 - Windows - macOS - Linux 需要 .NET 10。