Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
October 25, 2014
arrowPress Releases
October 25, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
My Cross Platform Game Engine Adventure
by Emrah Ozer on 11/12/12 01:35:00 pm

The following blog post, unless otherwise noted, was written by a member of Gamasutras community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

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 :)


Related Jobs

Red 5 Studios
Red 5 Studios — Orange County, California, United States
[10.24.14]

Graphics Programmer
Red 5 Studios
Red 5 Studios — Orange County, California, United States
[10.24.14]

Gameplay Programmer
Gearbox Software
Gearbox Software — Plano, Texas, United States
[10.24.14]

Server Programmer
Forio
Forio — San Francisco, California, United States
[10.24.14]

Web Application Developer Team Lead






Comments



none
 
Comment: