30 open-source projects similar to iamkun/tower_game, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Phaser is a comprehensive 2D game engine designed for building high-performance, interactive content that runs directly in web browsers. At its core, the engine utilizes a fixed-timestep simulation loop that decouples game logic from variable browser frame rates, ensuring consistent behavior across diverse hardware. It provides a robust framework for managing asset loading, physics, input, and audio, enabling the creation of complex, responsive visual experiences for both desktop and mobile devices. The engine distinguishes itself through a high-performance graphics pipeline that automaticall
Hilo is an HTML5 game engine for building 2D games that run across browsers and devices. It renders graphics through Canvas, DOM, or WebGL backends, automatically selecting the best option for the target environment. The engine provides a complete game development solution with sprite, skeletal, and particle animation, along with a texture atlas system for efficient image loading and rendering. The framework distinguishes itself through its integration of the DragonBones skeletal animation engine, which drives bone-based character movement without frame-by-frame sprites, and its Chipmunk phys
This project is a browser-based framework designed for building three-dimensional, block-based games and interactive simulations. It functions as a JavaScript library that provides the core infrastructure for rendering voxel environments, managing dynamic terrain data, and executing real-time physics within a web-based context. The engine distinguishes itself through a high-performance WebGL rendering pipeline that utilizes texture-atlas material mapping to consolidate visual assets and reduce draw calls. It manages large-scale environments by dividing the world into discrete, chunk-based spa
uPlot is a high-performance canvas time series charting library designed to render millions of data points with high frame rates. It functions as a high-frequency data visualizer and a real-time data stream plotter, utilizing the HTML5 Canvas API to maintain responsiveness when plotting large temporal datasets. The project distinguishes itself as a plugin-based visualization framework that allows for custom renderers to create specialized visuals such as heatmaps and box-and-whisker plots. It also serves as an interactive financial charting tool, specifically supporting OHLC charts, bars, and
LittleJS is a lightweight HTML5 2D game engine designed for building web games using Canvas and WebGL without external dependencies. It integrates a WebGL sprite renderer, a 2D physics engine for arcade-style collisions and rigid-body dynamics, and a grid-based A* pathfinding system for entity navigation. The engine is distinguished by its procedural audio synthesizer, which generates music and sound effects at runtime using parameter arrays to minimize file sizes. It also features a comprehensive graphics pipeline that supports custom fragment-shader post-processing and a dynamic 2D lighting
Chart.js is a declarative data visualization framework that renders interactive, responsive charts directly onto an HTML5 canvas element. It functions as a configuration-driven engine, transforming structured datasets into complex graphical representations by merging user-defined settings with global defaults. The library utilizes a high-performance rendering pipeline that executes drawing commands during each animation frame to maintain smooth visual feedback. The project distinguishes itself through a modular, extensible architecture that allows developers to register custom scales, control
Superpowers is a browser-based game development engine and collaborative integrated development environment. It provides a unified workspace for building two-dimensional interactive experiences, allowing users to manage code, assets, and scene logic directly within a web browser without the need for local compilers or heavy desktop software. The platform distinguishes itself through a modular, component-based scripting architecture where game objects are defined by attached logic and visual properties. It supports real-time synchronization, enabling multiple developers to work on the same pro
Duelyst is a turn-based strategy game engine and multiplayer framework designed for collectible card games. It provides a dedicated architecture for managing tactical combat and card-driven interactions across both web and desktop environments. The platform distinguishes itself through a self-hosted infrastructure that utilizes containerized environments to deploy private game sessions. This approach grants players full access to game content and ensures consistent deployment across local and remote systems. The engine also features a data-driven localization system that separates game text i
MonoGame is a cross-platform game engine and framework built for the C# language and .NET ecosystem. It provides a development environment for creating 2D and 3D games that run across multiple operating systems and hardware platforms. The project serves as an open-source implementation of the XNA game studio API. It includes a dedicated game asset pipeline to convert raw art and sound files into optimized formats for efficient engine loading. The framework provides a hardware-abstraction layer to maintain a consistent interface for graphics and input across different devices. Its capabilitie
Piston is a modular game engine and framework written in Rust for building two and three-dimensional graphical applications. It functions as a cross-platform windowing library and a system for managing input events and window loops across different operating systems. The project provides specialized rendering systems, including a voxel rendering engine for volumetric pixels and a skeletal animation system for deforming meshes via hierarchical bone structures. It also features an immediate mode user interface toolkit for creating responsive on-screen elements and a behavior tree AI framework t
melonJS is a lightweight HTML5 game engine for building 2D games in the browser using JavaScript. It provides a complete framework for sprite animation, tilemap loading, physics simulation, input handling, and audio playback, with a unified rendering system that automatically switches between WebGL and Canvas2D backends without code changes. The engine distinguishes itself through several integrated capabilities. It features a per-sprite shader pipeline for custom fragment shader effects, a SAT-based collision engine with swappable physics adapters (including built-in SAT, Matter.js, and Plan
ggez is a 2D game framework for the Rust programming language. It provides a hardware abstraction layer for accessing keyboard, mouse, sound, and graphics hardware, alongside a dedicated game loop manager that synchronizes input processing, state updates, and frame rendering for real-time applications. The framework includes a hardware-accelerated rendering engine for drawing sprites, shapes, and text using shader programs. It also features a resource management system that uses a filesystem abstraction to load and manage game assets from physical directories or compressed archives. Addition
This repository contains the original source code for a classic real-time strategy game, serving as a legacy game engine implementation for managing units, maps, and combat mechanics in a military strategy setting. It functions as a real-time strategy game source code archive intended for preservation and technical study. The codebase acts as a game modification base, allowing developers to create custom content and modifications using the original source. It provides a foundation for retro game modding and software archeology to analyze how historical game mechanics were programmed. The pro
Flame is a 2D game engine and framework for Flutter. It provides a component-based architecture to organize scene entities and manage their lifecycles through a structured hierarchy of game objects, coordinated by a consistent game loop. The engine includes a graphics library for rendering animated sprites, particle effects, and external textures. It features a 2D physics integration layer that supports rigid body dynamics and collision detection between entities. The framework covers additional capabilities for game engineering, including user input capture for gestures and gamepads, audio
CorsixTH is an open-source game clone and hospital management simulation game. It functions as a reproduction of a classic management title where players coordinate staff and treat patients to manage a medical facility. The project includes a level editor tool for designing original maps and campaigns. It also features a customizable input system that allows users to map game hotkeys and personalize control schemes. The simulation supports game localization to translate interface text and dialogue into multiple languages.
This is a game engine library for building interactive games using React and React Native components. It provides a centralized game loop and state management system to coordinate logic and updates on every game tick. The framework includes a coordinate system for cross-platform scaling that distributes factors across a component tree to maintain consistent positioning across different screen sizes. It also features a sprite animation system for rendering sequential frames from sprite sheets and a tile map renderer that constructs multi-layered terrain using a tile atlas and grid-based indexe
This project is a single-player tower defense game and 2D grid-based strategy application built with Python and the Pygame library. It focuses on resource management and tactical unit placement to prevent waves of enemies from reaching a goal. The gameplay centers on constructing defensive lines using units with specialized combat abilities. Players manage a limited currency by collecting energy resources via a pointer interface and select specific equipment sets to configure their available units before starting a level. The system supports level-based progression by loading environmental c
SpaceCadetPinball is a reverse-engineered, cross-platform port of the classic 3D Pinball - Space Cadet game, rebuilt from the original binary without access to its source code. It functions as an asset-driven pinball emulator that loads the original game data files to recreate the authentic visual and audio experience on modern hardware, preserving the legacy title through binary-to-source porting and reverse engineering. The project distinguishes itself by reconstructing the game's logic through runtime analysis of the original compiled instructions, translating them back into readable C++ c
Flame is a 2D game engine for Flutter and Dart. It provides a component-based game framework for managing entities and their lifecycles through a hierarchical architecture, alongside a dedicated system for game asset management and input handling. The engine distinguishes itself through a specialized integration layer for external physics engines to handle rigid body dynamics and collision detection. It also features a high-performance task model that uses isolates to offload heavy computations and prevent main thread blocking. The framework covers a broad range of capabilities including vis
Pyxel is a Python-based retro game engine designed for creating pixel-art applications with vintage aesthetics. It functions as a pixel art framework that emulates classic hardware limitations through fixed-resolution displays, constrained color palettes, and a 2D tilemap engine for rendering scaled sprites and grid-based game worlds. The engine features a dedicated MML audio synthesizer that uses Macro Language notation to compose and play back retro-style sound sequences. It also includes capabilities for seed-based background music generation and the playback of raw PCM audio data for cust
learningPixi is an educational resource and instructional guide focused on 2D web graphics and interactive media development. It provides a structured curriculum and tutorials for building 2D games and visual applications using the Pixi.js rendering engine and WebGL for hardware-accelerated graphics. The project covers specialized workflows for sprite animation, including the use of texture atlases and spritesheet frame extraction. It also provides guidance on implementing game state management for scene transitions and rectangular collision detection systems to trigger interactive events. T
FlappySwift is a side-scrolling arcade game implementation built for Apple platforms. Developed using the Swift programming language, this 2D game project features a physics-based environment where a player controls a character to avoid obstacles. The project utilizes the SpriteKit framework to handle rigid body dynamics, gravitational forces, and sprite-based rendering. Game flow is managed through a state machine that controls transitions between the start menu, active gameplay, and game over screens. The implementation covers 2D physics simulation, including bounding-box collision detecti
BrowserQuest is a WebSocket multiplayer game engine and real-time state synchronization tool. It functions as a web-based game server designed to manage concurrent connections and broadcast updates to maintain a consistent shared world state between a central server and distributed web clients. The project enables real-time multiplayer gaming and browser-based game development by implementing low-latency data exchange. It focuses on game state synchronization to ensure that multiple players interacting within the same environment see the same actions and world states simultaneously. The syst
FiveM is a multiplayer modification framework and game engine modding tool. It serves as a platform for creating and hosting community-driven modifications for open-world game engines, functioning specifically as a framework for Grand Theft Auto V to enable custom servers and multiplayer game modes. The project provides a dedicated game server host for managing network traffic and synchronized game states in modified environments. Its capabilities extend to modding Red Dead Redemption 2, allowing for the extension of game mechanics and the addition of custom content. The framework supports c
Quake III Arena is a first-person shooter game engine and arena combat simulator. It consists of the original C++ game source code for a cross-platform 3D game designed to run on Windows, Linux, and Mac. The project provides the source code necessary to render a first-person shooter experience, focusing on player-versus-player battles in closed 3D environments. It serves as a resource for legacy game preservation and the study of early 3D game engine construction. The engine incorporates spatial partitioning, client-side prediction, and state synchronization to manage multiplayer networking
Matter-js is a 2D rigid body physics engine written in JavaScript for simulating realistic physical interactions, collisions, and dynamics in web browsers. It functions as a web physics simulation library that calculates motion, gravity, and constraints for objects rendered on a web canvas. The library includes a built-in canvas physics visualizer to draw physical bodies, joints, and constraints for debugging and gameplay. It distinguishes itself through a plugin system that supports recursive dependency resolution and internal method patching to inject custom logic into the engine's executio
React Native Game Engine is a framework for building 2D interactive experiences and simulations within mobile applications. It provides a dedicated controller for managing a fixed-step game loop, ensuring that game logic, user inputs, and state updates occur at a consistent frame rate. The engine utilizes an entity-component-system architecture to decouple game object data from behavior. By structuring objects as independent entities processed by reusable logic functions, it allows for the management of complex scenes through a centralized, data-driven approach. The framework supports the cr
OpenSC2K is an open-source JavaScript city builder engine designed as a recreation of SimCity 2000. It functions as a web-based simulation that uses the Phaser 3 framework to implement game loops and entity management. The project utilizes WebGL and Canvas rendering to visualize large-scale urban environments. It includes a coordinate-based camera system that enables panning and zooming across the reconstructed game world. The engine incorporates a data pipeline to parse legacy city files and graphics assets, allowing it to reconstruct and display urban layouts within a modern web browser.
This project is a game programming design patterns reference and software engineering guide. It provides a collection of architectural and structural patterns specifically applied to the development of video games, focusing on organizing game loops, entity component systems, and state management. The content is delivered as a digital book and markdown static site. It utilizes a static site generation workflow that transforms markdown source files and HTML templates into structured static pages for technical content publishing. The underlying system includes capabilities for static site compi
p5.js is a JavaScript creative coding library and generative art framework. It serves as a web-based graphics engine and a high-level HTML5 Canvas wrapper designed to produce algorithmic imagery and responsive audio-visual experiences. The project provides a simplified sketching API for rendering 2D and 3D graphics directly in a web browser. It enables the creation of interactive animations, generative art, and digital experiences that respond to user input. The library covers a range of applications including interactive data visualization, browser-based multimedia art, and educational prog