Jump to content


Photo

HTML 5 Bugs


  • Please log in to reply
10 replies to this topic

#1 Kamilche

Kamilche

    GMC Member

  • New Member
  • 33 posts
  • Version:GM8

Posted 17 May 2012 - 09:01 PM

Hi there. I bought the HTML5 version of GameMaker a couple days ago, and have found a few bugs so far. Since I can't get in to the bugs.yoyogames.com site despite having an account there, I'll post them here.

  • draw_text_transformed doesn't display scaled fonts correctly. I created a bit where I was displaying centered text on the screen, and shrinking/enlarging it so it 'zoomed' in and out. This worked fine in GameMaker 8.1, but resulted in unreadable text squished together starting at the halfway point on the screen, for GameMaker HTML5.
  • The development environment crashed and corrupted my project file. It took hours to redo my work in GameMaker. I have since resorted to using the HTML5 editor only as an 'importer' because of this.
  • The SplitLines script I created works in GM 8.1, but not in HTML5. This script takes some text delimited by '#' (or any other char you specify) and returns a ds_list of strings. In HTML5, it's breaking on both the delimiter AND chr(13) and chr(10), even though I replace those chars with '' before I do the split.
    [code=auto:0]

    var str, token, ignore, list, tlen, temp, i;

    str = argument0;
    str = string_replace_all(str, chr(13), "");
    str = string_replace_all(str, chr(10), "");
    token = argument1;
    ignore = argument2;

    list = ds_list_create();
    tlen = string_length( token);

    while( string_length( str) != 0) {
    temp = string_pos( token, str);
    if( temp) {
    if( temp != 1 || !ignore)
    ds_list_add( list, string_copy(str, 1, temp - 1));
    str = string_copy( str, temp + tlen, string_length( str));
    }
    else {
    ds_list_add( list, str);
    str = "";
    }
    }

    return list;
    [code=auto:0]
  • Sound - When playing a background MP3, it 'eats' all wav's sound effects that I'm trying to play. This kinda worked in GameMaker 8.1 (though the sound effects were too quiet), but in HTML5, the background music totally obscures all sound effects -you can't even hear them.
  • Fullscreen breaking. When you hit F10 to go fullscreen in GameMaker, it doesn't keep the aspect ratio, and there are lines in between all the blocks. You can't control this behavior, or fix the picture file. There are lots of explanations of why this happens in GameMaker 8.1 and how to fix it, but none of those techniques are used in the HTML5 version of the game. The sprites are placed very close together on the single PNG sheet it creates, and it's obviously taking color from the right or left of the block when drawing due to the scaling. If this is the best it can do, F10 should ONLY double the screen size - it shouldn't resize to any other size at all, since the GameMaker code is weak in this area.
  • No screen transitions. The screen transitions in GM 8.1 work great, but don't work at all in the HTML5 version. Specifically, 'RotateRight' is used when going to the ending credits screen, and doesn't show on the HTML5 version of the game.
  • current_time always returns 0. I had coded up my own 'is_sound_playing' routine in GameMaker to get around the buggy internal versions, but it relied on current_time. The sound routines now don't work because of it.
You can see most of these bugs in action at the following link: Seafiish's 'TheGame'.
Item 1 I 'fixed' by pre-drawing the text as a bitmap, and stretching the bitmap. You can see that on the ending credits screen.

Posted Image

Edited by Kamilche, 18 May 2012 - 01:27 AM.

  • 0

#2 Player Zero

Player Zero

    GMC Member

  • GMC Member
  • 143 posts
  • Version:GM:Studio

Posted 18 May 2012 - 12:20 AM

draw_text_transformed doesn't display scaled fonts correctly. I created a bit where I was displaying centered text on the screen, and shrinking/enlarging it so it 'zoomed' in and out. This worked fine in GameMaker 8.1, but resulted in unreadable text squished together starting at the halfway point on the screen, for GameMaker HTML5.


You are not alone.

I have encountered a lot of inconsistencies when using sprite fonts between HTML5, the new Windows exporter in Studio, and the older GM 8.1, only 8.1 works properly. There have been bug reports filed about this for awhile, but improvements only come very slowly.
  • 0

#3 rwkay

rwkay

    YoYo Games CTO

  • YoYo Games Staff
  • 1415 posts
  • Version:Unknown

Posted 18 May 2012 - 08:03 AM

If you find bugs file them, but they may have already be fixed in GameMaker:Studio - all HTML5 owners will be upgraded to GameMaker:Studio with the HTML5 module, as GM:HTML5 is being shelved in favour of Studio.

Russell
  • 0

#4 Smarty

Smarty

    GMC Member

  • Retired Staff
  • 7228 posts
  • Version:GM:Studio

Posted 18 May 2012 - 08:14 AM

If you find bugs file them, but they may have already be fixed in GameMaker:Studio - all HTML5 owners will be upgraded to GameMaker:Studio with the HTML5 module, as GM:HTML5 is being shelved in favour of Studio.

Is there any possibility the HTML5 owners can get the Studio version with the HTML5 export licensed for it? What with the issues in HTML5 I'd rather have the Studio build right now, even if it is in beta.
  • 0

#5 Kamilche

Kamilche

    GMC Member

  • New Member
  • 33 posts
  • Version:GM8

Posted 18 May 2012 - 01:17 PM

I can't file bugs. When I go to the bug site it says I'm either blocked or my logonid/password is bad. I even created another account to use with the bug site, and it still says that. I received no email from yoyogames after signing up for the bug site with the second account, either. I opened a trouble ticket about it, and have received no response.

I figure they don't want to see new bugs for the product. I didn't realize they had abandoned this product in favor of the GameMaker Studio product when I bought it. No matter, I still would have bought it, but that does bring up a question: When are they going to release the GameMaker Studio product? Plus verbage in the beta agreement says you still can't distribute games made with it, which doesn't work for me.

I've also seen a few tips on the Internet - that there's two guys working on this product, and they're rewriting it from Delphi into something else. If there are truly only two guys working on this product, they likely don't have any time or energy to devote to fixing bugs in a product that's soon going to be obsolete, anyway - they MUST pay attention to the new product.

This is all guesswork based on the things I've seen - but if true, it explains why these bugs haven't been fixed... and probably won't be.

Edited by Kamilche, 18 May 2012 - 01:26 PM.

  • 0

#6 Kamilche

Kamilche

    GMC Member

  • New Member
  • 33 posts
  • Version:GM8

Posted 18 May 2012 - 01:47 PM

I checked out the Studio version, and it still has the broken blocks and the current_time set to 0. So, no luck there. I don't know if the other bugs are still there, I have to go to work now.

I'm a professional computer programmer who has developed games in the past, and is currently doing ASP work. It's really too bad I can't access the bug report site.
  • 0

#7 Nocturne

Nocturne

    Nocturne Games

  • Administrators
  • 16839 posts
  • Version:GM:Studio

Posted 18 May 2012 - 02:41 PM

I can't file bugs. When I go to the bug site it says I'm either blocked or my logonid/password is bad. I even created another account to use with the bug site, and it still says that. I received no email from yoyogames after signing up for the bug site with the second account, either. I opened a trouble ticket about it, and have received no response.


Send me the details of your login account (name and email) in a PM and I'll see if we can't validate your account from this end.

I figure they don't want to see new bugs for the product. I didn't realize they had abandoned this product in favor of the GameMaker Studio product when I bought it. No matter, I still would have bought it, but that does bring up a question: When are they going to release the GameMaker Studio product? Plus verbage in the beta agreement says you still can't distribute games made with it, which doesn't work for me.

The product has most definitely not been discontinued... or rather GM:Html5 will be discontinued as a single product, but it now forms a part of GM:Studio, and if you have previously bought GM:HTML5, rest assured that when GM:Studio gets launched you will get a free upgrade to this new product (note that GM:Studio is now testing Release Candidates).

I've also seen a few tips on the Internet - that there's two guys working on this product, and they're rewriting it from Delphi into something else. If there are truly only two guys working on this product, they likely don't have any time or energy to devote to fixing bugs in a product that's soon going to be obsolete, anyway - they MUST pay attention to the new product.


This is all guesswork based on the things I've seen - but if true, it explains why these bugs haven't been fixed... and probably won't be.

Lol! I can assure you that there are a LOT more than two people in the company! YoYo games is made up of a number of software developers and we create games as well as software packages. We ARE fixing bugs in the HTML5 module of GM:Studio, which (again) you will get if you own GM:Html5.

Hopefully that sets your mind at rest!


  • 0

#8 Kamilche

Kamilche

    GMC Member

  • New Member
  • 33 posts
  • Version:GM8

Posted 18 May 2012 - 03:42 PM

Great, I'm looking forward to it!

The showstopper is the current_time being 0 in HTML5, the second worst is the broken blocks when resizing the game in HTML5, the third worst is it's ignoring the 'keep aspect ratio' setting. I think the default should be 'keep aspect ratio', not 'resize it however the heck you want.'

Also sound_isplaying doesn't work for some sounds - it returns true when it's actually not playing. It's like it seems to think the sound is 4x longer than it actually is. I suspect an erroneous calculation of sound length in the GM internals. I have hand-coded a workaround for that using current_time and keeping track of sound lengths myself, but that broke in HTML5 because current_time is always 0.

Looking forward to going over these in excruciating detail in the bug tracking site.
  • 0

#9 Kamilche

Kamilche

    GMC Member

  • New Member
  • 33 posts
  • Version:GM8

Posted 18 May 2012 - 05:10 PM

While examining the game today, I found a clue that might help figure this out. Look at the blue dots above the left hand blue cake. Also the brown line going across the middle of the screen through his neck.

Posted Image

Is the resize routine taking a bit of the wrong block, there? Several possibilities come to mind:

[*] It could be pulling from the wrong source picture in the PNG.
[*] While compositing the room, there's some sort of temporary surface manipulation going on that's messing up the result.

But I don't think it was 'pictures too close together' as I initially thought. I don't what's wrong here - but thought this might help you figure it out.

The generated PNG looks like this. The candles are towards the bottom left.

Posted Image

Edited by Kamilche, 18 May 2012 - 05:13 PM.

  • 0

#10 Mike.Dailly

Mike.Dailly

    Evil YoYo Games Employee

  • Administrators
  • 1504 posts
  • Version:GM:Studio

Posted 18 May 2012 - 05:37 PM

The tile issue isn't a bug in GameMaker, have a read of this Tech Blog article: Seamless tile scaling in GameMaker

It also looks like your using instances (objects) to draw the background, this is likely to be quite slow - you might want to redo how the backgrounds are drawn.
  • 0

#11 Kamilche

Kamilche

    GMC Member

  • New Member
  • 33 posts
  • Version:GM8

Posted 18 May 2012 - 07:41 PM

Well, it is a bug in GameMaker, in that it generates a single PNG out of all your graphics to create the graphics for the HTML5 game, and you don't have any control over that. I've read that article you mention below - I don't believe that is the issue, because the graphic symptoms would have been different - a stretched tile would have taken the color of the item above it, but that's not the case here. For instance, the blue wall tile has no brown or red above it, yet that's what's appearing in the screenshot.

In addition, the problem is intermittent. If you jump up, then fall back down, the problem disappears, then comes back, even though the screen size has remain unchanged. It feels like the 'can't draw on non-integral boundaries' bug, more than anything, except for that faint line of blue candle smear above the cake. I believe the problem is in the 'draw on canvas' routine internals, probably.

The background is built using tiles, not objects - the only objects are the lighter blocks outlining the room, and all the objects therein. The wallpaper, posters, big brown blocks are all background tiles.

The tile issue isn't a bug in GameMaker, have a read of this Tech Blog article: Seamless tile scaling in GameMaker

It also looks like your using instances (objects) to draw the background, this is likely to be quite slow - you might want to redo how the backgrounds are drawn.


Edited by Kamilche, 18 May 2012 - 07:48 PM.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users