Об этом проекте
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 и рассылка.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.