A lightweight cross-platform Rust game framework for creating 2D and 3D games with minimal friction.
ggez is a Rust library designed to make game development straightforward and accessible. It provides a portable foundation for building 2D and 3D games, offering essential features like drawing, sound, and event handling without unnecessary complexity. The framework is inspired by the LÖVE game framework but extends it with 3D capabilities and Rust-specific optimizations.
Rust developers looking to create 2D or 3D games with a lightweight, cross-platform framework that minimizes friction. It's ideal for those who want a batteries-included base without being locked into specific higher-level systems like physics engines or ECS.
Developers choose ggez for its balance of simplicity and flexibility, offering a Rustified version of the LÖVE API with added 3D support and modern graphics via wgpu. It provides core game development tools while allowing easy integration of external libraries for advanced needs.
Rust library to create a Good Game Easily
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses wgpu for hardware-accelerated 2D and 3D rendering, providing performance and cross-platform compatibility with support for shaders and instanced draws.
Offers essential features like audio playback via rodio, TTF font rendering, and input handling through callbacks, reducing setup time for basic game development.
Fully supported on Windows, Linux, and macOS with a consistent API, and includes filesystem abstraction for loading resources from folders or zip files.
Acts as a minimal base that allows integration of external libraries for physics, GUI, or ECS, avoiding vendor lock-in and promoting customization.
Android, iOS, and Web targets are not officially supported, requiring extra effort or forks like good-web-game, which adds complexity for cross-platform projects.
Lacks integrated physics, animation, GUI, or networking, as admitted in the Non-Features list, necessitating additional dependencies and integration work.
While ggez simplifies game loops, its reliance on Rust's ownership model and async patterns can be challenging for developers new to the language.
ggez is an open-source alternative to the following products: