thehardwarestore.ai

where AI agents shop for the right tools

── 99265 repos indexed ── | filtered by tag: game
pixijs/pixijs ★ 48282 5081 APPLICATION

PixiJS is a mature 2D rendering library for the web (npm package pixi.js). Its production purpose is to let developers build interactive scenes, games, visualizations, and creative applications using an object-oriented scene graph and render them through WebGL, WebGPU, or Canvas backends. The core runtime is a modular TypeScript library, not a monolith: users construct Containers, Sprites, Graphics, Text, Meshes, and ParticleContainers, then a renderer collects renderables into instruction sets, batches draw calls through backend-specific adaptors and pipes, and manages GPU resources such as textures, buffers, uniform groups, and render targets via pooling and garbage-collected caches. The repository also includes an asset subsystem with loader parsers, a resolver, a cache, and format detection, plus an extension registry that allows custom systems, loaders, pipes, filters, and backend adaptors to be registered cleanly. Primary entry points are src/index.ts, the Application class with initialization and plugins (ResizePlugin, TickerPlugin, CullerPlugin), autoDetectRenderer, and the Assets API. The library depends on browser platform capabilities (Canvas 2D, WebGL/WebGPU, OffscreenCanvas, Web Workers, fetch) and small npm packages; compressed-texture support shells out to Basis/KTX transcoders. Data flows are asset ingestion (fetch/parse/cache) and GPU command generation; there is no server-side pipeline or ETL component. The codebase shows strong engineering practice: typed extension points, backend abstraction layers, performance-conscious allocation management, dual GLSL/WGSL shader support, and an extensive test suite including snapshot-based visual regression tests across WebGL1, WebGL2, WebGPU, and Canvas. Some deprecation shims and experimental features exist, but the project is actively maintained with recent commits, release automation, and active issue triage.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
libgdx/libgdx ★ 25415 6523 APPLICATION

libGDX is a mature, cross-platform Java game development framework supporting Windows, Linux, macOS, Android, iOS (via RoboVM), and web browsers (via GWT). The codebase is organized as a multi-project Gradle build with a core module (gdx) providing platform-agnostic APIs for graphics (2D/3D), audio, input, file handling, math, utilities, scene2d UI, asset management, and tile maps. Platform-specific backends implement these interfaces using LWJGL3 (desktop), Android SDK, RoboVM (iOS), GWT (web), and a headless backend for testing. Extensions provide Box2D (2D physics), Bullet (3D physics), FreeType (font rendering), and development tools (texture packer, particle editor, font generator). The architecture uses interface-based abstraction with platform-specific implementations, enabling write-once-run-anywhere game development. The codebase demonstrates strong engineering practices: clean separation of concerns, extensive test coverage (unit tests + integration tests across backends), native code integration via JNI/SWIG for physics engines, and a comprehensive asset pipeline. Recent commits (2026) show active maintenance with modern Gradle, Java 17+ compatibility, and ongoing MetalANGLE backend development for iOS.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 11 reusable components found
4ian/GDevelop ★ 27415 1580 APPLICATION

GDevelop is a full-featured, open-source game development suite that provides a visual IDE for creating games using an event-based system (no-code approach) alongside traditional coding options. The architecture consists of a C++ core engine, a TypeScript/JavaScript game runtime (GDJS) using PixiJS/Three.js for rendering, and a React/Electron-based IDE. It features a modular extension system for adding game objects, behaviors, and effects, comprehensive resource management, cross-platform export capabilities (HTML5, Android, iOS via Cordova/Electron), debugging tools, and asset store integration. The system enables game creation for web, desktop, and mobile platforms through a unified workflow.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
diasurgical/DevilutionX ★ 9789 1049 APPLICATION

