Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more

Tech

YoYoGames.com and GameMaker HTML5 .

Posted by Mike Dailly on 3 August 2011

A few days ago we released the first application that has been created with the new HTML5 GameMaker, and you can now see this on the front page of yoyogames.com. Its a simple animation that replaces the FLASH version, but shows that we can start doing real things with HTML5. This version is for example, visible on iOS and android devices, and while there are still issues (we can't test on everything here!) it's a definite step in the right direction.

Some of you will also have looked and the code and noticed it's basically just mush. GameMaker HTML5 does an obfuscation pass which not only helps protect your (and our) code, but also dramatically reduces the size of it.

We have now started a very limited ALPHA running with some select developers and we are gaining momentum for later this year when it'll be released. We hope to release some demos to the general public soon to show you what you can do with it, and some of this has surprised us - in a good way! However, you should be wary when comparing HTML5 to normal windows code. For starters, HTML5 is still very much a work in progress, browsers are still implementing and changing how things work, and this is changing almost on a daily basis! A browser you used a couple of months ago, may very well be seriously out dated by now. In fact, while we've gotten used to having a version of a browser for a couple of years at a time, the browser wars have kicked off again, and whole new versions are coming out every month or so. So not only do things change, but things change really quickly.

Because of this, don't expect HTML5 to run perfectly on everything. If you have Firefox 3.x, it'll be rubbish, and it won't work at all on IE8 or below. Firefox are currently on version 5, and version 6 and 7 are in beta and alpha!

The pain doesn't stop there either, iOS is about to undergo a major update to it's web performance, and this will change the face of Apples Appstore and the web. HTML5 allows you to have "offline" versions, and Apple allow you to install "bookmarks" to your desktop so it looks like any other app. This means when iOS5 comes out, you will be able to write slightly more limited iOS games without having to go through the Appstore. Of course, doing native apps for iOS will reap huge performance gains, and for some games this will be a must. But if your doing a simple puzzle game, then you will soon have the choice of allowing your app to run not only on windows, but Mac, Linux, iOS and Android devices - all from a single build.

There are some limitations obviously. HTML5 does not allow for texture mapping (properly), so that means we won't be doing 3D initially. However a little later on after launch, we will start to support WebGL and this means all this becomes possible again, and pretty much anything you do in the windows version of GameMaker, will be availbale to the web version.

On the subject of what's missing, you obviously can't use normal extensions; these are windows specific and native code to boot, and browsers simply won't allow you to run this. So the HTML5 version will allow you to use JavaScript extensions. This will allow you to do pretty much ANYTHING you want, from networking, to database to Facebook and beyond, and this will make GameMaker HTML5 incredibly powerful.

Lastly.... HTML5 is obviously slower than native apps, so the current rule of thumb is that you will have to write specifically for the web. Of course, this isn't to say that this code won't run great on windows/mac natively, but it does mean some things you did in the past, simply aren't a good idea now. Some of the ways GameMaker did it's collision for example, really suck. So now you'll have to take more care when bolting your games together.

We'll talk more about this and other optimsations you can make in the future, but rest assured, it's looking like a particually exciting time to be a GameMaker developer!

Back to Top