30 open-source projects similar to melonjs/melonjs, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best MelonJS alternative.
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
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
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
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
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
Box2D is a 2D physics engine and rigid body simulator designed to compute collisions, forces, and joints in a two-dimensional plane. It functions as a collision detection library and a constraint-based physics solver that calculates the movement and interaction of solid objects using mass, friction, and restitution properties. The engine ensures consistency across different hardware architectures through a deterministic trigonometry implementation. It prevents high-speed objects from passing through boundaries using continuous collision detection and time-of-impact interpolation. The system
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
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
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
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
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
cocos2d-objc is an Objective-C 2D game engine designed for developing interactive games and applications. It serves as a cross-platform game framework that enables the deployment of a shared codebase across iOS, tvOS, and macOS. The project features a hardware-accelerated 2D renderer utilizing OpenGL and Metal to display sprites, tile maps, and particle effects. It includes a dedicated OpenAL audio engine for managing music and spatialized sound effects, alongside a cross-platform input handler for processing touch, mouse, keyboard, and accelerometer events. The framework provides capabiliti
This project is a collection of single-header libraries providing a zero-dependency implementation of core game engine systems. It serves as a portable toolkit for 2D game development, focusing on asset loading, graphics optimization, and low-level system coordination. The libraries offer specialized capabilities for 2D sprite rendering and asset processing, including texture atlas compilation and batch-based rendering to reduce draw calls. It includes a dedicated pipeline for parsing Aseprite files and JSON-formatted map data from Tiled. The toolkit covers several functional domains, includ
Avian is a 2D physics engine and rigid body dynamics simulator designed to calculate physical motion using mass, forces, and velocity. It provides a framework for simulating rigid body dynamics, collision detection, and joint constraints for games and applications. The engine utilizes a modular physics pipeline with a plugin-based architecture, allowing for the customization of simulation fidelity settings and the extension of collision backends. It includes a specialized kinematic character controller for implementing entity movement and sliding behavior against physical geometry. The syste
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
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
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
LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin
Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated renderer for drawing sprites, geometric shapes, and text, utilizing an optimized system of batching and transformation matrices. The project functions as a comprehensive toolkit for two-dimensional interactive applications, combining a graphics engine with a 2D vector math library for affine transformations and coordinate space projections. It includes a dedicated input manager that tracks keyboard presses and mouse movements using a polling-based system rather than asynchronous
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
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
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
cannon.js is a JavaScript 3D physics engine designed for calculating rigid body dynamics and collisions in three-dimensional space. It functions as a rigid body dynamics engine that models mass, friction, and velocity to determine object movement, while providing a mathematical framework for applying physical constraints and joints. The engine supports a variety of collision volumes, including spheres, boxes, convex polyhedrons, heightfields for terrain simulation, and complex triangle meshes. It provides tools for identifying intersections between these shapes and calculating the exact areas
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
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
Tiled is a multifunctional visual workspace for designing tile-based game levels, managing assets, and exporting structured world data. It functions as a 2D tile map editor and game level design tool used to create orthogonal, isometric, and hexagonal game environments. The software features a scriptable interface and plugin system for automating map creation tasks. It includes a dedicated tile set manager for importing and editing image-based collections of reusable tiles and animations, as well as a system for saving map layouts and custom properties into JSON or CSV formats. The platform
tModLoader is a modding framework and toolset designed for expanding game content and extending core game logic. It provides a polymorphic content API that allows for the creation of new items, NPCs, projectiles, and world assets through object-oriented inheritance. The project is distinguished by its advanced code modification capabilities, utilizing intermediate language bytecode patching and reflection-based private access to alter internal game behavior. It features a hot-reloading assembly runtime that enables developers to recompile and apply source code changes in real-time without res
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
Spritejs is a graphics library and cross-platform 2D graphics engine designed for rendering geometric shapes and sprites across web, desktop, and mobile environments. It functions as a canvas-based sprite framework that manages elements using a document object model for positioning and styling. The project provides a web worker rendering engine that distributes graphic layers to offscreen canvases, preventing main thread blocking. It also includes a server-side graphics generator for producing visual elements and images in non-browser environments. The toolkit covers a broad range of graphic
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,