informa
/
5 MIN READ
Blogs

My Cross Platform Game Engine Adventure

I’ve been searching and testing game engines for my ongoing project. I thought it would be a good to talk about this adventure. The game engines I’ve tested and my experiences/thoughts about them:

I’ve been searching and testing game engines for my ongoing project. I thought it would be a good to talk about this adventure. The game engines I’ve tested and my experiences/thoughts about them:


Cocos2d-x:
 Cpp port of Cocos2d which is a very well known and commonly used game framework.

Things I like

  • A very good game engine
  • Nice community behind it
  • A very wide future set
  • Native language so its fast, really fast
  • Can output for every major mobile platforms

Things I didn’t like

  • Hard to get started because of lack of tutorials.
  • An unusual approach for game developers who has flash background
  • You have to setup for each platform
  • You may have to write lots of workarounds


Flash – Starling
 : 
Actionscript port of Sparrow.

Things I like

  • It’s a really well designed game engine
  • Nice community behind it
  • Is fast enough for 2d games
  • Can output for every major mobile platforms
  • Can benefit from opensource as3 libraries
  • One setup, deploy everywhere
  • Lots of tutorials and examples for startups

Things I didn’t like

  • Disadvantages of starling are mainly because flash platform.
  • No threading ( mobile ) which is vital for AI and network
  • It takes time to compile and test on device.
  • There is not an elegant approach for native extensions.
  • Your code can be decompiled ( change ipa to zip > decompress > show the package contents of app file > decompile the swf )
  • It’s not fast as native


Marmalade SDK
C++ engine for cross platform development

Things I like

  • It’s a stable and commonly used engine
  • Output is really fast so you don’t have to worry about performance
  • Have elegant native extension approach
  • Nice feature set
  • Can deploy every major platform with no effort
  • It is used by game companies.
  • Good examples

Things I didn’t like

  • It’s not a game framework actually :) It may be a base to your framework
  • Needs a wrapper
  • Hard to learn
  • You can’t find any tutorial except marmalade’s own site
  • Support is limited (mainly for premium users)


IwGame :
 A free game engine designed over Marmalade SDK. Uses an xml like language called XOML for generating content

Things I like

  • Unlike marmalade sdk it targets game development
  • Has a great documentation about xoml development ( 230 pages of book )
  • Nice feature set
  • Can benefit all of the advantages of marmalade
  • Is coming with an complete game example

Things I didn’t like

  • It’s aim is developing all the game logic from xml which is not suitable for lots of game programmers
  • There is not enough documentation and wrong examples for direct coding (coding with cpp not xml )
  • Doesn’t have an api doc so you have to check the book for everything.
  • Poor forum support
  • Doesn’t have a good structure, its open to make mistakes very easy.
  • Work in progress, team leader states that it is a base for a commercial product.


Corona
 :
 A cross platform game engine focused on lua. I checked this engine like a year ago so my comments about it may not be so true.

Things I like

  • Easy to learn
  • Nice feature set
  • Because of lua you don’t need to compile everytime. When you save your file the game scene is updated automatically
  • Allows native extensions

Things I didn’t like

  • Lack of proper IDE.
  • When a performance issue occurs you may not do anything about it.

Emo – Framework: A lite, easy to learn cross platform framework which uses it’s own scripting language. ( I’ve just checked it for half a day so I may overcriticise )

Things I like

  • Easy to learn
  • Open source

Things I didn’t like

  • Squirrel is an easy to learn scripting language but there is not an ide support for this language. Which means you have to change all of your work setup.
  • Unlike lua, squirrel know-how is not re-usable for other platforms

Unity 3D: A very well known commercial product which is used for lots of mobile games.

Things I like

  • A solid system works for every major platform
  • Easy to learn
  • No need to compile every change, easy to test
  • Rich feature set
  • Has an embedded editor and a very nice component architecture

Things I didn’t like

  • God damn expensive for 2d games ( if you don’t want to show unity splash page on startup it costs 4500 $ for ios and android)
  • It’s focus is not 2d so you have to buy extra tools for 2d. ( sprite manager, ezgui etc.)
  • Asset store is also ridiculously expensive, community is not mature enough to share information and code.
  • Simplest application file size is 8 mb.


Haxe
:
 An opensource cross platform flash like architecture. Compatible with every major platform. This is not a game framework but it provides all of my needs.

Things I like

  • Easy to learn for flash developers
  • Has a very good native extension implementation
  • Has threading
  • Very good community support ( Forum, irc etc. )
  • Better performance then flash
  • Lots of IDE support ( My favorite IntelliJ has official support )
  • Easy to publish every platform
  • Lots of opensource flash tools are also available for haxe

Things I didn’t like

  • Is hard to debug
  • It takes time get used to setup IDE
  • If you are not familiar with terminal or command line, it may be weird to get used to

My choice is Haxe because I have a solid Actionscript background and it’s been very easy to adopt Haxe. It doesn’t have the drawbacks of flash and it is working half speed of native. I’m considering to write a sparrow like game framework over cpp but I don’t think it will be soon :)

Latest Jobs

IO Interactive

Hybrid (Malmö, Sweden)
3.02.23
Gameplay Director (Project Fantasy)

Arizona State University

Los Angeles, CA, USA
2.27.23
Assistant Professor of XR Technologies

IO Interactive

Hybrid (Copenhagen, Denmark)
3.02.23
Animation Tech Programmer

Purdue University

West Lafayette, IN, USA
3.02.23
Assistant Professor in Game Design and Development
More Jobs   

CONNECT WITH US

Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer

@gamedevdotcom

Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Browse
Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more