thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #gameengine
ggez/ggez ★ 4683 441 APPLICATION

ggez is a lightweight, cross-platform 2D game framework for Rust, inspired by LÖVE. It provides a comprehensive set of subsystems for graphics, audio, input, filesystem, and timer management, all accessible through a central `Context` object. The framework abstracts over `winit` for windowing and events, `wgpu` for GPU rendering, `rodio` for audio playback, and `gilrs` for gamepad support. The architecture is modular, using sub-contexts (e.g., `GraphicsContext`, `AudioContext`) that can be individually accessed via `Has`/`HasMut` traits, allowing for custom context composition. The graphics pipeline supports 2D and optional 3D rendering (behind a feature flag) with shaders, meshes, images, instanced drawing, and text rendering via `glyph_brush`. The filesystem uses a virtual filesystem (VFS) layer with physical directories and zip archives, and configuration is handled via TOML serialization. Key entry points include `ContextBuilder` for initialization, `EventHandler` trait for the game loop (with `update`, `draw`, and input callbacks), and the `event::run()` function to start the application. Data flows are event-driven: user input is collected by `winit` and forwarded to the event handler, while rendering commands are batched and submitted to the GPU each frame. The framework also includes built-in coroutines for asynchronous tasks without futures. The repository contains over 40 examples demonstrating all major features, from simple drawing to complex 3D scenes and shader effects. ggez is actively maintained with a stable API, though some parts (e.g., 3D support, coroutine implementation) are less mature. The codebase demonstrates good engineering practices: builder patterns, resource caching, buffer sub-allocation, and a clear separation of concerns. It is suitable for hobby game development, educational projects, and rapid prototyping. The heavy reliance on evolving crates like `wgpu` and `winit` introduces some technical drift, but the framework keeps pace with updates.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 2 reusable components found
KaijuEngine/kaiju ★ 4700 210 APPLICATION

Kaiju Engine is a full-featured 2D/3D game engine written in Go, backed by Vulkan for rendering. It includes a built-in editor that runs as a game within the engine, providing workspaces for stage management, shader design, render graph editing, terrain painting, and content browsing. The engine core handles entity management, physics (custom Graviton engine with rigid bodies, constraints, and collision detection), audio (SoLoud via CGo), networking (UDP with reliability), UI (custom HTML/CSS markup engine with flexbox/grid layout), asset pipeline (glTF, FBX, textures, fonts), and cross-platform support (Windows, Linux, macOS, Android). The editor adds undo/redo history, action system with key bindings, Lua scripting, a Web API, and a plugin system. The codebase is a monorepo with heavy use of Go build tags for platform-specific code and feature flags.

RATING: 8.1/10 MAINT: active DRIFT: medium
â–¸ 8 reusable components found
── end of results ──
$ submit: