Легковесный 2D-движок на базе C++ и SDL2, использующий архитектуру ECS (Entity Component System) и собственный бинарный формат данных .nst.
- Data-Oriented Design: Высокая производительность благодаря разделению данных (World) и логики (Systems).
- Custom Parser: Загрузка игровых объектов из бинарных файлов
.nst. - Y-Sorting Render: Автоматическая сортировка объектов по вертикали для корректного отображения глубины.
- Hybrid Rendering: Поддержка как текстурированных спрайтов, так и геометрических примитивов (Rects) через единый конвейер отрисовки.
src/— исходный код ядра и систем.output/— необходимые DLL (SDL2) и ресурсы.metadata.rc— метаданные исполняемого файла (версия, иконка).version.txt— автоинкремент версии при каждой сборке.
Для компиляции используется MinGW (g++). Убедитесь, что пути к SDL2 в батниках соответствуют вашим (по умолчанию C:/SDL).
-
Для разработки: Запустите
debug.bat. Он скомпилирует проект с флагами отладки, обновит версию, скопирует DLL и автоматически запустит игру из папкиdebug/. -
Для релиза: Запустите
compile.bat. Он создаст оптимизированную сборку в папкеreleases/v[номер_версии], упаковав туда бинарник, исходники и необходимые библиотеки.
Движок использует специфическую структуру бинарного файла для описания сущностей:
- Заголовок
NST. - Количество сущностей.
- Флаги компонентов (Position, Size, Color, Sprite, Collide).
- Данные каждого компонента в строго определенном порядке байтов.
Public Domain / Creative Commons (см. metadata.rc)