HTML5 Publishing!

13468911

Comments

  • HymloeHymloe Member Posts: 1,653
    edited October 2015

    Game Salad is crashing about every 3rd time I press HTML5 Preview.

    GS just up and dies.

    It would be great if you could look into the memory footprint before and after an HTML5 Preview session. I think it must be leaking all over the place, or something. :)

  • MentalDonkeyGamesMentalDonkeyGames Member Posts: 1,276

    @Hymloe i think there are two copies of audio files to support different browsers. For example, all browsers don't support .ogg files.

    The pitch issue was explained somewhere... it was something like HTML5 not supporting pitch the way GS uses it.

    Mental Donkey Games
    Website - Facebook - Twitter

  • HymloeHymloe Member Posts: 1,653
    edited October 2015

    Also, the framerate of HTML5 Preview is un-usable. About 3 or 4 fps.

    So every time I do it I have to hit "Preview in Chrome" which works great. But it would be nice if it just ran smoothly directly in Game Salad, to avoid that extra step every time.

    Alternately, if I could click a single button to "HTML5 Preview in Chrome", all in one go, that'd be great. I'd be happy if the GS Creator itself just didn't try to load the HTML5 version of the game at all, if it's going to be un-usable. :)

  • HymloeHymloe Member Posts: 1,653
    edited October 2015

    Regarding the car steering problem I'm having, I put a Debug "Display Text" on my car, and when I steer on the normal GS Creator, that number goes up to about 200 (the angular velocity that's applied by my steering formula).

    On HTML5 builds, that number seems to be capped at 60. I'm not sure why. But that's why it's only steering gently, and not sharply.

    Any ideas??

    If I multiply my formula 10, then that numbers hits about 2000 on desktop, and about 200 on HTML5. So there's definitely a factor of about 10 less steering sharpness in HTML5. But I'm not really sure why.

    It doesn't seem to be framerate dependent. I've done tests, and if I run the equation every .05 seconds (about 20 times a second), the same results come out. The HTML5 version comes out at about 60, and the normal version comes out at about 200.

    The equation I use for steering is...

    self.Motion.Angular Velocity = 
    
    self.Motion.Angular Velocity-(game.Wheel_Direction*(self.SteerBase+(min((game.carVelocity/self.SteerQuotient),selfSteerRate))))
    

    That number is coming out at about 200 on a normal build, and 60 in the HTML5 build.

    I don't really see any unusual or whacky formulas going on in there. So I would have thought it would translate across to HTML5 fine.

    Is there something about how Motion.AngularVelocity works in HTML5 that would produce a different result?

    If I multiply the equation by 3.3*, it comes out feeling basically as it should. But without a #IF DEF for each platform, there is no elegant way to stick in a special rule for HTML5.

    Seems to be a problem somewhere under the hood of GS, so should be fixed anyway, I guess...?

  • HymloeHymloe Member Posts: 1,653

    The constant crashing when I hit HTML5 Preview is really quite annoying.

  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922

    @Hymloe yes there needs to be both as if you read this whole thread all these things you are going through were explained..lol I explained that all browsers don't support OGG so you need another type m4a. Also your game is now ported to HTML 5 and may run different as it is reliant on the browsers support and how HTML 5 does things. It's not at all like running on a device. There are going to be limitations, like the pitch adjust will not work et..

  • ChunkypixelsChunkypixels Member Posts: 1,114

    @Hymloe ...I see that the HTML5 feature has got you rather excited :)

    Maybe you should try working on things for a bit though, then condense all your thoughts and questions into one post, rather than just firing off posts as your going... It's making you look a bit crazy, spamming every thought and question as it happens...

    Just a suggestion :)

    Good to see that people are excited by the HTML5 publishing... It's definately one of the biggest features for a while....

  • HymloeHymloe Member Posts: 1,653

    I have a question @adent42

    If I am sitting and doing a bunch of work on my game, and I am uploading builds to test myself, and I don't want to upload all the data again every time (assuming the changes I'm making between iterations is purely logical, and not affecting images and sounds), which files would I need to upload to test a fresh build?

    My HTML5 project comes out at about 112mb. If I upload everything except the images and sounds, it's about 2.6mb. So that seems to work fine, but the caching seems to be my problem, as I'm not sure if I'm playing an older cached build, or the new one I just uploaded. That should work fine, yeah?

    Do you have any good hints and tips about how to test iterations, without getting caught out by cached builds?

    Would it make sense if I...

    • Download the new build from the publishing server.
    • Make a copy and delete all the sounds and images from inside those folders.
    • Upload all the remaining data to my server.
    • Change the name of the root folder, so it prevents it from loading the cached version.
    • Play.

    Good plan? Any other suggestions, tips, caveats? :)

  • HymloeHymloe Member Posts: 1,653

    Even if I delete all my builds off the my server, and upload a new one, when I load it, my old save data is still there.

    Q: Is there a way to delete my existing "save data", like the state of all the attributes from previous sessions? Where are they kept?

  • HymloeHymloe Member Posts: 1,653
    edited October 2015

    I've noticed another bug, where if you spawn an object, then resize it (in it's behaviours, at startup), the collision for that object is still the size of the originally spawned object.

    I often spawn objects, then resize them to a larger size, but the collision size doesn't update when the image is resized.

  • HymloeHymloe Member Posts: 1,653

    @adent42 Will you be addressing the audio issues? The problems with there being no support currently for positional sounds, and pitch?

    I require both for my game to work, currently, and I can't really think of another way to do the same effects. My game is imbued with these features from Game Salad.

    Will they be implemented in some sort of equivalent way in your HTML5 implementation?

  • HymloeHymloe Member Posts: 1,653
    edited October 2015

    Could you implement a sort of #ifdef system, where we can have specific behaviours that trigger only if on a certain platform?

    Perhaps under Game or Devices, it could have an attribute called Platform, which could be Tizen, iOS, HTML5, etc. And you can use Rules to go...

    Rule:
    If Platform = HTML5, then make car steering *3.3
    OTHERWISE, make car steering *1.0

  • HymloeHymloe Member Posts: 1,653

    That way, I could perhaps try to make alternate plans for anything that isn't working on HTML5, or just needs to be different, whether it's how sounds are played, or some equations, or perhaps completely removing touch controls for HTML5 and having other things onscreen instead in that case.

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408

    @Hymloe

    i'm not sure about an ifdef, but there IS a new attribute called platform, and you can get the region, platform, and even language. check out the demo attached.

    I created an HTML5 version of it, and it reports the platform as zero. So, while not super helpful, it is a specific use case. We know that iOS and Android report back properly, not sure about Win8 or Tizen yet, but you could create some sort of conditional statement to achieve what you want.

    As far as updating the project goes, as far as I know you should be able to leave the sounds / images up there and only update the game file. One thing to try is compare two different builds and make sure everything matches. Make sure the obfuscated image names are the same every time and whatnot.

    There is a lot of stuff in HTML5 is that is behind everything else. Networking doesn't work as far as i know, and some table features as well. I imagine as they flesh it out we'll get some better support.

  • HymloeHymloe Member Posts: 1,653

    Another little bug:

    The ~ (or `) key is not recognised on my Mac keyboard in the HTML5 playable build. (Haven't tested on any other platforms, such as Windows or Linux, or on different keyboards). :)

    Perhaps there's a reason for this, not sure. :)

  • GeorgeGSGeorgeGS Member, PRO Posts: 478

    As far as we know all the table issues should be fixed. If they are not we could use some specific examples of what isn't working along with simple test projects that make it easy to see the problem and know we've fixed it.

    I made a note of the new attributes too.

    As far as keyboard goes, we probably don't support anything that isn't on the visual mac keyboard. Not sure if ~ is on that or not.

  • HymloeHymloe Member Posts: 1,653

    @GeorgeGS said:
    As far as we know all the table issues should be fixed. If they are not we could use some specific examples of what isn't working along with simple test projects that make it easy to see the problem and know we've fixed it.

    I made a note of the new attributes too.

    As far as keyboard goes, we probably don't support anything that isn't on the visual mac keyboard. Not sure if ~ is on that or not.

    I've been using the "`" key for a few years. It works fine on Mac. It is shown on the little visual keyboard thing in the expression editor.

    But it doesn't work on HTML5. No biggy.

  • FrantoFranto Member Posts: 779
    edited October 2015

    @Hymloe For a few months, people on mac trying my game on arcade html5 have said that some keys don't work.

    It's nice to see that the actor and other data is hidden in the html5 exports, even if the graphics are visible, although they've had their original names taken out and replaced with numbers and placed randomly around, probably to prevent easy assembly of animations.

    GS's other obfuscation method is impressive, but probably increases app size by 20mb,{this screens are from the mac app, note that even the images are unreadable, even when trying to open them in a program}. Although the app size went from 49mb to 70mb, so there is a tradeoff.{I'm assuming the extra size is due to obfuscation.}

    For those on Mac, I'm just gonna send them a mac app to test.

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,170

    @Franto for native apps, we encrypt xml files and images are converted to a proprietary format for faster loading, so it's the images are bigger for performance reasons and not obfuscation (though that's a nice side effect).

    @Hymloe All the special sound features are based on our usage of OpenAL and require some realtime sound processing. While HTML5 does have these capabilities, it didn't at the time we first wrote the engine, so we don't support them (things like positional audio and pitch bending). I do think we support volume though. If those features are important to you, I'd submit a feature request.

    As for your speed issue, I'm not sure what's up so please submit a bug with an example project and we'll look at it when we have a chance.

  • ArmellineArmelline Member, PRO Posts: 5,364
    edited October 2015

    @GeorgeGS said:
    As far as we know all the table issues should be fixed. If they are not we could use some specific examples of what isn't working along with simple test projects that make it easy to see the problem and know we've fixed it.

    Table issues persist in the latest Mac build's HTML5 preview. Bugs have already been submitted.

    (http://bugs.gamesalad.com/show_bug.cgi?id=1166, http://bugs.gamesalad.com/show_bug.cgi?id=1356 are two examples.)

    This one (http://bugs.gamesalad.com/show_bug.cgi?id=1342), however, works in HTML5 preview but not in Creator preview.

    Edit: I'm working on about 3 hours sleep right now, and suddenly realised this post makes no sense with regards to several of these bugs. The first one is still valid, though!

  • FrantoFranto Member Posts: 779

    @adent42 Ah, that is very interesting, a good trade off of faster loading time but increased app size. Thank you for sharing. :)

  • HymloeHymloe Member Posts: 1,653

    @adent42 said:
    Franto for native apps, we encrypt xml files and images are converted to a proprietary format for faster loading, so it's the images are bigger for performance reasons and not obfuscation (though that's a nice side effect).

    Hymloe All the special sound features are based on our usage of OpenAL and require some realtime sound processing. While HTML5 does have these capabilities, it didn't at the time we first wrote the engine, so we don't support them (things like positional audio and pitch bending). I do think we support volume though. If those features are important to you, I'd submit a feature request.

    As for your speed issue, I'm not sure what's up so please submit a bug with an example project and we'll look at it when we have a chance.

    I listed 5 bugs here regarding the HTML5 platform.

    http://bugs.gamesalad.com/show_bug.cgi?id=1426

  • HymloeHymloe Member Posts: 1,653
    edited October 2015

    I've posted a FEATURE REQUEST for support for Positional and Pitch aspects of the Play Sound behaviour in HTML5. Please vote for it if you want it! :)

    http://bugs.gamesalad.com/show_bug.cgi?id=1432

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,170

    Thanks! We'll get to them when we can (it will be a bit since we're still working out crash bugs and some updates to the web site), but it's good to have the request listed and ready!

  • BlackCloakGSBlackCloakGS Member, PRO Posts: 2,250

    @Hymloe we do not support controllers in html5 right now. The html5 api for game controllers is really new.

  • HymloeHymloe Member Posts: 1,653

    @BlackCloakGS said:
    Hymloe we do not support controllers in html5 right now. The html5 api for game controllers is really new.

    Cheers. I don't suppose it's that common a thing for people to do - to use controllers on a web game. But yeah, I can see it being useful, especially for anyone wanting to wrap an HTML5 game as an EXE or something. :) Or just general web-controller support.

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,170

    @pinkio75 / @Icebox1910 I figured out one of the encoder issues based on an error one of our templates has. Ogg files need to have a sample rate of at least 22k in order to work properly. I think I might be able to tweak something to get things working, but for now just make sure your ogg files are ate least 22k sample rate and that should get you over some sound issues.

  • IceboxIcebox Member Posts: 1,485

    @adent42 thats good , thank you

  • HymloeHymloe Member Posts: 1,653

    Nice one @adent42 ... any luck with those other bugs I listed in the bugbase? :)

Sign In or Register to comment.