Moving from Javascript to GMS2


A Change Of Plans

As some of you might have seen on my Twitter or on Discord, I've been a bit quiet recently!
I was getting stuck in with the first of 3 major Alpha updates that will take us to the Beeta when we heard back from one of the publishers we reached out to!

They love APICO and think it's cute as hell, but the downside for them was the fact that it's written in Javascript. For those that didn't know, APICO started partly as a challenge to myself to see if I could write a game entirely in Javascript from scratch (turns out I could!), and then it just escalated from there as more people played the demo and shared it.

For them, the ability to be able to export to other consoles is really important (I mean, who wouldn't want to be able to play APICO on the Switch?), and the cost involved for them to re-write or port the game wouldn't be worth it.

What I suggested is that I move over the current game to Gamemaker Studio 2

Gamemaker Studio 2

If you've never heard of GMS2, it's basically a game engine / game creation tool that lets you either build a game through drag&drop logic or through scripting. I used Gamemaker back when it was still called Yoyo Gamemaker! Since then I've used it on and off, especially when 2 dropped with all the cool new features it added. I was recently playing with it during lockdown last year so it's been in the back of my mind, and funnily enough the scripting has a lot of similarities to Javascript syntax and functions! A game you might of heard of that was entirely built in GMS is Hyper Light Drifter - one of my all time favourite games.  I kind of automatically though of GMS because of my past usage, and knowing it would be easy to port a lot of the JS script to GML, GMS's own scripting language - I didn't really consider any of the big ones like Unreal, Unity, or Godot simply because I've never touched any of them and I didn't want to be spending even more time learning an engine before being able to move APICO.

If we moved APICO over to GMS2, we'd not only be able to solve some things my own 'engine' can't handle well (like 'true' fullscreen or weird glitches with HTML5 Canvas + OSX, or dodgy performance on old machines), but it'd also enable us to export to any platform or console we'd like, as well as be able to potentially work with this publisher (or other ones for that matter)! 

I spent this last week playing with GMS2 as well as thinking about stuff for the long term of APICO & TNgineers. There's so many different games and ideas we want to work on, and going forward realistically I don't want to have to be managing all these different custom engines as well as cutting us off from ever being able to release on a console. Plus, any publisher we get into further talks is going to have the same concerns around console releases!


Taking Things Seriously

I think the publishers response kinda make me realise if I want to do this seriously then we need to look at using a 'serious' engine. It was fine to be using a custom vanilla JS engine all the time we were just messing around and just doing it as a hobby, but I want to be doing this full-time and actually be able to work with publishers or get our games on consoles, so seems like the right step to take now before it becomes far too much work - i.e. if I finished APICO and a FDB demo, then decided to move things over, it would be a crazy amount of work and probably would never get done as I'd want to move onto the next fun project! At least at this point once moved over there's still loads of 'new' stuff to look forward to adding.

I loved building everything from scratch but realistically as a team of just 2, with only 1 of us a developer, it's just not something that's going to be sustainable. Moving over to a tool like GMS2 is not only going to massively speed up development time, but ensure everything is consistent performance-wise, plus let us do some awesome stuff that would have taken me months to code myself I'd want in other games (custom physics, shaders etc). 

New Timelines

With that in mind, regardless of whether we end up getting on-board with these publishers we've been talking too, I'm going to be taking the next few months to move the current game over to GMS2. I estimate I'll need about 3 months max to take the current Alpha with all functionality and features and put it into GML - the scripting language GMS2 uses. This won't actually be as bad as you might think - in one day of playing with GMS2 I already re-made all the multiple menu logic that I spent a month doing from scratch!

The old plan was to spend the next 3 months doing 3 major updates to take the Alpha to a Beeta, that we'd then make Early Access for a few months while we finish off the last 5-10%. With this GMS2 "move", we need to push the times back a bit! 

So what all this waffle is leading up to is that we're going to change the planned release date of APICO from June 2021 to October 2021, to take into account the re-building and then going back on track with the plans before. We'll be carrying on with the dev logs and Twitter posts as usual, but understandably there'll be a lot of stuff you've seen before being re-done, although we have a few things we always wanted to improve and update so it's a chance to do that as well!

We're really sorry for anyone who was looking forward to the open Beeta soon and for our Alpha Bees who have been patiently waiting for the next big update, but we think this is the right decision for APICO and for TNgineers as a whole - we're sure you understand!

Thank you all again so much for your support, it really does motivate us and we're so excited to let you all play the full game in 2021! 

Get APICO

Buy Now$19.99 USD or more

Comments

Log in with itch.io to leave a comment.

Can't argue with what you're saying, you get more support with a game engine than doing it all yourself. Looking forward to continue playing it on Linux :)

Yeah exactly! Plus no need for weird little work-arounds just to run it on Linux :P

Weeeeelll....Game Maker does come with its own issues but I can usually help get around them ;)