What are the best 2D game engines?

For the purpose of this topic, a "2D game engine" is defined as a framework for managing game state and behavior, integrated with 2D-specific middleware (at minimum, a rendering engine). This is based on Wikipedia's definition of a game engine, specialized to 2D while taking note of the second paragraph:

A game engine is the software, i.e. some algorithms, solely responsible for the game mechanics and is strictly speaking not the rendering engine. Like e.g. the physics engine, the rendering engine is just middleware. The rendering engine is responsible for the rendering or rather 3D rendering and not for the game mechanics.

Among other things, qualifying engines do not require an integrated development environment, any sort of visual editing or compositing of game assets, or a physics engine. Likewise, a high-level tool which allows assembly of 2D games from assets fits even if it has no coding interface. This definition is intentionally broad and inclusive, to match the scope of the question itself: other questions can satisfy more specific needs, while this one serves as a comprehensive summary and introduction.

This question can be improved. You can help by:

  • Adding sources to pros and cons.

Why do you recommend Construct 2?

Why do you not recommend Construct 2?

Construct 2 - is a powerful ground breaking HTML5 game creator designed specifically for 2D games. It allows anyone to build games — no coding requi...

Constant updates

Developers provide regular updates (usually bi-weekly) with new features added with each iteration.

Powerful drag & drop editor

Using Construct 2 requires very little programming knowledge as it's all drag'n'drop, intuitive, visual and event-driven instead of code-...

Does not export to native mobile code

Construct 2 builds to HTML 5 only, which can cause performance issues on mobile devices.

Why do you recommend Clickteam Fusion 2.5?

Why do you not recommend Clickteam Fusion 2.5?

Intuitive drag & drop interface & visual event editor

CF2.5 uses a straightforward drag & drop editor that allows for easy level, animation and event creation without having to write a single line of...

Supportive, very passionate community and devs

Any time you have a question or a problem, the community and the software developers are there to help you out either on forums or steam. The devs re...

Some features are really outdated and major updates are few and rare

There are some features that could make the software a lot more powerful but I feel like Clickteam does not have the staff resources to handle updati...

Why do you recommend Unity?

Why do you not recommend Unity?

Since 4.3 Unity includes native 2D tools in the engine, although using other 2D plugins to ease work is still recommended.


Unity 3D supports 12 platforms in all, including Windows, Mac, Linux, Web, iOS, Android, and even consoles.

Great editor

The editor GUI is very powerful and intuitive. It allows pausing gameplay and manipulating the scene at any time as well as progress gameplay frame...

Carries a lot of 3D overhead

Although there is a complete 2D feature set, Unity wasn't originally developed for 2D game creation and carries a lot of overhead when 2D is ulti...

Why do you recommend Monkey X?

Why do you not recommend Monkey X?

Monkey is a next-generation games programming language that allows you to create apps on multiple platforms with the greatest of ease. It works by tr...


Write your code once for multiple platforms, including iOS, Android, Windows Phone, HTML5, Flash, Windows, OS X, Linux, and many more.Develop using W...

Great language

Monkey is an easy to learn language that's object-oriented, modular, statically typed, and garbage collected. Language features include classes,...

Minimalist documentation

The documentation contains a reasonably detailed language overview, and a somewhat-generated list of the included modules, classes, and methods. Modu...

Why do you recommend Cocos2D-X and Cocos2D Family?

Why do you not recommend Cocos2D-X and Cocos2D Family?

Cocos2D-x is a complete toolchain for developing multi-platform games. Cross platform, fast, open source and free. Supports Skeletal Animation, Spri...

Cocos2D-X is free, royalty-free and open source

Under the MIT licence.

Cross Platform and Multi Language Options

Cocos2D-x Supported Platforms: iOS 5.0+ for iPhone / iPad games, Android 2.3+ for Android games, Windows Phone 8+ for WP games, OS X v10.6+ for Mac...

Poor documentation

Most existing documentation is out of date. API documentation sometimes exists, though is usually just a one-liner and more often than not is comple...

Why do you recommend GameMaker: Studio?

Why do you not recommend GameMaker: Studio?

GameMaker is a beginner friendly 2D game engine that has "visual scripts" so no program skills are required.

