Об этом проекте

Kaiju Engine — это традиционное по структуре и реализации 2D/3D игровое движение, написанное на Go (Golang) и использующее Vulkan в качестве основы. Его цель — применять современный, простой системный язык программирования с акцентом на лаконичность для создания нового типа игрового движка. Ключевые особенности: - 2D и 3D игровое движение - Встроенный редактор (сам редактор представляет собой игру, работающую внутри движка) - Кроссплатформенность: Windows, Linux, Mac, Android - Системы частиц - 2D/3D-анимация (скелетная деформация, sprite sheets, flip books, анимация материалов) - Аудио: музыка, SFX и 3D-источники звука (на базе Soloud) - Собственная система UI с опциональной разметкой HTML/CSS - Живое обновление шейдеров при изменениях GLSL - Поддержка плагинов редактора на Go - 3D-физика (Bullet3) - Заявлено более быстрая сборка и лучшая производительность по сравнению с другими игровыми движками Состояние разработки: движок готов к использованию в продакшене, но редактор пока не полностью стабилен. Проект активно развивается. Начало работы: клонируйте репозиторий с подмодулями, чтобы получить предсобранные библиотеки, либо соберите зависимости вручную. Требуются Go, C-инструменты сборки, платформенные библиотеки и Vulkan. Сборка выполняется из каталога `src` командой `go build -tags="debug,editor,filedrop" -o ../bin/ ./`. Документацию можно запускать локально с помощью mkdocs и mkdocs-material. Движок спроектирован так, чтобы быть простым и легким для изучения; разработчики могут писать игры непосредственно на Go. Поддержка Lua для моддинга запланирована. Автор обсуждает использование сборщика мусора в Go, отмечая, что большинство публичных игровых движков тоже используют сборщик мусора, а архитектура движка минимизирует выделение памяти в куче. Сообщество: для поддержки и участия в разработке доступны GitHub, Discord, Twitter/X и рассылка.