Monkey || Corona SDK

Community Forums/Monkey Talk/Monkey || Corona SDK

Armitage 1982(Posted 2011) [#1]
Hi folks!

I'm back from a one year trip around the world :-)
The world is a fantastic place to live, trust me!

I worked for about 8 months in Australia, Mareeba Queensland, as a fruits picker (every kind) in order to bankroll the rest of my journey.
I had a few hard time thanks to Hurricanes, cyclones, tsunami and various life threatening hazards but now I'm back to business.

And business today is handled IOS/Android as you probably know it.
All around the globe, people just tap and spend most of their time and money on little handled devices. Mainly Apple in N-Y, Android in Asia, both in Europe.

Through I still have a game to complete (http://metagolf.net/) I'm currently wondering if I should put my hand on Monkey or go with something more robust/featured like Corona SDK (http://www.anscamobile.com/corona/).

Right, those are two different monsters.
Prices, behaviors and features are not the same.
But those who jump early on the Monkey Boat may probably help me to make a choice (since the demo version is too old).

First of all, I intend to only develop 2D games with those tools.
Multi-platforms is a plus, but IOS and Android is really all I need atm.

I had a quick look at Monkey over the year and unfortunately I feel that unlike the development of BlitzMax, things doesn't move really fast over the Monkeycoder forum. Am I wrong ?? I suppose you miss every little things (read modules) to help you to quickly produce "out of the box" 2D games.

Do we generally need to wait that a feature is translated to every platform before getting a Monkey update ?

What about the specifics platform features (and I'm not only talking about the handled features like A-GPS or Gyroscope, but things like FileSystem or InputSystem, supported/Partially supported/not supported at all due to IOS ?).

Is there many bugs in the current version of Monkey (v45) ?
Easier than BlitzMax or harder due to the cross-platforms (case sensitive is not a problem, search deeper :)?
What about the current Framework like Diddy and the alike ?

All in all, I have to wait before getting a mac and the software part (those things are expensive ^^).
I could stick to BlitzMax for PC/MAC/Linux but what about porting my games to IOS and Android if half of the commands (and Brucey modules) are missing or unavailable ?

I have read that many of you waiting "this or that" before porting their BlitzMax Project to Monkey, Could you relate your experience with others to see what's going on under the surface of Monkey?

Thanks for reading me, and hope to see a whole range of answers in this topic.


GfK(Posted 2011) [#2]
I've just ported crime solitaire to monkey. had to rework a few bits but no showstoppers. its taken about six weeks.


Armitage 1982(Posted 2011) [#3]
Great !
So normally you can straight Away build it for IOS, Android, HTML, Linux and Flash ?
You achieve this thanks to the Mojo Module or did you roll your own engine ?


Matty(Posted 2011) [#4]
It is perfectly possible to release games for Android on Monkey as it stands.. in fact I'm using an older version of Monkey (v42). Not sure about iOS as I've not got a mac but Monkey is great for Android apps. Had a brief look at Corona and didn't like it, I couldn't get used to LUA...and performance seems better on Monkey. Access to native code is possible to with Monkey where needed.


MikeHart(Posted 2011) [#5]
Awww Corona! Before Monkey that was my first choice when it came to Android/IOS dev. Corona and Monkey are two different types of animals.

Corona has a lot of features build in, that is nice. But a lot of them are only very basic like support for OpenFeint and its iOS rival. Imho you could kick these out right away and would not miss much.
Their UI support is not native, it is simulated via graphics. That can be done in Monkey too, but it isn't there. Physics is out of the box implemented and very nice integrated. But it has its problems like objects sticking to the wall. Users have asked for ages (over a year) that Ansca adds another command to be able to fix this but they simply ignore this request. For Monkey there is a Box2D module where you have more work to set things up, but you have the full feature set of it. Speed wise Corona feels slower when it comes to more than 20 objects on the screen. Also it isn't render optimized when it comes ot offscreen rendering. The building process of the actual app is nice, but some people like to have more flexibilty.

The updating speed of Ansca Mobile isn't fast either. Feature requests are ignored and new feature are implemented usually half baken.

If you want something feature complete without the ability to extend it yourself, then I would rather look into AGK than at Corona. Besides it misses GameCenter support, it has an even better featureset and developing with AGK is a blast. It also gives you more platforms. If you want the complete freedom and don't mind using a framework of even better create one yourself, than Monkey is hard to beat. It took me about 1 week part time to create a framework that let me now create a sokoban clone in less than 250 lines of code.

Sure, Mark doesn't add platform specific stuff atm. I doubt that he will in the future. But Monkey is so open and 3rd parties have already add stuff in their modules that are platform specific. I don't see that as a problem.

Again, it depends strongly what you need. Performance wise I think Monkey is the strongest. Featureset wise my vote goes to AGK. Marketing wise Corona has the lead. But I don't believe in these numbers they like to post. Put these into perspective and then you see that they like to play with their users minds.

About the languages, I have mixed feelings with LUA. Because it is so flexible and open, it will cause a lot of problems when we talk about memory lags. The most problems I was helping people with their projects were because they didn't release objects properly. LUA/Corona is a memory trap if you don't know how to deal with it.
AND... Lua is not jitted in Corona!

Last edited 2011


GaryV(Posted 2011) [#6]
Armitage: I am glad you are back safe and sound :) Still looking forward to seeing Metagolf finished ;)


Armitage 1982(Posted 2011) [#7]
@GaryV
Thank you! Feel great to be back in such nice community. Hope to see the same interest with Monkey.
I won't give up with Metagolf, I just need to find time to improve a few bits here and there, give a nice demo with a lot of levels in it. All the best :)

@MikeHart
You point me to a very interesting piece of software. AGK App Game Kit look promising, I will try to download the trial. I still need to know what's behind the "2D game engine" features yet. But it's already much cheaper than Corona SDK, always a good thing :-) What I fear is thegamecreators.com
related link at the bottom of the site. I didn't enjoy Dark Basic at all, it was so bad when I first try it. But everybody improve :) Who knows ?

Since IOS/Android are so popular, you cannot spend a year building your own engine and waiting all kind of fix to release games or apps on the stores for 0.79€ as many dev. already figured out. A bit of flexibility with a good set of functional features is all that matter. I think you can still create good little games for IOS/Android and more complex things on desktop. I want to try!

@Matty
Access to native code is a good thing, but is it complicated ? Like porting a C++ library to a BlitzMax Module ?

Last edited 2011


slenkar(Posted 2011) [#8]
Monkey is pretty darn good, I ported over my modules (like gui) and they work just fine as they did in blitzmax.
I dont think there are any bugs, the only thing missing is reflection but I made a little code analyzer which creates code to save and load a game.

When you are doing too much recursion it warns you when you compile and run for javascript, that has saved me a bunch of time.

Last edited 2011


Yasha(Posted 2011) [#9]
When you are doing too much recursion it warns you when you compile and run for javascript, that has saved me a bunch of time.


*thinks* JavaScript doesn't support proper tail calls?

*looks up*

...JavaScript doesn't support tail call elimination!

*disappointed*

(As you might guess... I don't use JS for much or I would have already known this. Now I know I won't want to use JS for much, as TCO is one of those things it's hard to live without once you get used to it. I just sorta assumed it was there...)

It is a bit silly that they would prat about adding things like generators while leaving out such a fundamental underlying feature, though. (If the language had TCO it wouldn't need generators! Do people learn nothing from past languages' mistakes and successes? Or rather, why do they keep copying Python when Scheme got it right first time?)

Last edited 2011