Easy to learn

GameMaker: Studio is incredibly easy to learn. It requires almost no programming knowledge which means those without the technical experience, such...

Supports lot of platforms

HTML5, Linux, Windows, OS X, Windows Phone, Android, iOS, PS3/4/Vita.

Exporting to some formats costs extra

You need to buy extra modules to be able to export to platforms like Android, iOS, HTML5 and others.

Why do you recommend libGDX?

Why do you not recommend libGDX?

libGDX is a open-source Java game framework.

Supports desktop, mobile and web

Supports Windows, Mac, Linux, Android, iOS and HTML5/WebGL. Being able to develop & run mobile games on the desktop is very efficient to rapidly...

Good performance

Documentation is decent, but could be better

Why do you recommend LÖVE?

Why do you not recommend LÖVE?

LÖVE is a open-source 2D game framework that uses Lua for scripting.

Open source and free

The LÖVE engine is licensed under The zlib/libpng License (which is very short and human readable) which allows you to use the source code and even m...


Supports Windows, Mac OS X and Linux

Mobile support is still experimental

While it is possible to export LÖVE games to Android and iOS, it is still experimental so there might be hidden bugs and flaws that need to be addres...

Why do you recommend Gideros?

Why do you not recommend Gideros?

Gideros is a cross platform 2d game engine, based on Lua scripting language, currently supporting Android and IOS platforms, but new platforms are be...

Instant on device testing

Gideros provides a Gideros player, using which you will be able to instantly with single click try out your latest code on your device from your comp...

Friendly & helpful community

Gideros has active forums where you can find friendly and helpful advice.

No cons added yet

Why do you recommend Wave?

Why do you not recommend Wave?

Component Based Game Engine architecture, 2D and 3D physics engines, beautiful visuals effects, cross-platform support, advanced layout system and mu...


Wave supports multiple platforms:Android Mobile & TabletOUYAiOS: iPad & iPhoneWindows PhoneWindows StoreWindows DesktopOS XLinux

2D & 3D physics engine

2D/3D RigidbodyCollision eventsFriction, damping and restitutionGravity and forcesJoints and ConstraintsMultithreading2D/3D collidersMotor

Need Xamarin for iOS and Android Building

For iOs and Android Building, you need to use Xamarin for compiling. Xamarin's price is not cheap, and not supported Blackberry, Tizen...

Why do you recommend Stencyl?

Why do you not recommend Stencyl?

Stencyl has a graphically scripting system that works great for beginners and games can be published to iOS, Android, Flash, Windows and Mac.

Haxe scripting available for advanced users

Power users can also write code in Haxe (similar to Actionscript 3) to create their own custom classes and extend the engine.


Publish iOS, Android, Flash, Windows and Mac games without code.

Not a powerful engine

Should be used for basic games only.

Why do you recommend App Game Kit?

Why do you not recommend App Game Kit?

The App Game Kit (AGK) is a piece of cross-platform games development software developed by The Game Creators (TGC).

Allows source to be compiled for Windows, OSX, iOS, Android and Blackberry

AGK allows you to write code that can be deployed to multiple platforms. This makes writing software for different markets very easy, as adapting the...

Available for Basic, C++ and Pascal

Apart from its own Basic language, power-developers can add all the facilities of major compilers and languages.

Few skilled developers and lots of bugs with very high turn-around on fixes

There are very few developers, even fewer who are working on AGK and not out marketing it as a working product, then out of those, few who seem to be...

Why do you recommend Godot?

Why do you not recommend Godot?

Godot is a fully featured, open source, MIT licensed, game engine. It focuses on having great tools, and a visual oriented workflow that can export...

Free and open source

Godot is licensed under MIT license. Anyone can grab the source from github.com/okamstudio/godot, and compile the engine him/herself.



New and immature

Just reached 1.0 release

Why do you recommend Torque 2D MIT?

Why do you not recommend Torque 2D MIT?

Torque 2D MIT is a powerful, flexible, and fast open source engine dedicated to 2D game development. It has a core C++ engine with a C-like scripting...

Cross platform

Torque 2D runs on Windows, OS X, iOS, Android, Linux, and Web.

You get the sourcecode

For the more experience programmer, you have access to the source code. While this removes any and all barriers to extensibility, programmers with kn...

The Torsion editor is essential for runtime debugging

Currently, the most popular tool for debugging TorqueScript is Torsion. In order to break into script code, watch values, and step through code, you...

Why do you recommend V-Play?

Why do you not recommend V-Play?

V-Play is a cross platform 2D game development engine that supports iOS, Android, Blackberry, Windows Phone and also Windows, Mac and Linux desktops.

Easy to learn

V-Play is among the easiest cross-platform tools to use.

Easy integratable In-Game Level Editor, Runtime-Balancing and Level Store

You can use ready-made components to balance any of your game properties at runtime, so also on mobile devices which is great for adjusting forces or...

[Not true any more - V-Play is now free] Expensive Monthly Beginner License

The monthly Starter license is quite expensive ($59 per month). The annual one is ok at $299 (~$25 per month). The Indie license is $69 per month (as...

Why do you recommend HaxePunk?

Why do you not recommend HaxePunk?

HaxePunk is an open source framework, ported from FlashPunk, and designed to let you build your game on any platform. It provides the tools to quick...

Open source and cross platform

Supports Windows, Mac OS X, Linux, iOS, Android, Web and native Flash.

HaxePunk uses OpenFL and Haxe

OpenFL provides a cross-platform Flash based API. Haxe is a strictly typed programming language that saves development time but still compiles high p...

Messy / fragmented documentation

Why do you recommend Moai SDK?

Why do you not recommend Moai SDK?

An engine specialized in 2D graphics, but designed more for people who know what they're doing. While it includes the ability to start developing...


Because it uses Lua + C++.

Gives you total control

You can use your own custom shaders and extend the language with C++. MOAI doesn't give you everything, instead it gives you the tools you need...

Scarce documentation

Since it is a minimalist framework there is not that much documentation, but if you are used to reading API references and source code you are good...

Why do you recommend Flixel?

Why do you not recommend Flixel?

Flixel is an open source game-making library that is completely free for personal or commercial use. Written entirely in Actionscript 3, and design...

Many ports available

Ports are available for Objective C, C# (XNA), HaXe and Monkey X.

Record and play back replays

Replays are essentially a list of what keyboard keys were pressed, and what mouse inputs were given, during a specific time frame. Because Flixel is...

Development has stopped


Why do you recommend pygame?

Why do you not recommend pygame?

Pygame is a set of Python modules designed for writing games. Pygame adds functionality on top of the excellent SDL library. This allows you to crea...

Easy Python Syntax

Messy documentation

The docs are messy, and some basic functions are infuriating to work out. There's even some places in the documentation where it's clearly wr...

Why do you recommend GDevelop?

Why do you not recommend GDevelop?

Game Develop is a game creator allowing to create HTML5 and native 2D games without coding.

Free & Open Source

And, as a consequence, cheaper than any paid alternative!

Export to native code or HTML5

Games can't be reversed engineered.

No cons added yet

Why do you recommend Allegro?

Why do you not recommend Allegro?

A mature, battle-tested C/C++ game framework with multiple platform support.

Per-platform library optimization

Allegro uses DirectX for Windows, and OpenGL for other targets.

Good documentation and lots of tutorials

Since it has been in development since mid-90s with hundreds of people contributing to both the engine and documentation, it has all of its bases cov...

No cons added yet

Why do you recommend Phaser.io?

Why do you not recommend Phaser.io?

Phaser.io is a desktop and mobile HTML5 game framework.

Support for Arcade Physics, Ninja Physics and p2.js

Easy to learn

Poor performances

As long as your map is not larger than 600*400px, everything is fine.

Why do you recommend HaxeFlixel?

Why do you not recommend HaxeFlixel?

A Haxe based framework modelled after Flixel

Cross-platform mobile, desktop and web

Works on iOS, Android, web, OS X, Windows, Linux.

Lots of demos

No cons added yet

Why do you recommend Starling?

Why do you not recommend Starling?

Starling is a cross platform game engine.


Starling (when used in Adboe AIR and ANE) supports multiple platforms including Windows, Mac, iOS, Android, as well as android based consoles.

Strong community support

Forum is always active with knowledgeable developers and with lot of inside info, and post mortems.

No cons added yet

Why do you recommend MonoGame?

Why do you not recommend MonoGame?

MonoGame is a C# framework based on XNA’s API. It uses Mono instead of .NET so that it can run on Windows, Mac, Linux, iPhone, and Android.


Support for iOS, Android, Mac OS X, Linux, Windows (both OpenGL and DirectX), Windows 8 Store, Windows Phone 8, PlayStation Mobile, and the OUYA cons...

Open source

All the code is available to you ensuring you'll have the ability to make changes when you need to or even port to whole new platforms.

MonoGame only "free of charge" on windows

MonoGame licensing is completely separate from Xamarin licensing. MonoGame itself is completely free to use. In order to use MonoGame for non-Microso...

Why do you recommend Corona SDK?

Why do you not recommend Corona SDK?

Corona’s extensive API library enables everything, from animation to networking, with a few lines of code. Whether you’re building games or business...

Very simple to use

Unlimited, permissive free trial

Corona's Starter edition allows creating and selling games.

Online compilation

To build your app with Corona you have to send it to them online to compile.

Why do you recommend Loom SDK?

Why do you not recommend Loom SDK?

Loom is an open source cross platform game and app SDK. Loom Turbo, a paid service, provides cross platform workflow and pre-built binaries for every...

Live reload of code and assets across multiple platforms

Loom can live update changes in realtime, allowing you to see them on multiple devices immediately.

Powerful command line workflow

Loom Turbo ($5/mo) gives access to powerful command line tools. For example, "loom new" to make a new project, "loom run" to run...

Documentation is lacking

Why do you recommend GLBasic?

Why do you not recommend GLBasic?

Multi-platform development system

Multiple platforms

Code can be written once and will work on supported platforms with very little modifcation


Unlike most multi-platform development systems, 3D is available across most of them

No multi-platform editor

Whilst Linux and Mac IDE's were started, they were never completed.

Why do you recommend Duality?

Why do you not recommend Duality?

Duality is an extensible Open Source game engine, written entirely in C# and designed specifically for 2D games. It includes a WYSIWYG editing system...

Great editor

Duality includes a powerful visual editing system that can be used for previewing, integrating, editing and testing game content.

Open source

The full source code is available on GitHub, where the framework is actively developed. All of the editor, core and plugin code is written in C#.

Requires windows for development

Why do you recommend RPG Maker?

Why do you not recommend RPG Maker?

Easy to jump into using an intuitive WYSIWYG editor

It's possible to create a game with absolutely no art or coding skills, so even complete beginners can make something.

Large and active community

The engine has seen multiple iterations since 1995, so a large online community exists that is always willing to help each other out.

Engine imposes arbitrary limits

Engine imposes arbitrary limits. For example, it only supports resolution up 640x480.

Why do you recommend Polycode?

Why do you not recommend Polycode?

MIT license

Additional LUA-based scripting system

It doesn't provides binaries yet

You have to build it yourself, in Linux and Mac OS X is easier than windows, mostly because the sole developer of the framework don't uses windo...

Why do you recommend BlitzMax?

Why do you not recommend BlitzMax?

It is programming language that can compile for Windows, Mac and Linux. BlitzMax is the ultimate programming language for desktop apps and games - it...


There are many modules to extend the features of the language: you can create PDF (via a Cairo module), or just download/upload files (via LibCurl),...

GUI for apps

BlitzMax provides the MaxGUI modules that allow to build GUI desktop applications for Windows, Mac and Linux (FLTK or GTK via a module). You also cou...

Costs money

Why do you recommend FlashPunk?

Why do you not recommend FlashPunk?

FlashPunk is a free ActionScript 3 library designed for developing 2D Flash games. It provides you with a fast, clean framework to prototype and deve...

Framerate-independent and fixed-framerate timestep support

Framerate-independent and fixed-framerate timestep support allow you to decide what mode is best for you and your game.

Simple keyboard and mouse input state checking

Simple keyboard and mouse input state checking makes setting keys and events incredibly easy, yet powerful.

No cons added yet

Why do you recommend ImpactJS?

Why do you not recommend ImpactJS?

A well-optimized JS library for 2d games. $100, but well worth it.


JS is already familiar to many, and an easy to pick up and run with for newcomers.

Level Editor

Built-in map editor with support for tiling, collision layers, and actors.

No cons added yet

Why do you recommend SFML?

Why do you not recommend SFML?

SFML (Simple and Fast Multimedia Library) provides a simple interface to the various components of your PC, to ease the development of 2D games. It r...

Great Documentation

SFML is very well documented, even with short examples of use for many functions and modules.

No cons added yet

Why do you recommend ENIGMA Development Environment?

Why do you not recommend ENIGMA Development Environment?

Free and open source Game Maker-compatible engine with a cross-platform IDE

Cross platform

Support for Windows, Mac and Linux.

Compatible with GameMaker

Enigma can support over 90% of gamemaker's GML language

A few bugs & glitches

Because Enigma is under very rapid development, with new functions added almost daily, some bugs and unexaplainable glitches can happen, though they...

Why do you recommend GameSalad?

Why do you not recommend GameSalad?

No-code editor


Poor editor performance

Especially when you're working on a big project.

Why do you recommend Engine 001 Game Maker?

Why do you not recommend Engine 001 Game Maker?

A work in progress engine for 10 years that has recently made huge strides in the field of features and usability.

Great online community for support

Engine 001 offers a tight-knit community of fellow game designers, asset creators, and just general fans of games, that all come together to assist o...

Light weight

An amazing minimal download size at around 100mb.

can only develop games on windows

there is only a windows editor

Why do you recommend Genome2D?

Why do you not recommend Genome2D?

A haxe based, gpu-accelerated framework (with swc builds for use in AS3).

Lightning fast and beautifully optimised

It's the fastest gpu-based framework out there for flash.

Component based architecture

Lacks documentation

The API documentation is minimal, there's not many tutorials and the ones that are there are very small and only cover the basics. If you want to...

Why do you recommend Gosu?

Why do you not recommend Gosu?

Gosu is a 2D game development library for the Ruby and C++ programming languages, available for Mac OS X, Windows, and Linux. The C++ version is also...

Cross-platform, even mobile, using Ruby

No cons added yet

Why do you recommend Microsoft XNA Game Studio?

Why do you not recommend Microsoft XNA Game Studio?


Easy assets

it is very easy to import your own 2 dimensional assets

It's dead

It is not getting updated and Microsoft does not recommend using it anymore.

Why do you recommend Orx?

Why do you not recommend Orx?

Orx is an open source 2D-oriented, data-driven, portable game engine focused primarily on ease of use and powerful features. It is written in C.

Automatic hot-loading of resources

Automatic hot-loading of resources upon modification on disk, shortens drastically iteration times.

Supports desktop and mobile

Supports Windows, Linux, Mac OS X, iOS and Android.

No cons added yet

Why do you recommend GameStylus?

Why do you not recommend GameStylus?

Game editor and game engine for Android OS (support for more platforms is planned). On-line editor allows to prepare all graphics, sounds, music... a...

Visual editing

The GameStylus system is easy to use, editing is visual, there are articles and video-tutorials helping to develop your game

On-line editor

No need to install anything, just log-in and create your game; then export all the data and the game can be played in a native GameStylus app

No cons added yet

Why do you recommend No Nonsense?

Why do you not recommend No Nonsense?

Windows/Linux/Mac/Android/iOS JavaScript and Lua game development engine.


Ships with easy to use IDE created only for development in it


Supports all major platforms - Windows - Mac - Linux - Android - iOS

In early development

Do not have as much features as other listed engines.

Why do you recommend Gingee?

Why do you not recommend Gingee?

True cross platfrom dev with single code base

Liquid UI™ technology is a one-code-fit-all technology. Your game and application will work and look seamlessly on all devices, even ones that are n...

No cons added yet

Why do you recommend WiMi5?

Why do you not recommend WiMi5?

Fast Development

WiMi5 integrates a powerful visual scripting solution based on Blackboxes that allows you to create the logic flow of the game. You don´t have to co...

Recommended by Chrome Web Store

No cons added yet

Why do you recommend Ethanon Engine?

Why do you not recommend Ethanon Engine?

Particle Engine

Lighting Engine

Small Community

Why do you recommend Rainbow?

Why do you not recommend Rainbow?

Rainbow is a scriptable, cross-platform, 2D game engine written in modern C++.

Written in modern C++, is scriptable in Lua

Open source

Distributed under the MIT License.

Small community

Being fairly new on the scene, there aren't much of a community to speak of.

Why do you recommend Crafty?

Why do you not recommend Crafty?

Crafty is a JavaScript game library that can help you create games in a structured way…



No cons added yet

Why do you recommend Map 001?

Why do you not recommend Map 001?

Easy to use

Allows you to get to making games quicker since you aren't putting allot of time into figuring out complicated interfaces.

Comes packed with objects

Tons of objects ready to use to use, as well as support for easily importing your own resources. 3D files are also supported (with a subscription).

No cons added yet

Why do you recommend Rapid 2D?

Why do you not recommend Rapid 2D?

Rapid2D is specifically designed for the production of Windows 8 apps. Using the Rapid2D Engine developers can produce apps for PC and tablets as we...

Easy to follow Graphical User Interface

The engine’s UI makes it easy to use for both novice and experienced developers.


Allows multiple developers to work on the same project.

No cons added yet

Why do you recommend Angel2D?

Why do you not recommend Angel2D?

A cross-platform 2D game prototyping framework based on OpenGL and C++. Angel balances the speed and flexibility of native code with an eye towards r...

Cross platform

Angel can create games for Windows, the Mac, most flavors of Linux, and iOS. It uses the native build systems on each platform (Visual Studio, Xcode,...

Focused on providing convenient features

Angel was created with game jams in mind, so it's focused on providing as many convenient features as possible, but in a quickly understandable w...

No cons added yet

Why do you recommend Oxygine 2D C++ Game Framework?

Why do you not recommend Oxygine 2D C++ Game Framework?

Oxygine is completely free and open source (MIT license) 2D game engine, available on BitBucket. It is written in C++ and runs on MacOSX, iOS, Androi...

Free, open source and cross-platform

Oxygine is a free framework that works on OS X, Windows, Linux, iOS and Android. It's licensed under MIT with source code available on BitBucket.

No cons added yet

Why do you recommend Construct 3?

Why do you not recommend Construct 3?

No pros added yet

No cons added yet

Why do you recommend Marmalade SDK?

Why do you not recommend Marmalade SDK?

Best possible perofrmance

C++ programming language

No cons added yet

Why do you recommend The Doryen Library (libtcod)?

Why do you not recommend The Doryen Library (libtcod)?

A framework for ASCII roguelike development

No pros added yet

No cons added yet

Why do you recommend Paradox 3D?

Why do you not recommend Paradox 3D?


Visual Studio, and Custom Editor

No cons added yet

Why do you recommend Construct Classic?

Why do you not recommend Construct Classic?

Very good 2d engine,uses direct x and only can export to windows but the games have very good perfomance

easy to use

very intuitive

No cons added yet

Why do you recommend ALGE SDK?

Why do you not recommend ALGE SDK?

You get full source code including the platform specifics

Develop in Visual Studio

No cons added yet

Why do you recommend Codea?

Why do you not recommend Codea?

Coding in Lua on the iPad.

Ships with music and sound packs

Codea ships with three great music and sound packs, composed just for Codea and free for you to use in whatever you create.

Helpful code editor

Errors show up live, as you type. Smarter autocompletion picks up your local and global variables, including nested types. Everything else is just pl...

No cons added yet

Why do you recommend Turbulenz?

Why do you not recommend Turbulenz?

Extensive audio support

Networking, Multiplayer and Social Networking built in

No cons added yet

Why do you recommend Buildbox?

Why do you not recommend Buildbox?

For the first time, anyone can make games without having a technical bone in their body. Buildbox lets you make games as easy as a powerpoint present...

No pros added yet

Very expensive

Buildbox has a 15-day trial version, after that a $2675 license to use it must be bought.

Are we missing something?

Help make this question more complete.