A multi-platform 2D game library for Go, supporting desktop, web, and Android.
ENGi is a 2D game library for the Go programming language that enables developers to create games for multiple platforms, including desktop, web, and Android. It provides essential tools for graphics, input, and asset management, though it is currently in an early alpha stage as a proof of concept.
Go developers interested in building 2D games that can run on desktop, web, or Android without switching languages or frameworks.
Developers choose ENGi for its Go-native design, cross-platform capabilities, and clean interfaces, offering a lightweight alternative to larger game engines while leveraging Go's simplicity and performance.
A multi-platform 2D game library for 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 desktop via GLFW, web via GopherJS, and has Android in development, enabling multi-target game development in Go.
Offers clean, idiomatic Go APIs tailored for game development, making it intuitive for Go programmers without foreign bindings.
Includes tools for handling assets and consistent input across platforms, as highlighted in the Status section for improved workflow.
Facilitates quick iteration with tools like SRVi for automatic rebuilding in web development, ideal for testing ideas rapidly.
Labeled as SUPER ALPHA with bugs and major API changes expected, making it unsuitable for production or long-term projects.
Android backend is still in development, limiting immediate use for mobile game development compared to other platforms.
Desktop backend requires GLFW with potential linker errors on Windows, necessitating specific compilers like TDM-GCC, adding setup overhead.
As a proof of concept, it lacks advanced features like sound systems, networking, or comprehensive debugging tools found in mature engines.