# GMLscripts.com

Discuss and collaborate on GML scripts

You are not logged in.

## #121 2011-11-17 15:02:09

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

DRM always sucks.

Abusing forum power since 1986.

Offline

## #122 2011-11-25 07:03:39

mike.dailly
Member
Registered: 2011-10-04
Posts: 10

Offline

## #123 2011-11-26 13:55:43

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

Thanks for informing me. I had indeed missed Russell's message. I've fired off an email to him. *fingers crossed*

Abusing forum power since 1986.

Offline

## #124 2011-12-05 11:01:31

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

Looks like Mike is getting down with the WebGL, which might explain the lack of recent updates to GM:HTML5. In a series of tweets over the last couple of days he reveals quite a few things and even supplies a test demo:

Mike Dailly wrote:

Initial WebGL tests are proving very promising... I'm also looking forward to getting full and fast colour blending back!! #html5 #webgl
...
If these GameMaker WebGL test are anything to go by, Microsoft will struggle to remain competitive compared to ALL other browsers. #html5
...
Holy crap!!! A simple GameMaker:HTML5 throughput test.. One object rendering 60,000 "moving" sprites at 30fps!! Wake up MS! #html5 #webgl
...
Wow! #GameMaker #HTML5 is now significantly faster than the windows .EXE delphi version!!! The same test only gets around 5K sprites on it!
...
This is browser+PC dependent of course... these tests have been done with #Chrome 15. A proper
...
I suspect we'll need an option to ALLOW WebGL AND to ONLY run with WebGL.If you write a game utilising its performance, it'll suck without.
...
On my machine, #GameMaker #HTML5 sits at 30K+ sprites,60fps. Some garbage collection issues on Chrome,which make it judder a bit #webgl
...
Chrome: Canvas appears to get around 7K moving sprites, while WebGL gets over 60K moving sprites. almost 10x speed up - wow. #html5
...
Oooo... A quick tweek to the engine+shader, and I can now push 80,000+ moving sprites. #GameMaker #HTML5 with #WebGL will be serious quick.
...
It must be said however...these kinds of test only test the #webgl pipeline, and not a final games performance,so take with a pinch of salt.
...
After all... looking at the resulting image generated with the 80K sprites,I could do the same with basic canvas and never drop below 60fps.
...
*puts salt away*
...
Quick demo. I really wouldn't run it on anything other than Chrome just now either, nothing else is close javalemmings.com/blog/webgldemo/ #html5 #WebGL
...
I'm interested in your own CHROME fps as well. It'll give me an idea of the various PC specs out there.Its a solid 60fps here. #html5 #webgl
...
And if it fails to run on Chrome at all of course.....
...
Finally, with the arrival or a proper fullscreen API, #HTML5 has gotten the last "missing piece" that will allow it to surpass Flash.
...
Struggling to get #Opera to run #WebGL Having run it on an old alpha, it's speed sucks, but the newer versions don't enable WebGL at all.
...
Now getting down the to serious business of writing all the functions needed to fully support #WebGL #html

Looking good!

Abusing forum power since 1986.

Offline

## #125 2011-12-07 07:26:36

paul23
Member
Registered: 2007-10-17
Posts: 110

### Re: GameMaker:HTML5 - Things that work differently

Finally, with the arrival or a proper fullscreen API, #HTML5 has gotten the last "missing piece" that will allow it to surpass Flash.

Meh biggest missing piece to me would be no storage api.. Localstorage is just too limited (0.5 - 5 mb depending on browser). - And there's no way to "request" more storage space from a program. (I'm hoping for a standard which shows up a message screen to the user "this app requires more storage space, give it XX space?") Maybe even an API to load files (through a user dialog) from the hard drive.

Also it's still impossible from gamemaker to *load* resources (sprites, sounds) from localstorage, or am I missing something?

Last edited by paul23 (2011-12-07 08:06:05)

Offline

## #126 2011-12-07 12:59:59

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

