Ebitengine is a 2D game engine for Go that emphasizes simplicity and cross-platform deployment.
The engine addresses the need for straightforward game development in Go by providing a minimal API that handles core 2D game functionality. It works by exposing graphics rendering, input handling, and audio playback through Go packages, allowing developers to write game logic without wrestling with low-level graphics APIs or platform-specific code.
Ebitengine suits developers who want to build 2D games in Go and deploy them across multiple platforms without rewriting code. It works well for projects targeting Windows, macOS, Linux, FreeBSD, Android, iOS, WebAssembly, Nintendo Switch, and Xbox. The engine includes built-in support for 2D graphics with matrix transformations, composition modes, offscreen rendering, text rendering, and custom shaders, along with input handling for mice, keyboards, gamepads, and touch, and audio playback for Ogg Vorbis, MP3, WAV, and PCM formats. The README does not compare it to alternative game engines.
The project maintains active community channels including Discord, Slack, GitHub Discussions, and Reddit. Development includes experimental packages for shader precompilation and text input alongside stable core APIs. The repository includes a skills directory designed to guide AI coding agents working with the codebase.