Skip to content

RosiesMaksit/nst-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NST-Engine

Легковесный 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).

  1. Для разработки: Запустите debug.bat. Он скомпилирует проект с флагами отладки, обновит версию, скопирует DLL и автоматически запустит игру из папки debug/.

  2. Для релиза: Запустите compile.bat. Он создаст оптимизированную сборку в папке releases/v[номер_версии], упаковав туда бинарник, исходники и необходимые библиотеки.

Формат .nst

Движок использует специфическую структуру бинарного файла для описания сущностей:

  • Заголовок NST.
  • Количество сущностей.
  • Флаги компонентов (Position, Size, Color, Sprite, Collide).
  • Данные каждого компонента в строго определенном порядке байтов.

Лицензия

Public Domain / Creative Commons (см. metadata.rc)

About

Мой собственный легковесный и быстрый движок.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors