July 2018 Update!

Monkey2 Threads Threads are finally in! I eventually gave up on my fancy ‘Tasks’ idea from the previous worklog update. It’s not a bad idea, but communicating between tasks would have been pretty cumbersome as it effectively involves serialization and that’s never particularly fun. I did actually take it quite far. I had a proof […]

Read More

December update

December update! Well, it’s being a kind of quiet month in terms of flashy new features, but lots of ongoing ‘under the hood’ work has been done so it’s all good. The mojo3d entity animation system is now (mostly) usable. All the bits are in place, the actual API just needs a few tweaks. You […]

Read More

Monkey2v1.1.06 now available!

Hello everone! I have just uploaded a prebuilt binary release of Monkey2 V1.1.06 to itch.io here: https://blitzresearch.itch.io/ This is mainly a ‘first pass’ over various problems and issues with the new 3d stuff, which has included a few big, breaking changes (note that mojo3d is still in it’s infancy and there may be more) in addition […]

Read More

Monkey2 v1.1.05 now available!

Hi everyone, I have just uploaded prebuilt binaries of monkey2-v1.1.05 for windows and macos to itch.io at https://blitzresearch.itch.io/monkey2 This is mainly a ‘pre-3d’ release. It contains several under the hood tweaks to mojo that will be required by the soon to be released mojo3d module(s). I have tried to make these tweaks as unobtrusive as […]

Read More

Monkey2 3d update!

Hi everyone! There have been some important ‘behind the scenes’ developments recently that have been hard to show via screenshot so apologies for the twitter silence lately, but here’s a hopefully informative blog update instead… Deferred HDR rendering Up until this point, all rendering has been performed directly to the app window, in a single […]

Read More

Reflection is in!

Hi, Ok, it’s still a bit WIP, but the core of the reflection system is now in! It introduces 3 new ‘builtin’ types: Variant – a ‘boxing’ type that lets you set/get/invoke variables etc in a uniform way. TypeInfo – that lets you inspect the names, kinds and decls of a type at runtime. DeclInfo […]

Read More

C2mx2 lives!

Hi, I finally got around to taking a good look at using ‘libclang’ to help with converting native ‘c’ header files to monkey2 externs, and it turned out to be way easier than I thought! Libclang is a helper lib for the clang c/c++ compilers that provides a simple interface for walking the nodes of […]

Read More

New stuff now up!

Hi, I’ve had a few internet problems over the last week, so I didn’t end up doing anything (directly) on the ios target as I couldn’t face even attempting it without stackoverflow support – nevermind xcode docs! Internet is now back at full speed though so it’s back into ios tomorrow. Without much in the […]

Read More

New Stuff Up!

Hi, Ok, I’ve just pushed a bunch of new stuff to the github repos, some of which may not be 100% stable. However, you should now be able to use the new module manager in ted2 to install the solitary module currently available online, skidracer’s portmidi module. You can also try uploading modules if you […]

Read More

Sidetracked!

Hi, Ok, after an initally promising start with the android target (I can compile/build/link stuff now…but it’s all very hacky) I decided to suspend work on that for a while in order to finish up the module manager system, which is IMO only really half-finished right now – pretty much like every other module manager […]

Read More

Latest developments

Hi, Here’s a quick update on some things I have been working on since the v1.0.0 release: New fiber system. The fiber system has always been a bit ropey – it simulates fibers with OS threads, using semaphores to sync them. This is robust, but has considerable overhead and I had always planned to change […]

Read More

Little update….

Hi, Just a little update to let everyone know I’m still here! I’ve been working furiously on the v1.0 release and things are progressing nicely. Mojo2 has been massively cleaned up and mx2-ified but should still remain largely recognizable to mx1 mojo2 users. Still no lighting or shadows, but all the basics are in including render-to-image. […]

Read More

Are we there yet?

…Not quite, but I think we’re in the final stretch now! I now have a usable debugger up and running. It’s currently pretty simple but the basics are in, ie: you can run/pause/step/enter/leave mx2 code and see all the variables on the stack as they are updated. And wow, you forget how much easier a […]

Read More

Update time!

Hi, As you’ve probably guessed by now, I’ve been spending quite a bit of time on the website and docs system. This involved a crash course in wordpress, but I think I’ve mostly got my head around it now. I’m pretty pleased with the results, although it certainly still has a ‘designed by a programmer’ […]

Read More

Monkey2 Progress Report

Hi, Apologies for the silence, but I’ve been busy cleaning up and finalizing 1001 ‘little things’ I have encountered while converting the compiler to ‘pure’ mx2. It hasn’t been very exciting stuff but the end result is that the compiler – which is indeed now pure mx2! – is a LOT more solid than the […]

Read More

Fun with fibers!

Hi, I spent a bit of time over new years playing around with ‘fibers’. This was partly in response to requests for me to look into async/await style functionality, but also touched on a bunch of other stuff I was interested in checking out such as coroutines/generators. But just what is a fiber? The term […]

Read More

XMAS Demo (V3)!

Hello and happy Christmas! I have put together a little monkey2 ‘xmas demo’ – downloads here: Windows: monkey2_xmas2015v2.exe MacOs/Linux: monkey2_xmas2015v3.zip The Windows release is a self extracting archive that should ‘just work’! The MacOs/Linux release is source code only (the windows release includes source code) that will need to be built. On MacOs, this means […]

Read More

Makemods Update

Alrighty, I finally have what I think is a pretty good module/library system going! The mx2cc app now has a ‘makemod’ option in addition to ‘makeapp’, which creates a ‘.a’ archive file (‘.so’ to come…) from all .monkey2 files reachable (via #import) from a given root .monkey2 file. For now, you will need to include […]

Read More

Build System Update

Hi, In preparation for ‘makelibs’ I’ve spent the last few days rearranging the build system so each app gets it’s own build dir. Boring, fiddly stuff, but necessary. I’m using a .build dir system similar to monkey1’s, with a subdir for each ‘profile’ that will contain the output app, and a build_cache dir for temporary […]

Read More

Monkey1 to Monkey2

Hi, A quick list of things to consider when converting monkey1 code to monkey2… Strict mode not an option! All functions that return something must return something! In monkey1, you could omit return statements even in functions that returned non-void. Not so in monkey2 (although this isn’t actually implemented in the compiler yet..). Variables no […]

Read More