I've been having the same concerns about local storage and accessing files on the client computer. Once WebGL is available, the first thing I want to try is to port my jigsaw puzzle engine (it uses textured primitives for speed). Loading images from the web is OK, but I'd like it to be as flexible as possible.

I'm hopeful that as HTML5 gain momentum, browser makers will provide a way to extend local storage. A solution is really necessary, especially if YoYo plan to host HTML5 games within their portal. Because storage is allocated per subdomain, all games on the site would have to share the same 5MB block of storage -- unless games/users are supplied with their own unique subdomains which seems like a major logistical hurdle.

Abusing forum power since 1986.

Offline

## #127 2011-12-07 13:17:19

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

Some more stuff from today:

Mike Dailly wrote:

WOOTt! They Need to be fed is now working in WebGL! Currently renders the game in only a couple of batches! Very nice! #html5 #webgl
...
Of course,the other thing WebGL gives us, is proper "point sampling". No more blurry pixels on scaling if you don't want them! #html5 #webgl
...
#WebGL gives a MASSIVE boost to normal games in #Firefox For some reason, #html5 games in FF was pants, now it's very quick and smooth.
...
We'll probably release GameMaker #HTML5 with with #WebGL switched off by default.But then allow you to pick:Always off,always on and detect.
...
Even if you're not doing extreme rendering, #WebGL does just smooth things out. Karoshi is "much" nicer to play with it all switch on #html5

Also looks like Erik Möller (core-gfx developer at Opera working on WebGL and WebSockets) is taking a real interest in GM:HTML5 to get it running more competitively on Opera. Opera 12 will officially support WebGL. Currently the alpha version of it is seriously outpaced by Firefox. This is the sort of one-upmanship we need to get the HTML5/WebGL ball really rolling. Browser Wars!

Abusing forum power since 1986.

Offline

## #128 2011-12-15 12:12:56

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

Yes!

After a very long drought of updates, version 1.0.177 of GameMaker:HTML5 has been released, and it's a doozy.

Some amazing new features are in this version, including the long awaited WebGL! Be sure to enable it in your browser as it may be disabled by default (Opera and Chrome on XP). Color, scale, flip, and rotate sprites to your heart's content. Only some features which would require WebGL have so far been implemented, but this should cover most needs. I'm not yet sure if textured primitives are enabled.

There are also some excellent new features to the room editor. Instances can be transformed (scaled, rotated, etc) right in the editor!

Finally, the order of Create Events can be optionally changed. This gets around some issues with Room-Instance Creation events that can be difficult to work around. I think it is to be expected that this option will be coming to 8.1 as well.

The default order is:

• Instance created

• Properties applied (rotation/colour/scale etc.)

• Room creation code run

• Object creation event run

The optional order is:

• Instance created

• Properties applied (rotation/colour/scale etc.)

• Object creation event run

• Room creation code run

This option is supported across all versions of the runner.

As usual, a full list of changes and bug fixes can be read here:

Abusing forum power since 1986.

Offline

## #129 2011-12-15 12:49:50

icuurd12b42
Member
Registered: 2008-12-11
Posts: 303

### Re: GameMaker:HTML5 - Things that work differently

Neato. Finally decent basic room editing features. Though I do wish the features would be more VB/Visio like; The instance properties should not be modal and when you click an object, little square and circle icons should be drawn so you can scale/rotate the object with the mouse. Though it's very useable as is

Unfortunately, for the keypad shortcuts to work, you must have have numlock ON.
- when scale is currently 1, should become .5, then .25...

Pretty happy right now though

Last edited by icuurd12b42 (2011-12-15 12:51:09)

Offline

## #130 2011-12-15 14:29:26

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

Some caveats of the new release posted at the GMC:

Mike Dailly wrote:

Any "runtime font" creation does not work, and may never work. WebGL does not allow web fonts. (just create a font in GameMaker's font folder)

Any font with rotation or scaling probably won't work either. You won't be able to use WebGL if you create sprites from other sprites/surfaces, or copy parts of surfaces to other parts etc. (dynamic creation basically). These items will come in the future, just not yet.

Aside from them, everything else should be there.... pretty much anyway.

Runtime font creation seems to include sprite based fonts, which is hugely disappointing, especially considering the kinds of games many GM users make. I already use my own sprite-based font routines for this kind of thing, so I think I'll be OK. It looks like others will have to adapt in a similar fasion.

Abusing forum power since 1986.

Offline

## #131 2011-12-16 14:15:48

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

1.0.179 has now been released and Mike posted some clarification about fonts:

Mike Dailly wrote:

By "runtime fonts", I mean if you create "normal" fonts at runtime. This is because on basic HTML5 we just use web fonts and canvas draw text commands, but you can't do that in WebGL. We may try and dynamically create them or something down the line, but for now they won't work.

Sprite fonts (once I fix that stupid issue from yesterday) will work fine - minus rotation. Font rotation in general won't work at the moment; I simply haven't done that yet.

If you switch WebGL on in Safari, you do get a nice speed boost, but you have to enable the developer tools from the advanced tab first, THEN switch on WebGL.

Feel free to file bugs on funny WebGL things that should be supported (or that you think are), OR canvas things I've broken (bound to be more of them), and I'll try and rush through fixes for them if I can.

And some more bits of tid from the same thread:

Smarty wrote:

Sure, GM4HTML5 is set to transparently run on browsers with and without WebGL support, but effectively this means we develop for the lowest common denominator - which means we simply don't count on improved performance due to WebGL.

Mike Dailly wrote:

Just a quick note on this... It's not ALL about throughput, it's also about smoothing out the experience. I don't know about you, but Firefox for me is very jumpy, and this is a quick machine. However, with WebGL enabled, it all smooths out great giving a much better experience overall. So while I agree with you that many will need to deal with the slower systems, it does mean of "some" setups (like Safari on the Mac I have here), enabling WebGL lifts them from being juddery, to being really smooth, and that's just good for everyone! So if you can (and I know not all can), you should enable auto-detection just to make things smoother overall.

Mike Dailly wrote:

I have found an issue with surfaces; basically the obfuscater is obfuscating too much! So I'll be fixing that either tonight or tomorrow and getting another build out as soon as I can.

But once that's done, it's all about making what's there, solid and stable. I've noticed big improvements on Safari and Firefox in terms of smoothing, and Chrome is just a MONSTER in terms of throughput.

The other thing it gives is the colour tinting back, which is really nice.

I do hope Microsoft at least do a DX thing so we can have GL or DX, and then we have our bases covered which would be very cool. The baseline would increase dramatically!! We shall see.... But if they don't, they are in serious danger of falling behind.

Finally, primitives do not seem to be yet implemented.

Oh, yes, and I'm able to use GM:HTML5 again at long last, although I'm experiencing some annoying problems with the solution YoYo and I have arrived at. I'm using an educators edition and it is, shall we say, a somewhat flawed distribution. Completely broken if I'm to be honest, but I waved a dead chicken over it and now it functions in most of the important ways.

Abusing forum power since 1986.

Offline

## #132 2011-12-18 17:30:24

paul23
Member
Registered: 2007-10-17
Posts: 110

### Re: GameMaker:HTML5 - Things that work differently

this bugreport might be interesting.. If I understand it correctly using a subtracting a negative constant gives an error. My quick uneducated guess is that the obfuscator replaces constants with their literals (in a textual manner). Not placing a space/braces becore & after the new constant. Which then results in another token (--x insteand of -(-x) ). (Similar problem to the famous #define macros).

I'm still waiting for rudement d3d actions to be implemented (a lot of my graphic libraries nowadays depend on transformations to only calculate the offset once in a central place and not at each sprite/subsrite to draw).

Offline

## #133 2012-01-18 11:21:09

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

In working on my own text rendering functions, I noticed some inconsistencies with the way text is rendered by Game Maker in versions starting with 8.1 and including GM:HTML5. I know that the font handling functions were given an overhaul for these newer versions. It appears the character spacing is not being calculated correctly which causes some unsightly problems with some fonts, decorative ones in particular.

Here is the same project being run in various versions of Game Maker. At the top is the string rendered by Photoshop, which I'm using as a reference.

Here character width values are displayed for this particular font. The top is GM8.0, the last version to render spacing correctly. Below is GM:HTML5's output. The differences have been highlighted. Most are only off by a pixel, but a few are very far out of whack ("Y", "f," and "j" in particular).

It's not yet clear if this is a bug or a feature, but at the moment it is a difference so I'm posting it here.

Abusing forum power since 1986.

Offline

## #134 2012-02-29 14:55:38

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

A lot of mixed messages concerning extensions coming out of the YoYo camp today.

Tom Grochowiak  @TomGrochowiak wrote:

Extensions don't seem to work :( #GMStudioBeta

Russell Kay  @RussellKay wrote:

@TomGrochowiak Extensions do not work just now and support will be patchy for Win32 as many extensions expect Delphi Runner #GMStudioBeta

Piotr Gnys  @gnysek wrote:

@RussellKay @TomGrochowiak Hope that Tom's Caster will work, cause it's very good one to play background music ;)

Tom Grochowiak  @TomGrochowiak wrote:

@gnysek @RussellKay It doesn't :(. Is it easy to port an extension to work with the new runner?

Russell Kay  @RussellKay wrote:

@TomGrochowiak Extensions will not work on Studio - we will be working on it post GDC, but big problems with iOS.

Piotr Gnys  @gnysek wrote:

@RussellKay @TomGrochowiak But if somebody want's to create game only for Windows using Studio... 1/2

Sandy Duncan  @lordoftheyoyo wrote:

@gnysek @russellkay @tomgrochowiak gameMaker:studio is a CROSS PlATFORM product. If you want extensions then stick with 8.1

Tom Grochowiak  @TomGrochowiak wrote:

@lordoftheyoyo @gnysek @russellkay From what Russell said, I understand extensions will work normally under Mac/Win eventually.

Asking people to stick with GM8.1 is unfortunate since development has essentially ceased on that product, and it will not be receiving any of the new features that have been built onto it in the form of GM:HTML5 / GM:Studio.

Michael Dailly  @mdf200 wrote:

@gmlscripts We'll still do fixes etc. for it though, just no major features.

Abusing forum power since 1986.

Offline

## #135 2012-03-02 13:27:11

xot
Registered: 2007-08-18
Posts: 1,201

### Re: GameMaker:HTML5 - Things that work differently

This probably doesn't belong in this topic, but it looks like Mike is serious:

Matthew  @TrueValhalla wrote:

The concept of a Raspberry Pi sounds awesome, and I want to buy one, but I don't know what I'd do with it. Convince me @mdf200? :P

Michael Dailly  @mdf200 wrote:

@TrueValhalla We are doing GameMaker for it (Mac port), and we have Quake3 running 1080p at 40fps on it. It's def fast enough for games!!

For those not in the know, the Raspberry Pi is an awesome little computer that is being released as I type this. The concept is to provide a simple, very inexpensive computer for kids to learn how to program with. David Braben (co-creator of Elite) is one of the minds behind the Raspberry Pi and he laments at the lack of accessibility and primary education for would-be programmers today. Like me, he longs for a time when learning to program was as easy as flipping on your computer and typing in a BASIC program at the READY prompt. The Raspberry Pi is designed to fulfill that dream. It runs Linux, has composite video and HDMI output (so it can be connected to a TV), audio output, SD card, USB and Ethernet ports, and get this -- it is the size of a credit card and costs only $35. And if$35 is too much, a \$25 version is in the works. Accessible indeed.

http://www.raspberrypi.org/

Abusing forum power since 1986.

Offline