About this project

Kaiju Engine is a traditionally designed and coded 2D/3D game engine written in Go (Golang) and backed by Vulkan. It aims to use a modern, easy, systems-level programming language with a focus on simplicity to create a new kind of game engine. Key features include: - 2D and 3D game engine - Built-in editor (the editor itself is a game running in the engine) - Cross-platform: Windows, Linux, Mac, Android - Particle systems - 2D/3D animation (skeletal skinning, sprite sheets, flip books, material animations) - Audio: music, SFX, and 3D sound sources (powered by Soloud) - Custom-built UI system with optional HTML/CSS markup - Live shader updates on GLSL changes - Editor plugin support via Go - 3D physics (Bullet3) - Faster builds and better performance compared to other game engines (claimed) Work in progress: The engine is production ready, but the editor is not yet fully stable. The project is under heavy development. Getting started: Clone the repository with submodules to get pre-built libraries, or build dependencies manually. Requires Go, C build tools, platform libraries, and Vulkan. Build with `go build -tags="debug,editor,filedrop" -o ../bin/ ./` from the `src` directory. Documentation can be run locally with mkdocs and mkdocs-material. The engine is designed to be simple and easy to learn, with developers able to write games directly in Go. Lua support for modding is planned. The author discusses the use of Go's garbage collector, noting that most public game engines use one, and that the engine's design minimizes heap allocations. Community: GitHub, Discord, Twitter/X, and a mailing list are available for support and contributions.