Yeehaa, we’re back! Sorry the site has been down over xmas, but the monkey2 forums were spammed and I just wasn’t in the mood for embarking on an involuntary MySql refresher. I don’t even particularly dislike MySql or anything, I JUST WASN’T FEELING IT. Spammers kindly fuck off forever. All done now though, although I […]
Author: Mark Sibly
Back to the future!
Hello all, I have been thinking a lot lately about where to take monkey2 (and blitz research) next and I have decided to concentrate most of my efforts on a single target. I am very happy with most aspects of monkey2, but one thing I think I seriously misjudged was the cost of using c++ […]
Mid-September update!
Whoooeeeee, life sure can change big time in just a few months! I am now a 9-5 (well, 7.30-4) c++ programmer working in a team of around 100+ people around the world on a project with millions of lines of code. I work in a large open plan office with about 50+ other people, about […]
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 […]
Monkey2 Update for June
Hi everyone, It’s mainly been a month of tweaking and tooling around, but there have been a few semi-major developments along the way. For starters, weak references have been added to the language via the new WeakRef class. It’s taken a while to add these as I honestly wasn’t that clear on how to implement […]
Monthly Monkey2 update for May 2018
Hello everyone!I have mainly been playing with 3d over the last month. The shader system is now much tidier, thanks to the addition of a pseudo ‘import’ directive (glsl doesn’t have one so you need to roll your own) that should make writing shaders much cleaner/easier. For example, the default PbrMaterial shader is now only […]
Late February Update!
[Note: This post has been copied from a post made to the Patreon site in early Februrary. I have also since decided to continue making prebuild versions a ‘Patreon supporter only’ thing for now.] Greetings to all patreon supporters and any innocent passers by, Well, first up, a bit of bad news – funding for […]
Happy new year! And monkey2 v1.1.09 is out…
Just a quick note to say happy new year, and that Monkey2 v1.1.09 is now available for download. Nothing fancy, just a prebuilt version of the current state of monkey2. As always, you can also build the latest version of Monkey2 yourself from the source at github. Here’s a quick summary of notable changes since v1.1.08: […]
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 […]
Monkey2v1.1.08 now available!
Hello all, Monkey2v1.1.08 is out now at blitzresearch.itch.io! First up, there are a number of cool language additions: ​The safe member access operator, ‘?.’ can be used to safely reference object members in cases where the object may be null. Works the same as plain member access ‘.’ if the object is non-null, otherwise returns […]
Monkey2-v1.1.07 out!
Hi, After a bit of a delay, Monkey2 V1.0.07 is now out (from http://blitzresearch.itch.io/monkey2 as usual)! Actually, I was a wee bit unwell near the start of August which took me out of commission for a while, but I’m back now baby! I did manage to get some pretty useful stuff done though, including: Improved […]
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 […]
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 […]
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 […]
Minor 3d update!
Hi, Ok, a little update on monkey2’s 3d progress! I’ve only really spent a couple of weeks on it full time so far (and have had some kind of nasty flu-bug thing over the last few days so have been taking it easy this week) so there’s not all that much done, but in a […]
Happy new year everyone!
Happy 2017 everyone! Sorry I’ve been a bit quiet lately, but I had a bunch of real life stuff to deal with there for a bit, including both a broken down car AND motorbike so I’ve been stranded at home with just a windows laptop since Christmas. I should (surely?) be sorted by the end […]
Website update and new binary releases!
Hi, As you may have noticed I’ve given the website a bit of a tidy-up. I definitely struggle with web design stuff so it’s not nearly as good as I’d like it be, but still, I think it’s an improvment! If nothing else, it makes for a nice change. There are also some prebuilt v1.1.01 […]
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 […]
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 […]
Minor update: Ted2/Mojox improvements
I spent some time recently working on adding some features to ted2 and mojox, including: TextView now supports word wrap. You can enable/disable word wrap via the WordWrap:Bool property. The main motivation for this was to make editing #monkeydocs easier, but it’s also nice to be able to view plain text files etc with word […]
Semi-major mojo update
Hi! Ok, I’ve just committed/pushed some pretty major improvements/changes to mojo. First up, mojo can now do 2d normal-map style lighting! It’s also very easy to use: Load ‘bumpmap’ images with Image.LoadBump(). This takes 3 file paths – a path for the ‘diffuse’ map, a path for the ‘normal’ map, and an optional path for […]
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 […]
Android support phase1 complete!
Hi, I have just committed a bunch of stuff that includes preliminary support for android in it – but don’t get too excited! It’s in a pretty rough state right now! There’s an ‘android’ dir in the root monkey dir that explains the various spells and incantations that must be performed to produce an mx2 android […]
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 […]
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 […]
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 […]
Monkey 2 V1.0.0 now available!
Hi, It’s been a while coming, but monkey 2 v1.0.0 is now up at github and available as a prebuilt binary (Windows only sorry) from the new files page here: http://monkey2.monkey-x.com/monkey2-files/! Pleae note that although this is a ‘version 1 release’ it is by no means the end of anything. It’s really just a snapshot of […]
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. […]
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 […]
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’ […]
Early version of docs now up!
Hi, I spent most of my time this week making a start on the docs and creating a ‘docmaker’ system. It’s early days yet (isn’t it always?) but you can check out the results here: http://www.monkey-x.com/mak/mx2/mx2docs/docs/ There are a few things I want to change around, but not many so I think considerable chunks of […]
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 […]
Minor update on new compiler
Hi, I’m currently in the process of converting the mx2 compiler from monkey1 to monkey2. It can’t *quite* compile itself yet, but I think it’s about 90% of the way there and I’m hoping to have it all up and running sometime next week. In the process, I have cleaned up quite a few issues […]
Welcome to the new Monkey 2 devblog!
Hi, I have decided to move the monkey2 development blog to wordpress, mainly so I can add forums to the blog but also with the expectation that this will eventually grow into a complete monkey 2 site. I’m new to wordpress but have so far managed to avoid any coding what so ever! It’s all […]
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 […]
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 […]
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 […]
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 […]
Pre-pre-pre Alpha Release
Hi, Ok, new monkey2 demo time! As with the last demo, this should be installed along side the latest monkey release as it is still IDE-less. It will also work with the latest free version of monkey. This is still very much pre-alpha stuff, but it should be border-line usable now and has reached a […]
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 […]