My Message close
GAME JOBS
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
May 22, 2013
 
2K Games
Graphics Programmer - 2K Games
 
2K Games
Engine Programmer - 2K Games
 
2K Games
Tools Programmer - 2K Games
 
GREE International
Senior Product Manager, Growth and Revenue
 
GREE International
Business Intelligence Data Analyst
 
Synergy Blue
3D Artist / Animator
spacer
Blogs

  My Cross Platform Game Engine Adventure
by Emrah Ozer on 11/12/12 01:35:00 pm
Post A Comment Share on Twitter Share on Facebook RSS
 
 
The following blog was, unless otherwise noted, independently written by a member of Gamasutra's game development community. The thoughts and opinions expressed here are not necessarily those of Gamasutra or its parent company.

Want to write your own blog post on Gamasutra? It's easy! Click here to get started. Your post could be featured on Gamasutra's home page, right alongside our award-winning articles and news stories.
 

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

 
 
Comments


none
 
Comment:
 




 
UBM Tech