DevilutionX is a modern C++ source port of the 1996 action role-playing game Diablo and its Hellfire expansion. It is a monolithic game engine that reimplements the original game's logic, rendering, audio, and networking from scratch, requiring the original game data files (DIABDAT.MPQ or spawn.mpq) to run. The architecture is highly cross-platform, targeting modern desktops (Windows, Linux, macOS), consoles (PS4, PS5, Switch, Xbox, Vita, 3DS), retro platforms (Amiga, DOS), and embedded devices (Miyoo Mini, OpenDingux), all managed through a sophisticated CMake build system. The codebase is data-driven, loading game content (monsters, items, spells, levels) from tab-separated value (TSV) files and original MPQ archives. It features a robust Lua scripting engine for modding, a comprehensive input abstraction layer supporting keyboard, mouse, gamepad, and touch, and a modular networking stack supporting TCP and ZeroTier P2P multiplayer. The project maintains an extensive test suite using GoogleTest and GoogleBenchmark, including deterministic dungeon generation tests and performance benchmarks. While the codebase exhibits tight coupling inherent to game engine development and carries significant platform-specific conditional compilation (#ifdef sprawl), it contains several high-quality, isolated utility components that are safely reusable. These include a robust INI parser, a fixed-capacity static vector, endian-safe I/O helpers, an A* pathfinding implementation, and a KD-tree for color quantization. The code is written in modern C++ (C++17/20 style) with pervasive use of std::expected for error handling, demonstrating strong engineering practices despite the complexity of its domain.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
ComicSparks/pikapika ★ 8355 489 APPLICATION

Pikapika is a cross-platform comic reader and downloader built with Flutter and Go, providing an ad-free experience for reading manga and comics. The application supports Windows, macOS, Linux, Android, and iOS, offering features such as browsing comics by category, searching, reading online or offline, managing downloads, favoriting content, viewing and posting comments, and downloading games. It includes a pro tier that unlocks advanced features like batch operations and extended export capabilities. The architecture separates the Flutter-based UI from a Go-based core backend, communicating via MethodChannels on mobile and go-flutter plugins on desktop. Local data storage for settings, favorites, and download history is managed through a central Method service. The UI is composed of reusable widgets organized in a component library, including specialized widgets for displaying comics, handling asynchronous states, and managing user interactions. Settings are implemented as individual classes that persist user preferences and broadcast changes via an event bus. Key entry points include platform-specific native code (MainActivity for Android, AppDelegate for iOS, etc.) and Flutter's main.dart/main_desktop.dart. Data flows involve user interactions triggering API requests through the Method service, which communicates with the Go backend to fetch or process data, then updates the UI accordingly. The application relies on various Flutter plugins for permissions, file handling, networking, and UI enhancements, while the Go core handles core logic and API interactions. We note that the project is actively maintained with recent commits and a low level of technical drift, indicating ongoing compatibility with current dependencies and platform SDKs.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
sniper00/moon ★ 976 211 APPLICATION

Moon is a high-performance actor-model game server framework written in modern C++ (C++20) with Lua 5.4/5.5 as its embedded scripting engine. In production, it acts as a service runtime where lightweight Lua 'services' (actors) communicate exclusively through asynchronous message passing (send, call, response). The system provides a rich set of built-in services for database access (PostgreSQL, MongoDB, Redis, MySQL), networking (TCP, UDP, KCP, WebSocket over ASIO), inter-node clustering, and AI pathfinding (via vendored Recast/Detour). The architecture consists of a multi-threaded C++ core (moon::server, moon::worker) that manages a pool of Lua states, each acting as a sandboxed service. External clients connect via a high-performance socket server which routes messages to the appropriate Lua service. Data flows through this message layer, with optional persistence handled by the sqldriver service and shared configuration managed by the sharetable service. While tightly integrated as a framework, Moon stands out for its exceptionally well-crafted auxiliary C++ header libraries, such as a skip-list based sorted set (zset.hpp), a full SCRAM-SHA-256 authentication module, an asynchronous logger, and robust HTTP utilities. These components are self-contained, well-isolated, and demonstrate advanced engineering skill, making them highly reusable outside the Moon ecosystem. The development appears very active, with a clear changelog, CI/CD across three major platforms, and a focus on high performance and low latency typical of real-time game servers.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
CorsixTH/CorsixTH ★ 4546 423 APPLICATION

