Little introduction, why did I need this?
I got a freelance request to port a flash game … to iOS/Android. I was proposed to use unity3d, that people say is very good and not suited for 2D. So, I had to implement my batching and rendering using primitives. In semi-automatic mode converted as3 ~~> C#, but even with Pro version features FPS on iPhone 4 was around 15 in not loaded scene. In a loaded scene there can be up to a few hundred objects. I decided to rewrite everything using C++, try for example to write this game: … on pure Lua or C# and make it working on phone without lags: you wont succeed. I started looking for an engine … And to my surprise, I didn’t find anything good, except a few lua engines and also open sourced Cocox2dx. Okay, I decided to try it, but its syntax and code~~ its just horrible, especially CC prefix for all classes. I was trying still to use it but then other problems appeared. So, I continued my search and found marmalade. Hooray, this is exactly what I was looking for, I thought at the beginning, even can code for iOS in Visual studio and build a project with one button. But there is one problem, with pure Marmalade you wont get far, it is very low-level. Thats how I came to an idea to write the engine myself, using my accumulated experience. Moreover, I wanted to make this long time ago, and I was worrying that downloadable games marking is dying and noone needs a good 2D engine.