Monkey, Mojo, Pyro, ...

Monkey Forums/Monkey Beginners/Monkey, Mojo, Pyro, ...

AnotherMike(Posted 2015) [#1]
Hey there!

I'm a professional software developer (whatever that is) and I'm looking for an easy to get into "after work" development environment / language to create some 2D games. I have used some Blitz language many years ago and recently stumbled over Monkey X (marketing doesn't seem to be it's strong point). Does it make sense to go with Monkey now and move on to the (upcoming?) MX2 later? I have also read about Mojo (2) and Pyro. It has left me all a little confused... Pyro seems to be a game engine which utilizes the Mojo (graphics?) module and the Monkey programming language. Is that about right? I have played with other options like libGDX and Unity. While Unity seems very powerful I fear it would be just a little too much for my purposes. I don't care much about 3D. I kind of liked libGDX, it just reminded me too much of work being Java and all. ;)

My combination could be Monkey X Pro + Pyro (or just Mojo 2). Does this make any sense or should I just wait for MX2 to be released? I don't mind paying for quality software so cost is not an issue but it would be a shame to rewrite everything after a while because the original Monkey is not being developed / supported any more.

Any input?


Nobuyuki(Posted 2015) [#2]
Sounds good. Mx2 is planned to be more of a general-purpose language, but I believe mojo2 was written with it in mind. Pyro leverages mojo 2 as it's back-end. So you should be able you easily transition to it when you're ready.

That being said, monkey projects will likely require some minor porting if sufficiently large. No one knows yet just how different mx2 will be syntax-wise, but most people seem to agree that it's probably not going to be too radically different.

If you stick to a strict style and don't take too many shortcuts, your code will likely port over without much issue...

Karl(Posted 2015) [#3]
Like you I stumbled onto Monkey X, and yes marketing doesn't seem to be it's strong point, I have tried other game frameworks mainly Libgdx, AppGameKit, Phaser (html5) and I find Monkey X easier to work with. I'm using Mojo and the Jentos IDE at the moment and pleased with how quickly I can get something done.

therevills(Posted 2015) [#4]
Mojo (1 & 2) is the "game engine" module for Monkey, it supplies commands to draw graphics and play sounds.

Pyro is a 3rd party "game framework" which uses Mojo 2.

Mojo 1 works for all supported Monkey targets, whereas Mojo 2 only works for C++ targets.

AnotherMike(Posted 2015) [#5]
Thanks to everybody for clearing things up. I'm fine with C++ targets as I don't care too much about HTML5. I think I'll just be playing with the free version for a while to see how well I like the language and everything that comes with it. Thanks again! :)

Danilo(Posted 2015) [#6]
There are rumours that MX2 will still support JavaScript output by using emscripten.

In the long run you probably can't avoid more libraries and library imports coming to MX2, and that may even include more 3D stuff (WebGL engines etc) -
while, at the same time, MX2 still comes with it's library system (math, networking, Mojo2, ...). At least that's what I think - nobody said those system libs are removed.

ziggy(Posted 2015) [#7]
whereas Mojo 2 only works for C++ targets.
Mojo 2 supports of OpenGL/WebGL targets AFAIK.

Playniax(Posted 2015) [#8]
I think I'll just be playing with the free version for a while to see how well I like the language and everything that comes with it.

I think that is the best way to start. First get a grip on the language and Mojo 1 and/or Mojo 2. Monkey and Mojo are quite capable on their own. You will find out soon enough if you need any 3rd party framework like Ignition X, Pyro, Diddy, etc.

I agree that for new comers things can get a little confusing.

As far as our frameworks Ignition X and Pyro go just think of this:

Ignition X is for Monkey 1/Mojo 1.
Pyro is for Monkey 1/Mojo 2 and will be ported to Monkey 2.

The thing is, while I was working with Mark on Pyro/Mojo 2 he decided halfway the project that he wanted to do Monkey 2, or atleast it seemed to look that way, surprising even me but I completly encourage the move!!! :)

MikeHart(Posted 2015) [#9]
Using the free version is definitely a great start.

AnotherMike(Posted 2015) [#10]
Thanks again!
I have played with the language for 2 or 3 hours and I'm quite satisfied. I was able to create a basic Space Invaders like game without any prior knowledge. I don't think this would have been possible with "heavier" framework. The OO approach takes a little getting used to when you're coming from Java or C# as it has some "special" rules but the language is really super easy to learn.

Playniax(Posted 2015) [#11]
Spread the word!

AnotherMike(Posted 2015) [#12]
I doubt my word alone will do much good but I certainly will. ;)

DruggedBunny(Posted 2015) [#13]
Oh, man, 2 or 3 hours?! Now I'm embarrassed!

AnotherMike(Posted 2015) [#14]
Haha, I had some sprites and some sound files lying around...I just did the (messy) coding. I looked over the examples, stole some ideas here and there, studied the API. In the end coding is coding, the language doesn't change much.

MikeHart(Posted 2015) [#15]
In the end coding is coding, the language doesn't change much.

That is what I say all the time. Once you can code, the rest is just syntax and style.

AnotherMike(Posted 2015) [#16]
True, there is a lot of game related stuff I'll have to study though.