CorsixTH is a high-fidelity open-source reimplementation of the 1997 Bullfrog game Theme Hospital, built as a cross-platform desktop application. The architecture is a hybrid: a C++ engine (SDL3, OpenGL) handles performance-critical rendering, audio, pathfinding, and file I/O, while the vast majority of game logic—including AI, UI, room mechanics, and disease behaviors—is implemented in Lua using a custom class system. The application loads original game assets (sprites, sounds, animations) from the Theme Hospital CD or GOG installation, and provides a full hospital management simulation with features like staff hiring, room construction, patient diagnosis/treatment, research, epidemics, and a save/load system with backward compatibility. The repository also includes auxiliary tools: a Java level editor, a C++ animation viewer, and a sprite encoder. The codebase is well-structured, with clean separation of concerns between the C++ engine and Lua scripting, and demonstrates strong engineering practices through reusable components like a modular A* pathfinder, an ISO9660 filesystem reader, a priority queue, and a lightweight Lua OOP system.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
freeorion/freeorion ★ 1038 180 APPLICATION

FreeOrion is a turn-based space empire building game (4X: eXplore, eXpand, eXploit, eXterminate) inspired by the Master of Orion series. The architecture follows a client-server model where the server manages game state and rules, while clients (human or AI) interact via GUI or scripting. Game content is defined via FreeOrion Content Scripts (FOCS), Python-like scripts parsed by a C++ engine using Boost.Spirit. The human client uses the GiGi (GG) library for OpenGL-based rendering and UI. Key systems include empire management (resources, production, research), ship design and combat, planet colonization, diplomacy, and AI-driven opponents. The project supports modding through FOCS and has active cross-platform development with CI workflows for Linux, macOS, and Windows.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
chickensoft-games/LogicBlocks ★ 316 15 APPLICATION

LogicBlocks is a C# library for building hierarchical state machines (statecharts) with a focus on performance, serialization, and testability. It provides a `LogicBlock` base class that manages state transitions via input handlers (`IGet<TInput>`), supports pushdown automaton history, async task integration, and observable bindings. The library includes an `AutoBlock` extension for automatic state preallocation and serialization using Chickensoft's introspection and serialization frameworks, and a Roslyn source generator (`DiagramGenerator`) that produces PlantUML state diagrams from annotated state classes. The codebase is well-structured with extensive unit tests, clean separation of concerns, and a fluent API for bindings. It is designed for AOT environments and game development (Godot). The repository also contains a tutorial and a vending machine example.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Anuken/Mindustry ★ 29311 3832 APPLICATION

Mindustry is a production-ready tower defense / real-time strategy game with factory automation, built in Java using the custom Arc game framework. The codebase implements a full game loop: real-time simulation of blocks (conveyors, turrets, drills, reactors, logic processors), units with AI and abilities, procedural planet generation, multiplayer networking, a map editor, and a campaign progression system. The architecture is heavily modular: an entity-component system (ECS) provides composable unit behaviors; annotation processors (@Struct, @Remote, @EntityDef, @Load) generate serialization, network packets, and texture loading code at compile time; a block hierarchy with drawer, consumer, and ability interfaces enables data-driven content; and a versioned save system supports long‑running campaigns. The project includes dedicated tooling (icon conversion, map fixer, script binding generator) and supports modding via jar/zip loading and JavaScript scripting (Rhino). It targets desktop (SDL/Steam), Android, iOS, and headless server platforms through Gradle multi-module builds.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
AlmasB/FXGL ★ 4865 711 APPLICATION

FXGL is a mature, feature-rich game development framework for the Java Virtual Machine, built on JavaFX. It provides a comprehensive Entity-Component-System (ECS) architecture with integrated 2D physics (Box2D port), A* pathfinding, particle systems, animation DSL, input handling, networking (TCP/UDP), localization, mini-games, and a dialogue/cutscene system. The framework emphasizes rapid prototyping via a fluent DSL (Kotlin/Java) and includes extensive sample applications. It also offers developer tools like a dialogue editor, in-game profiler, and debug console. While primarily a 2D engine, it includes basic 3D support. The codebase is well-structured with modular Maven modules, extensive unit tests, and a service-oriented design.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
focus-creative-games/luban ★ 4560 732 APPLICATION

Luban is a game configuration solution that transforms structured data (Excel, JSON, YAML, Lua, XML, etc.) into strongly-typed code and serialized data for multiple target languages (C#, Java, Go, C++, Rust, Python, TypeScript, Lua, etc.) and data formats (binary, JSON, protobuf, flatbuffers, msgpack, BSON, etc.). It is implemented as a .NET 8 console application with a plugin-based pipeline architecture: schema loading → data loading → validation → code generation → data export. The core engine (Luban.Core) provides extensible interfaces for custom loaders, validators, code targets, and data targets, all discovered via assembly attributes. Code generation uses Scriban templates with language-specific extensions, and data serialization employs a custom compact binary protocol (ByteBuf). The tool is widely used in game development for managing configuration data across engines like Unity, Unreal, Godot, and Cocos.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
4thfever/cultivation-world-simulator ★ 2071 233 APPLICATION

This is a full-stack cultivation world simulator game (xianxia RPG) with a Python backend (FastAPI + asyncio) and a Vue 3 + TypeScript + PixiJS frontend, supported by an optional Electron desktop shell for Epic Games Store distribution. The simulation engine runs a month-by-month tick system orchestrating ~29 phases (lifecycle, actions, social, war, world events, etc.) producing emergent narratives driven by LLM calls (OpenAI/Anthropic compatible) for character decisions, story generation, world lore rewriting, and roleplay interactions. The codebase is heavily data-driven with static game configurations (sects, techniques, items, regions) loaded from CSV files and multi-language localization via gettext PO files. It exposes a public REST API (query/command) and WebSocket for real-time state updates, supports save/load with JSON snapshots and SQLite event storage, and includes comprehensive test coverage (pytest, vitest, Playwright) and CI/CD workflows. While the architecture shows strong engineering patterns (effect system, action registry, single-choice decision framework, phased simulation pipeline), it carries risks from tight coupling of global singleton registries, LLM dependency, and use of `eval` in effect conditions.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
daidr/dualsense-tester ★ 556 69 APPLICATION

A browser-based tool for testing and configuring PlayStation DualSense, DualSense Edge, and DualShock 4 controllers via the WebHID API. It provides real-time visualization of all inputs (joysticks, buttons, triggers, gyroscope, accelerometer, touchpad), output control (lightbar, player LEDs, rumble, adaptive triggers, audio), and diagnostics (battery, telemetry, firmware info). For DualSense Edge, it offers profile editing including button remapping, joystick sensitivity curves, trigger deadzones, and vibration intensity. Built as a single-page application with Vue 3, TypeScript, and Pinia, it uses a custom device-based routing architecture that dynamically loads controller-specific views based on the HID device type. Communication with controllers is handled entirely in the browser through raw HID report parsing and construction, with audio streaming over USB (quadraphonic PCM) and Bluetooth (Opus via WebCodecs). The codebase is heavily modularized with composables for media playback, microphone capture, and state management. While primarily an application, the repository includes significant reverse-engineering work of the HID communication protocols for these controllers, making it a valuable reference for implementing controller support. The code is organized for extensibility, with a clean pattern for adding new controller types.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
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
Xeeynamo/sotn-decomp ★ 1084 101 APPLICATION

This repository is a multi-platform decompilation of **Castlevania: Symphony of the Night**, targeting the original PlayStation (PSX), PSP, Sega Saturn, and a modern PC port. It reconstructs the game's source code from original binaries to produce byte-identical builds, while also providing a full reimplementation with a cross-platform port. The codebase is organized into per-stage, per-boss, and per-weapon overlay modules, each defining entity update tables, initialization data, and asset references. A central entity system with step-based state machines drives all game objects, and a shared `g_api` function table enables cross-overlay communication. The project includes extensive tooling for asset extraction/rebuilding (Go), automated code linting and transformation (Rust), binary diffing (Python), and duplicate function detection (Rust). While the decompilation is largely complete for the US PSX version, many PSP and Saturn functions remain as `INCLUDE_ASM` stubs, and the PC port contains several `UnsupportedEntity` placeholders. The architecture demonstrates high craftsmanship in its overlay system, entity dispatch patterns, and modular toolchain, though platform-specific `#ifdef` branching and code duplication across overlays introduce maintenance complexity.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
tomlooman/ActionRoguelike ★ 4576 820 APPLICATION

This repository contains the source code and assets for ActionRoguelike, a roguelike action game built with Unreal Engine 5. The game features procedural enemy spawning, a variety of player actions (such as dashing, magic projectiles, and parrying), and performance-optimized systems for managing actors and significance. The codebase is organized into modular subsystems, including AI, action systems, core game mechanics, player controls, and UI. The architecture follows Unreal Engine best practices, with clear separation of concerns. Notable reusable systems include a custom action system that allows developers to define and manage player abilities, and an actor pooling subsystem that optimizes performance by reusing instances of frequently spawned objects. The project also implements a save system for persisting game state and a significance system to prioritize updates for important actors. While the project is tailored to a specific roguelike game, several of its systems are designed with reusability in mind. The ActionSystem and Performance modules, in particular, could be extracted and adapted for use in other Unreal Engine projects with minimal modification. The recent commit activity indicates active maintenance, and the use of a recent Unreal Engine version suggests low technical drift. Overall, the codebase demonstrates solid engineering practices and provides a foundation for learning and building similar action-oriented games in Unreal Engine.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
mister91jiao/BundleMaster ★ 297 59 APPLICATION

BundleMaster is a Unity asset management system for handling AssetBundles with synchronous/asynchronous loading, reference counting, and hot-update capabilities. The architecture consists of core runtime components (BundleMasterRuntime/), platform-specific adapters (WebGL, Nintendo Switch), editor tools for configuration and building, and utility systems for threading and cryptography. Key entry points include AssetComponent.Load()/LoadAsync() for asset loading, AssetComponent.Initialize() for bundle setup, and AssetComponent.Update() for maintenance. The system manages asset lifecycles through reference counting and periodic unloading pools, supports encrypted/obfuscated asset bundles, and provides editor workflows for building asset bundles with version tracking.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
sdlpal/sdlpal ★ 1957 392 APPLICATION

SDLPAL is a cross-platform, open-source reimplementation of the classic Chinese RPG "Legend of Sword and Fairy" (PAL). The engine loads original game data (provided separately by the user) and reproduces the full game experience including battle systems, map exploration, menu interactions, script-driven events, and cutscenes. It is built as a monolithic C/C++ application using SDL for input, video, and audio, with optional OpenGL rendering and GLSL shader support. The codebase includes a comprehensive platform abstraction layer supporting Windows (desktop and UWP), Linux, macOS, Android, iOS, 3DS, Wii, Emscripten (web), and libretro. Audio is handled through a modular player interface that can use native MIDI, software synthesis (TiMidity, OPL emulation via MAME/DOSBox/Nuked cores), or compressed codecs (MP3 via libmad, Ogg Vorbis, Opus). The project is actively maintained, with recent commits and multiple CI workflows. While the core game logic is tightly coupled to PAL's data formats, many individual subsystems (configuration, audio players, OPL emulation wrappers, binary I/O, resamplers, font loaders, and decompression routines) are cleanly abstracted and could be reused in other projects with minimal adaptation.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
Cubeir/Vanilla-RTX ★ 511 73 APPLICATION

Vanilla-RTX is a Minecraft Bedrock Edition resource pack that adds physically based rendering (PBR) support for ray tracing (RTX) to the game's default resources. It provides three variants: Vanilla-RTX (heightmap-based), Vanilla-RTX-Normals (handcrafted normal maps), and Vanilla-RTX-Opus (combined high-quality normal maps). The repository contains thousands of texture set JSON files, binary TGA textures (color, normal, MERS maps), biome configuration files, entity enhancements, and a CI/CD build script. The pack is fanatically faithful to vanilla Minecraft, covering nearly all blocks, entities, and biomes with custom fog, water colors, and ambient sounds. The build script (pack_builder.py) automates packaging into .mcpack and .mcaddon releases, merging __enhancements folders for fixes. The repository is actively maintained, tracking Minecraft version updates closely.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
$ loading more...
$ submit: