13
Mar

Game Engines Galore

Hello everyone,

Before I start, I just want to say, this post is reflecting my own opinions about different game engine and it is not intended to be taken beyond that scope.

I had a chat with Dan (a friend of mine at the Game Innovation Lab) about how many new game developers don’t know a lot about different game engines. Once the discussion ended, he asked me to post about game engines, and rate them according to difficulty and complexity. Nowadays there are more game engines than in the early days of indiegame development. The funny thing is only a few of them are popular such as Unity, Unreal Engine, and Game Maker.

To list all engines, I am going to divide them into categories: Educational (made for children), Specialized (for a single genre/type of games), and Generic engines. This categorization is just to help you find the best tool for what you are doing, but really any tool that allows you to add some programming, either by writing code or using logic trees (logic trees are a way of programming by building a tree of conditions), can be used to create any game. The problem is using any of these tools outside its intended scope is harder than using an other tool. Engines vary in popularity. Popular game engines have a big user base which helps a lot when you have bugs. While using unpopular engine can be a good thing as you work very close to the developers themselves and you can request changes easier from them. Also, these developer can help you in promoting your game more than popular engines because the success of your game is also reflect the success of their engine.

Warning, this is a long post and if you don’t have time, you can jump to a summary table that outlines them all at the end of the post (link).

Educational Engines:

These are tools designed to encourage people to design games and to help them to learn how to do it.

  • Bitsy (http://ledoux.io/bitsy/editor.html): is a simple browser based game editor that doesn’t need any coding or even logic. The tool itself has predefined types of sprites and actions. The user needs only to draw different images and define dialogues for each game character, connect everything together, and TADAAAAAA, you finished a simple html game. All games created by it are topdown story based games where the player can talk to different objects.
  • Dungeon Decorator (https://lorenschmidt.itch.io/dungeon-decorator): is similar to Bitsy, except it designs platformers. The user needs to design the map, some dialogues, and they have a game. All games created by the tool are platformer story based games where the player can talk to different objects.
  • Scratch (https://scratch.mit.edu/): is an MIT tool that helps children to create stories, animation, and games. The tool allows you to program your own logic, by designing logic trees and attaching them to different objects in the scene. Scratch is more generic than you can expect, but it is hard to design very complicated games using it. Scratch produces html games to be played in the web, and all the created games are hosted on their website. You can check their top games here (https://scratch.mit.edu/studios/121998/)

Specialized Engines:

These are tools designed to prototype certain game genres/types in a very fast/efficient way.

Generic Engines:

These are the most generic tools to create games. Unity, Unreal, and Game Maker are part of it, but they are not everything. Always choose the tool that is suitable for the project and for your capabilities. Don’t pick a tool that needs programming if you are not good at it. Don’t worry: all generic tools can do everything, so just pick what fits you.

These are some of the game engines that have a neat and nice IDE to help you in developing. There is other game engines that I didn’t list because they are only code based. Some of these engine are popular between game developers such as Phaser (JavaScript), PlayCanvas (JavaScript), LibGDX (Java), Defold (Lua), Flixel (ActionScript), OpenFl (HaXe), MonoGame (C#), FlashPunk (ActionScript), HaxeFlixel (HaXe), Starling (ActionScript), HaxePunk (HaXe), Love (Lua), Otter (C#), Ogre3D (C++) and etc. There are more engines out there than most people know. This game engine list is sorted by how complex the engine is, then how famous the engine is. Now, after knowing about all these, you have to choose wisely what fits you.

The following table summarize all the tools (All generic tools can be used for 2D or 3D games.):

Engine Name Type Coding

Platform

Target Outputs Popularity Cost
Bitsy Educational (2D Story based Topdown) No Web IDE HTML5 Not popular Free
Dungeon Decorator Educational (2D Story based Platformer) No Web IDE HTML5 only in the program Not popular Free
Scratch Educational (2D Generic) No Web IDE HTML5 only in the program Popular between children Free
Twine Specific (Interactive Stories) Optional (Javascript) Web IDE HTML5 Popular Free
ChoiceScript Specific (Interactive Stories) No Any text editor HTML5 Popular Free
Ink Specific (Interactive Stories) No Win / Mac / Linux Any Target Moderate Free
Inform Specific (Interactive Stories) No Win / Mac / Linux HTML5 Moderate Free
Adventure Game Studio Specific (2D Point Click Adventure) No Win Win Moderate Free
RPG in a Box Specific (3D RPG) No Win / Mac / Linux Win / Mac / Linux Not popular $20
RPG Maker Specific (2D JRPG) Optional (Ruby / Javascript) Win / Mac Crossplatform Moderate Limited ($80)
PuzzleScript Specific (2D Turnbase Puzzle) No Web IDE HTML5 Moderate Free
Construct 2 Generic (2D) No Win Crossplatform Popular Limited ($100)
Stencyl Generic (2D) Optional (HaXe) Win / Mac / Linux Crossplatform Popular Limited ($100)
Game Maker Generic (2D) Optional (GML) Win Crossplatform Popular Limited (>$99)
Multimedia Fusion 2.5 Generic (2D) No Win Crossplatform Moderate Limited (>$100)
GDevelop Generic (2D) No Win / Mac / Linux / iOS / Android Crossplatform Not popular Free
Gamesalad Generic (2D) No Win/Mac Crossplatform Not popular Subscription ($17)
Gamebuilder Studio Generic (2D) No Win / Mac Crossplatform Not popular Limited ($100)
Buildbox Generic (2D) No Win/Mac Crossplatform Not popular Subscription ($99)
Voxatron Generic (3D) Not sure Win/Mac/Linux HTML5 Not popular $20
Pico-8 Generic (2D) Yes (Lua) Win / Mac / Linux HTML5 Moderate $15
PixelVision 8 Generic (2D) Yes (Lua) Win / Mac / Linux Crossplatform Not popular $10
Unity Generic (2D/3D) Yes (C#/JavaScript) Win / Mac / Linux Crossplatform Popular Free (Subscription >$35)
Unreal Engine Generic (3D) Yes (C++) Win / Mac Crossplatform Popular Free (pay %5 revenue)
Cryengine Generic (3D) Yes (Lua) Win Win / Linux / Xbox / PS4 Moderate Subscription (>$50)
Cocos Creator Generic (2D) Yes (JavaScript or CoffeeScript) Win / Mac Crossplatform Moderate Free
MightyEditor Generic (2D) Yes (JavaScript) Web IDE Crossplatform High Subscription (>$5)
Phaser Editor Generic (2D) Yes (JavaScript) Win / Linux Crossplatform High 1 Year Free (>$45)
Superpowers Generic (2D/3D) Yes (Typescript) Win / Mac / Linux HTML5 Not popular Free
Godot Generic (2D/3D) Yes (Python) Win / Mac / Linux Crossplatform Not popular Free

In the end, I would love to thank my friends Gabriella Barros and Dan Gopstein for all their effort, feedback and help in creating this post.

Bye Bye
Ahmed Khalifa