30 open-source projects similar to mono/monogame, 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.
MonoGame is a cross-platform game framework and C# game engine designed for the development of interactive software. It provides a unified environment for building games that run across desktop, mobile, and console platforms using a single codebase. The framework functions as a 2D graphics rendering library, offering tools to apply custom shaders and visual effects to game assets. It utilizes a graphics abstraction layer to map drawing commands to platform-specific APIs, ensuring consistent rendering across diverse hardware. The engine manages hardware-level tasks such as input handling, aud
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
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
Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping. The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts
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.
Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase. The engine is designed for broad deployment, allowing applications to be compiled and run across desktops, mobile devices, web browsers, and gaming consoles. It distinguishes itself by integrating custom shader programming for specialized visual effects and providing haptic feedback control for mobile devices and gamepads. The framework covers core game development ca
This project is a cross-platform game engine framework and build pipeline designed to produce playable executable binaries for desktop and Android devices. It provides a collection of core libraries for game development, including a native Android build system and a C++ build pipeline. The framework features a specialized bitmap font rendering system that displays stylized typography by mapping character indices to image atlases using coordinate and spacing metadata. It also implements a hardware abstraction layer to decouple application logic from graphics and audio drivers, ensuring portabl
Cocos Engine is a cross-platform game engine designed for building high-performance 2D and 3D interactive experiences for web, mobile, and desktop platforms. It features a multi-backend rendering engine and a 2D and 3D physics simulator, utilizing a core architecture that combines a C++ runtime for performance with TypeScript for game logic scripting. The engine distinguishes itself through a multi-platform deployment system that packages projects for native operating systems and instant-play web ecosystems. Its graphics system supports multiple APIs, employing physically based rendering and
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
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea
Murder is an entity component system game engine designed for 2D game development. It provides a core framework for managing game objects through an ECS architecture and includes a dedicated 2D game editor for asset management and real-time property configuration. The engine features a specialized 2D rendering pipeline supporting pixel art, sprite slicing, and parallax effects. It includes a hierarchical A* pathfinding system for agent navigation and a comprehensive asset management system for serializing and loading game resources. The project covers a broad range of capabilities, including
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
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
LÖVE is a cross-platform game engine and framework for developing two-dimensional games using the Lua programming language. It provides a 2D graphics API for rendering shapes, images, and sprites across multiple desktop and mobile platforms. The framework enables the development of a single codebase that can be deployed to Windows, macOS, Linux, Android, and iOS. It utilizes a Lua-based scripting interface to control internal engine systems. The project covers 2D game development, mobile game development, and cross-platform game deployment.
SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It provides a unified interface for hardware-accelerated graphics, audio playback, and window management, allowing developers to create visual software that functions consistently across different operating systems. The library abstracts native windowing and graphics APIs, enabling the use of object-oriented primitives to render shapes, sprites, and text. It includes a dedicated audio engine that supports sound effects and music with controls for volume, pitch, and spatial positioning,
Cocos2d-x is a high-performance C++ game development framework designed for building and deploying interactive applications across mobile, desktop, and web platforms. It functions as a cross-platform game engine that utilizes an entity-component system to manage object lifecycles, behaviors, and spatial relationships within a unified codebase. The engine is distinguished by its specialized 2D graphics rendering pipeline, which is optimized for hardware-accelerated performance when displaying sprites, particle effects, and skeletal animations. It provides developers with low-level access to gr
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
FXGL is a 2D game engine and development framework designed for Java and Kotlin. It provides a structured environment for building cross-platform desktop games, integrating a central game loop with an entity component system and a JavaFX-based scene graph for rendering. The toolkit distinguishes itself by providing a comprehensive suite of integrated libraries for game AI pathfinding, physics collision resolution, and multiplayer networking via TCP and UDP protocols. It includes specialized systems for adaptive user interface design using global stylesheets and a data-driven asset management
cocos2d-iphone is a framework for 2D game development and the creation of two-dimensional graphical applications. It enables cross-platform development for iOS and macOS using Objective-C and high-performance graphics rendering. The project provides tools for building interactive environments, including the creation of orthogonal, isometric, or hexagonal tile-based maps. It supports the implementation of rigid body dynamics and collision detection through a 2D physics simulation system. The framework covers a broad range of capabilities, including sprite-based rendering, audio playback manag
Ren'Py is a cross-platform game engine and interactive storytelling tool built around a Python-based scripting engine. It is designed for creating visual novels and branching narrative games, where player choices determine story paths and character interactions. The engine provides a complete development framework for building narrative-driven experiences, from simple dialogue trees to complex life simulation games. The engine distinguishes itself through a comprehensive set of integrated systems that handle the full lifecycle of interactive storytelling. Its script-based story engine compile
Godot is a multi-platform game engine and a suite of tools used to develop 2D and 3D interactive games and applications across multiple operating systems. It provides specialized development environments for both two-dimensional and three-dimensional design, including tools for sprite animation, tilemaps, lighting, meshes, and physics simulations. The engine includes a cross-platform export tool that packages projects for deployment to desktop, mobile, web, and console hardware targets from a single codebase. The system covers broad capabilities for interactive experience design and game dev
Source Engine is a cross-platform game engine designed for the development and execution of interactive three-dimensional applications. It provides a framework for rendering complex environments and managing multiplayer networking, functioning as a middleware solution for hosting independent game servers. The engine distinguishes itself through a client-server authoritative networking model that enables direct player connectivity without reliance on external authentication or matchmaking services. It utilizes a data-driven asset pipeline and a component-based entity system to decouple engine
Phaser is a cross-platform 2D web game engine and framework designed for creating interactive experiences that run on desktop and mobile web browsers. It serves as a GPU-accelerated rendering library and WebGL graphics engine for building two-dimensional games using HTML5 Canvas and WebGL. The engine features a dual-backend rendering pipeline that allows developers to switch between rendering paths. It distinguishes itself through high-performance graphics capabilities, including GPU-driven sprite batching for large-scale image management, a dynamic lighting system with self-shadows, and the
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
EaselJS is a JavaScript library for creating interactive 2D graphics and animations using the HTML5 Canvas element. It functions as a 2D animation framework, a canvas scene graph manager, and an interaction wrapper for detecting and responding to mouse and touch events. The library features a rendering pipeline that utilizes WebGL to increase the drawing performance of bitmap and cached content. It organizes visual elements into a hierarchical display list, allowing nested groups of 2D graphics objects to be transformed and animated as single units. Its capabilities cover the rendering of ve
jMonkeyEngine is a Java-based 3D game engine and cross-platform graphics framework. It provides the core tools necessary for developing three-dimensional games and interactive simulations, focusing on real-time rendering and the management of spatial environments. The engine includes a dedicated 3D physics simulation toolkit for handling rigid body dynamics and collision detection. It also features a game asset pipeline for importing and managing 3D models, textures, and audio files during runtime. The framework covers broad capability areas including 3D scene rendering, physics-based simula
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
Pixi.js is a high-performance 2D graphics engine used to render interactive animations, sprites, and visual effects in web browsers. It functions as a WebGL 2D rendering engine and HTML5 graphics library designed to produce high-performance two-dimensional visuals. The project operates as a 2D sprite framework and a web-based visual effects engine, providing tools to apply filters, blend modes, and masks to real-time graphics. It also serves as an interactive web canvas API for handling multi-touch and mouse input to build responsive graphical user interfaces. The framework covers a broad se
AssetStudio is a desktop application designed for browsing, inspecting, and extracting assets from proprietary game engine archive files. It provides a comprehensive interface for navigating complex file structures to identify, preview, and export individual media components such as textures, audio, and 3D meshes. The software distinguishes itself through its ability to parse and reconstruct serialized object hierarchies and script data. By resolving assembly dependencies and traversing internal metadata trees, it translates proprietary game data into standard industry formats, including supp
SFML is a cross-platform multimedia framework for C++ designed for creating 2D graphics, audio, and network applications. It functions as a unified set of libraries that provides a 2D graphics rendering engine, an audio processing library, a network socket library, and a cross-platform window manager. The framework allows for the development of interactive software by coordinating real-time 2D graphics rendering, audio playback, and user input handling. It provides a standardized interface for creating and controlling application windows across multiple operating systems. Its capability surf