A cross-platform 2D game engine written in Go using an Entity Component System (ECS) architecture.
Engo is a cross-platform 2D game engine written in Go that uses an Entity Component System (ECS) architecture. It enables developers to create games that run on desktop (Mac, Linux, Windows), mobile (Android, iOS), and web platforms via WebAssembly. The engine provides built-in systems for rendering, camera management, input handling, and audio to streamline game development.
Go developers interested in 2D game development, especially those looking for a modular, ECS-based engine with cross-platform deployment capabilities.
Engo offers a pure-Go, ECS-driven approach to game development with extensive cross-platform support, including WebAssembly for web games. Its modular design and built-in common systems reduce boilerplate and accelerate prototyping.
Engo is an open-source 2D game engine written in Go.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports compilation to desktop, mobile, and web via WebAssembly from a single Go codebase, as detailed in the README's key features.
Uses an Entity Component System architecture for efficient and modular game object management, enabling clean code organization.
Includes ready-to-use systems like RenderSystem and CameraSystem in the `common` package, reducing boilerplate for common game tasks.
Allows games to run in browsers without JavaScript, leveraging Go's WebAssembly compilation for web-based deployment.
Requires installing platform-specific dependencies like libasound2-dev on Linux or Mingw on Windows, which can be cumbersome for newcomers.
The README lists breaking changes since v1.0, such as TMXObject updates, indicating potential instability for ongoing projects.
Has a smaller community and fewer pre-built assets or extensions compared to larger engines, relying more on custom development.