Sunday, December 29, 2013

2011 - When it all starts to change.

Early in the new year we also released Mr Karoshi, which went on to win Android game of the year at a Pocket Gamer event, and as Russell finished off the Android runner, Stuart and the team started to work to get all our games released on the Google store as well.

So, up until now, the real focus was the runner, and getting it onto consoles and other platforms, but now the decision was made to update Game Maker 8, and see what we could do with that. We hadn't really touched the IDE at all, but I'd used Pascal years ago and quite liked it, so thought this should be relatively simple - how wrong I was.

Delphi is a totally different beast, and one that has numerous quirks waiting to bite you when you least expect it. Still, I was excited to take on Game Maker, and see what I could do with it. When I first started looking at it, it quickly became apparent that the room editor needed work, it's lack of zoom made doing lowres games a nightmare as small tiles were incredibly tricky to place. I've since discovered the reason for this is that Mark never uses the room editor, but a defines everything in text, and loads it in. This explains alot. He also said he didn't think it was possible to get enough speed from the rendering of the room to allow it to zoom, but that was never a concern for me. Pascal as one thing going for it, that being when you need to, you can drop assembly code right into the middle of pascal, and it all just works. Also, being an old sod I've written enough scaling sprite routines that I didn't view any of this a major challenge, so I basically rewrote Marks room drawing Delphi code, in pure assembler which then gave me the speed required to add zooming - probably the most requested feature at the time.

PokerSquares HTML5
While working on 8.1 Sandy also decided to take the plunge and try and get something running on HTML5. We had always had the browser plugin for GameMaker, but the bounce rate on it was horrendous, and it hardly ever worked thanks to all the browsers changing every couple of months. So, Sandy got Russell and I to see if we could deliver a prototype - a proof of concept that would prove it could be done. This was mainly so he could show it to some interested parties who had started sniffing around looking for web engines.

Russell took on the compiler side, and I set about learning Javascript and HTML5. This was the first time we had written a runner from scratch, and it was pretty frantic work, yet in onto 2 short weeks, we had a one of our latest games - Poker Squares, running in a browser. To put this into perspective, it took us 3 months(ish) to clean up the C++ runner when we first got it, yet in only 2 weeks, we were able to get the framework of a brand new runner - enough so that a game would actually run. Not to blow our own trumpet, but that was damned impressive, and very cool. Russell then took this demo and showed it around at GDC in San Francisco, and the response was pretty good, so much so, that after 8.1 was released, we decided to jump on the HTML5 bandwagon and see what we could do.

Still, we had to get 8,1 out of the way first, and it was about this time we started "leaking" images, and teasing the community with what was coming - something I LOVE to do. We got Andrew to leak this little image and everyone started to get excited, knowing an update was coming, and then over the next couple of months we leaked some more details, images and the like. Another big feature was the auto-updater, so we could release new versions more quickly, and make sure everyone gets them. Traditionally, this has never happened in Game Maker, and folk have been stuck with much older versions.

While I was looking at this, Russell finished off the Android runner, and Andrew, Geoff and the rest of the games guys started churning out games. Russell then joined me on the final push of GameMaker8.1 and we released it (I think) on the 15th April, 2011. This was a free update and moved everyone from Softwrap to our own DRM.

We added quite a lot to it in the end, and over the next year, added even more features and upgrades, from new Font rendering code, to much, MUCH faster 3D rendering. However... some of this came at a cost, and the addition of the "TV" logo was much debated. This was something we discussed with the community as the initial idea of the .EXE timing out didn't exactly go down well. So, we listened, and we discussed, and the TV logo is what came out of it - for the Free version, and only on final .EXEs; that and a nag screen. It still wasn't hugely popular, but then, those who complained, were usually those who had no intention of ever buying - so what do you expect. By way of compensation however, we DID add in some pro-only features like sprite rotation, and the zooming room editor and this did help quiet folk down.

Food first.... planning later
Once 8.1 was out the door, and we had a couple of stabilising updates out, we turned our focus to HTML5 again. With the proof of concept, we saw that not only was a HTML5 engine possible, but very practical, and so Sandy decided he wanted a full blown HTML5 version of GameMaker to sell. We set about planning it all, and Russell, Sandy and myself went over to meet with Mark in Utrecht and talk through what would be involved, and how much time it would take. Our goal was GDC Europe in August - or at least have something to show there.

It took us around 3 months to do a full rewrite of the runner and most of GameMaker's functions - there's a hell of a lot of them, not to mention the work on the IDE to make it look different. Fortunately, we weren't alone in this, Chris Harrison joined us; this time, and eegeo rescue case - these were members of the original team who were rescued from Realtime Worlds by some of the original investors. Anyway, Chris joined us and help port the many thousands of functions over.
Paul Cosgrove also joined us to help with a new Website update (and yes...I missed when Lee Turner joined us, I'm not exactly sure of the date he joined).

GDC Europe August, 2011
While we were ploughing into the work, the games guys soldered on, and produced more and more games, something that would stand us in good stead later on. With the bulk of the work done, we were finally able to use the IDE to create GameMaker games, and with a simple click, export them to HTML5, so so GameMaker: HTML5 was born. YoYo booked it's first ever show stand, and with some bad posters and makeshift banners, we wend over to GDC Europe to flog our wares.
This was another milestone for YoYo Games, and things went down pretty well, although the main driving message was - "That's really cool, but can you export to iOS and Android as well?". Bugger... Yes we could, but it wasn't built in, there were a complex set of build scripts that the games guys used to create games, and that certainly wasn't what the public would want.

Still,the show wasn't over yet, and thanks to a deal Stuart had done with Sony and for the Experia Play, we were now supposed to go on stage during the public days of Gamecom - a scary prospect. We watched the doors open from inside, and the masses descended into the halls at a run - usually in full games attire; Mario, Zelda and the like, so we sat to one side trying to stay out the way until we were required to fight our way through them to get to the stage.

We were to demo They Need to be Fed and the new special update that had been released, or rather I was expected to play it on a big TV in front of a (now) rather large crowd while Russell commentated. While waiting, I decided some practise would be good, as I hadn't played any of these levels before. Sandy got up on stage and did an intro - which he loves to do, then stepped back and let Russell and I embarrass ourselves. Still, didn't go too badly I guess, and was pretty good fun in the end, it's just as well I don't get scared in front of crowds isn't it!

We came back to the office to regroup, and realised that yes.... once we finished GameMaker: HTML5, we needed to start on a new product, one that did everything.....GameMaker: Studio.

GameMaker: HTML5 went on sale in September, and was selling well when, without any warning, our Paypal account blew up. We'd suddenly hit an automated limit, that looks for "spikes" in sales and then limits the account automatically (or so we believe). Many others have had this, and getting your cash from them turns out to be an utter nightmare, it has in fact taken us 2 years to get back into a working relationship with them, and we've been very careful to try and keep them updated on everything they need so as to make sure the aren't surprised by anything.

This caused a week of utter panic, as we suddenly couldn't sell anything, and in just a week, Lee managed to implement a new payment system and get us going again. This isn't to say it was without problems though, the design was (obviously) rushed, and we did get issues with it, but we dealt with these as best we could and moved on.

So 2011 saw us move from a small team, into a larger stake, and release 2 new tools in the form of GameMaker: 8.1, and GameMaker: HTML5, as well as releasing our first batch of games on Android, and having a huge hit on iOS in the form of Simply Solitaire - it was a busy old year, not like any of the coming years would be any less mind.....

1 comment:

Lee said...

Clarification - the Google Checkout was done in a day + night.

I ordered a donner pizza from somewhere near the office :)

And I still to this day blame Google Checkout for all issues that occurred. It really was a terrible payment provider.