New games every week!
New Monkey Framework - Why? Blog
12th December 2016
It's been 4 years since I created my original Monkey Framework.
Although it's true that it's had the odd nip and tuck over the years, it's certainly starting to show it's age.
The complete and utter disaster of Gamma Collexion, (whereby the multiplayer code failed SPECTACULARLY) was the final straw.

-=-=-

In the first week of December, I started trawling the net for a replacement language.
I'd had a fun time with Monkey-X, but it was time to move on.
I tried a number of different languages.

Unity seemed like the obvious choice, but a blank test compile (start project, compile, nothing more) resulted in an alarmingly large 12Mb .exe!
Consider that I'd need to add all my art/sprites/sound/music on top of that.. Realistically I'm just not comfortable having such a large download. Especially if I'm expecting people to download AGameAWeek.

Imagine how big your AGameAWeek folder would get!?
.. What do you mean, you don't have an AGameAWeek folder..!?

So, I carried on, and tried others.
Some languages weren't really compatible with my coding style. Unity, again, being one... But there were others in the same boat.
I'm a typer. I like to code with the keyboard. I grew up using an Amstrad, and typing lines of code without even so much as a basic GUI.
The prospect of drag'n'dropping all my assets, and clicking boxes to setup sprites and things. Nah, I'm not a fan of that.

In Monkey-X, as well as many other languages, to load a huge spritesheet with hundreds of varied sprites, you need only use the LoadImage() command with the right parameters.
Unity and other modern "proper" languages will have you import the image, then set up the slicing method for the image, before you can even make use of it.
And what's with variable names for the split sprites? Why can't I just use numbers!?


There were other complications, too.
Languages that have no immediate sample code, so you can't even see the most basic of language structure. When I download your language, at the very least give me a Hello World example!

Languages that require half-minute compiles.. I could deal with that when I've written something as large as Gamma Collexion, but if Hello World takes 30 seconds to compile, that's just not good enough!! Especially for someone like me, who does a heck of a lot of quick-testing.

Oh, and GLBasic STILL (!!!?) doesn't let me use Audio Pitch. Seriously, What is with that!? I bought that language, and complained about the lack of Audio Pitch, way way back in 2011.. It still hasn't been added. What a waste!!

Meanwhile, Mark's Monkey-2 seemed like it might be my choice. However, even that gave me 7Mb empty-shell exes, and those took about 20 seconds to compile, too.
Even doing HTML5 compiles (which are damn-near instant in Monkey-X) took FAR too long.

*sigh*

I weighed up the options and ultimately decided that, if I can't find anything better, then I might as well stick to what I've got.
Monkey-X might be "quirky", but it's the best-fit language for my AGameAWeek style. It's nice and fast, it compiles to relatively small sizes, and I can type to code instead of all that nasty clicking business.

I'd already planned to spend December creating a new framework in whatever my chosen language turned out to be, so that's exactly what I'm doing.
I started pretty much from scratch, and am rewriting the entirety of my Framework in Monkey-X.
From the bitmap font engine, to particles, brand new controller methods, a new menu system, and everything else inbetween.

I'm relearning a lot of things, getting everything flowing a little smoother, and hopefully by the time I'm done, I'll have a much better framework.

To be honest, the player probably won't notice the difference. Except for a slightly different menu layout, it's practically going to be the same AGameAWeek style that you've come to expect.
I can certainly type new code, but I can't change my "specific" art style!

But that's what I'm doing.
And with any luck, I can fix up some of the growing issues (like Android Multiplayer) along the way.

*fingers crossed* that this will all be ready in time for AGameAWeek 2017.
I certainly hope so, anyway.
Views 13, Upvotes 1  
Daily Blog
New games every week!
Site credits : Jayenkai
(c) Jayenkai 2023 and onwards, RSS feed

Blog - New Monkey Framework - Why? - AGameAWeek