Об этом проекте
VOID Engine — это лёгкий модульный 2D-фреймворк для разработки игр на .NET. Он предоставляет необходимые системы для разработки игр, не пытаясь стать гигантским универсальным движком, сосредоточиваясь вместо этого на архитектуре уровня фреймворка, которая даёт разработчикам надёжные настройки по умолчанию, не предполагая, что эти настройки подходят для каждой игры.
## Системы и возможности
- **Рендеринг**: пакетный рендеринг спрайтов и примитивов, атласирование текстур, шейдеры, цели рендеринга и постобработка через Silk.NET.OpenGL.
- **API рендерера**: публичные контракты, нейтральные к рендереру, позволяющие создавать пользовательские бэкенды, такие как Vulkan, Direct3D или Metal.
- **Платформа**: оконная система SDL3, дисплеи, полноэкранные режимы, обработка ввода с клавиатуры, мыши и геймпадов.
- **Ресурсы**: виртуальная файловая система на основе монтирования, пользовательские типы ресурсов, загрузка пакетов и вытеснение LRU.
- **Аудио**: воспроизведение OpenAL через Silk.NET.OpenAL, пулирование звуков, вытеснение голосов на основе приоритета и категорийные громкости.
- **Сохранения**: шифрованные сохранения AES-GCM с проверкой манифеста.
- **Поиск пути**: A*, Дейкстра, BFS и flow fields.
- **Корутины**: твины, секвенции, задержки, ожидания и помощники плавности.
- **Логирование**: асинхронное логирование с приёмниками консоли и файлов.
- **Математика**: векторы, матрицы, прямоугольники, цвета и помощники случайных чисел.
- **Инструменты**: шаблоны проектов и утилиты для упаковки шифрованных ресурсов.
- **LDtk**: интегрированная поддержка уровней и ресурсов.
## Расширяемость
VOID предлагает простые точки расширения, где разработчики могут предоставить пользовательские реализации или полностью заменить встроенные модули, включая пользовательские типы ресурсов (`IAsset`), альтернативные источники ресурсов (`IMount`), алгоритмы упаковки текстур (`IAtlasPacker`), назначения логов (`ILogSink`) и графические бэкенды (`IRendererBackend`, `IGraphicsDevice`).
## Упаковщик ресурсов
Фреймворк включает API и инструмент командной строки (`Void.Packer.CLI`) для упаковки ресурсов в аутентифицированные шифрованные архивы с использованием AES-GCM, адаптивного сжатия и проверок целостности каждого файла.
## Поддерживаемые платформы
- Windows
- macOS
- Linux
Требуется .NET 10.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.