Monkey2v1.1.08 now available!

Hello all,

Monkey2v1.1.08 is out now at!

First up, there are a number of cool language additions:

The makedocs system built into mx2cc has been rewritten from scratch because the old one had become such an unholy mess I couldn’t really do anything with it any more! Module ‘manual’ docs should now be placed in a ‘newdocs’ dir inside the module dir, and all docs are now built into the same location, ie: the docs/modules dir, which IMO is a whole lot more useful than the old system which used to build docs into the individual module dirs. You also no longer have to makedocs before uploading a module via the module manager page.

A simple ‘component system’ has been added to mojo3d, although not much has been done with it yet – I have converted the Animator, Collider and RigidBody types to components, but more as a proof of concept than anything else (that said, I’m quite happy with it and can’t see it changing much). I plan to spend considerable time over the next month getting this stuff into shape – The non-rendering side of mojo3d has all been a bit ‘half done’ for too long now! I am relatively happy with the current state of the renderer (it generates some weird warnings in the android emulators which needs fixing, but it does at least work on all emulators I throw it at), but there is of course more to 3d engines than just rendering – esp. these days! That said, I *have* been experimenting with a more modern terrain system for mojo3d in my spare time and think I’ll eventually be able to do something pretty cool terrain-wise.

There’s a new PlayMusic method in AudioDevice for streaming audio from file – see new musictest banana. This should work on all targets except for emscripten, which doesn’t support threads so will need to use a different mechanism, probably involving some calls into native javascript. Audio must currently be in ogg format, although mp3 support is now a possibility due to several mp3 patents having apparently expired. PlayMusic returns a ‘channel’ object which can be used to control music volume, pause music etc. With the addition of music streaming, I do feel like monkey2 is finally ‘fully equipped’ for writing 2d games with, although of course there will be many refinements and bugfixes to come!

Apart from more work on mojo3d, my next goal is to try and put together a more ‘finished product’ by the end of the year. This will involve more work on both the docs and examples, esp. for the monkey, std, mojo, mojox and mojo3d modules, which really form the ‘core’ of monkey2.

Finally, apologies for the late ‘monthly’ release….no excuses really, just been a weird couple of months in various ways (IRL too).


User comments
skn3 says:

Amazing work! Keep it up!

nerobot says:

Yeah! You’ve done it! 🙂

Diffrenzy says:

Absolutely wonderful.

Safe member access operator made it too, very cool 🙂

Angus says:

Unsure as yet what some of these things mean, but happy to use opportunity to buy. Greatly enjoying using mx2.

papgar says:

Safe member operator- I remember you mentioning this and it sounded cool glad it made its way in.  Struct->Bool conversion is great too.

Anatol says:

Some great changes and improvements, thank you Mark! Monkey2 is already awesome, and getting better with every release! Hopefully your IRL weirdness has subsided. All the best.

degac says:

Great ‘fine tunings’ to the language. I like “less type, more satisfaction :)”.

nerobot says:

Blitz3d ended with version 1.108, but Monkey2 with 1.1.08 became strong and ready to move on! 🙂

DruggedBunny says:

Ha, good point!

medi says: