Humble "asm.js" Mozilla Bundle (and HTML5 in general)



  • Not too long ago, Mozilla and Humble Bundle released a pack of games that included HTML5 ports of them. Since I'm interested in this sort of stuff, and the games seemed good, I decided to buy it.

    This week I actually tried to play those games, so here's a long-ass post on what's wrong with them. WTFs bolded for your convenience.

    1. OK, I bought some software. It's in a standard format specifically designed to run apps like that. Can I download it somehow? Surely there is some kind of standard HTML5 package format? Nope. The HTML5 designers thought files are old and packages are stupid, and should be replaced by URLs.
      But wait, what if I want to run an app offline? Oh, don't worry, it can just stay in cache. Just remember to not give the user ANY kind of feedback whatsoever when this happens, so they'll never know if they can use a page offline. And obviously they won't be able to navigate there either, let's hope they remembered to bookmark it!

    2. Having to start the entire browser every time and navigate to the games from inside it is annoying. Can I make a shortcut to it and run it from the desktop in its own window, like I can on Android? Nope, not with Firefox (but see point 6 down here).

    • I go to the web address and start the first game, Dustforce DX. After a long download, this pops up:

      Great, a FUCKING USELESS HUGE SCREEN where I can't see shit because apparently resizing is too hard for them. The mouse is actually disabled here, meaning you HAVE to go full screen whether you like it or not to start the game. Why even bother showing it then?

    • OK, I was going to play in full screen anyway. I scroll down and awkwardly to the right with the horizontal scrollbar, and click the fullscreen button. Then tell the browser that yes, I want to allow the page to go fullscreen. Then (for 3D games) tell the browser that I want to allow the page to hide the cursor. Don't forget to check the small checkbox or it'll pop every time!

    1. The game itself works surprisingly well, but it's definitely NOT "as fast as native code" as they claim. It feels more like playing in 5 year older hardware, at best. But as none of the games are very resource intensive, they are playable. Except for the occasional random freeze obviously caused by Shitfox's state-of-the-art HTML engine. No problem, see next point.
    • My laptop has Optimus, meaning processes can run in the GeForce GPU or the integrated graphics. It's chosen at launch time, meaning I have to choose between no 3D performance in the browser, or super-high power usage and a whirring fan at all times. OK, we won't blame HTML5 or Mozilla for that.
      EASY SOLUTION: since I use Firefox to browse, I can just use Chrome to game and set it to use the GPU. This also lets me keep the cache separate from normal browsing so I won't clear it by accident, and Chrome actually has the cool "create application shortcut" tool that will finally let me launch this pitiful thing as if it were a real program.
    • OK, I'm finally playing! Woo! Just one tiny problem: IT WON'T SAVE. The game starts from zero every time. I've tried Firefox and Chrome with no extensions, nothing.

    The mozilla page states:

    Humble Bundle has included cloud syncing of game saves so that you can continue your play from any computer

    Oh, I'm sure they made a great cloud syncing system. And then they broke it and now I can't play because it keeps erasing my saves. I do get a very helpful message on exit that says "all unsaved data will be lost". Maybe it's part of the game? Find the invisible save button!

    Remember, this whole thing was setup by Mozilla, one of the top HTML5 proponents and contributors, not some random joe. I'd better get launching Steam again.

    BONUS DUCKS screenshot!: Mozilla arrogance:



  • Any good game development team should have a room full of random people playing the games, complaining about it, and having someone write down said complaints.



  • So, like, you mean they should have a QA team?



  • @marinus said:

    So, like, you mean they should have a QA team?

    No, those tend to just follow scripts.


  • I survived the hour long Uno hand

    Not the good ones. They spend time actually writing said scripts.



  • @anonymous234 said:

    Can I download it somehow? Surely there is some kind of standard HTML5 package format? Nope. The HTML5 designers thought files are old and packages are stupid, and should be replaced by URLs

    I'm confused why you think HTML needs a "package format" in the first place. It's a markup language, not a programming language where you share binaries. URLs are the accepted method for sharing HTML files.

    You go on to complain about starting the "entire browser", which would have been a valid complaint in 2002 but not in the age of Candy Crush Saga. When you open up a shortcut to it on your phone, you're still loading the whole browser. I guess your complaint is mainly that it remembers open tabs? You can disable that, I think.

    The rest of your complaints are valid except you don't hate on Firefox enough.



  • @Yamikuronue said:

    Not the good ones. They spend time actually writing said scripts.

    You're truly a rare breed.


    Filed under: Assassin's Creed: Unity



  • I've actually wondered if I could make a living criticizing things. No really, I'm good at it. I could rant for days on how every network protocol sucks, every OS sucks, and every programming language sucks.



  • @anonymous234 said:

    I've actually wondered if I could make a living criticizing things. No really, I'm good at it. I could rant for days on how every network protocol sucks, every OS sucks, and every programming language sucks.

    If you could make your feedback productive, there are some jobs like that.


  • I survived the hour long Uno hand

    I could go on a rant, but I'm tired, so I'll just mumble something about how SQA isn't valued as a discipline because managers thing hiring any idiot with a high school diploma to poke at software with a stick is "testing", so they pay dirt cheap rates, so they attract idiots who go "I can use a computer, clearly I'm a good tester", and the cycle continues endlessly.

    Of course on the other end of the spectrum are people who insist that QA is an artform and therefore nothing can be standardized or written down because every single piece of software is a special snowflake and if you say anything is right that means someone else is wrong. To which I say, YES, THERE'S A WRONG WAY TO TEST, DEAL WITH IT.

    But yeah, I have a Master's degree and actual training in SQA, I'm not a brainless "tester" being paid peanuts. I feel like I should do an AMA or something :)



  • Wait, Yatzee does fine with almost 100% negative criticism making up the majority of his income. And game companies keep ignoring him and painting everything brown and grey. So I guess being awesome beats productivity.



  • No code is 100% perfect. Your job is to make sure it's as close as possible while still making deadlines.


  • I survived the hour long Uno hand

    @chubertdev said:

    Your job is to make sure

    Wrong. I can't make code good, I'm not a developer :)

    My job is to give people a clear understanding of the quality of the product and the risks they'd undergo if they released it in its current state. The decision about what level of risk is tolerated is not mine, nor is the actual creation of the product or the work of bettering it.



  • @Yamikuronue said:

    Wrong. I can't make code good, I'm not a developer :)

    My job is to give people a clear understanding of the quality of the product and the risks they'd undergo if they released it in its current state. The decision about what level of risk is tolerated is not mine, nor is the actual creation of the product or the work of bettering it.

    I never said that you deal with the code directly, but even if you're just button mashing, you're still testing the quality of the code.


  • I survived the hour long Uno hand

    Sure, I'm testing it. But that doesn't directly improve quality.

    The problem is, when people start saying it's QA's job to improve the quality of the code, they blame us when the code is bad. It's not my fault, I'm not a developer, I didn't write the turd-pile. The developer's job is to improve the quality of their code, and my job is to provide an honest and impartial assessment so they can't hide things under the rug.



  • @Yamikuronue said:

    Sure, I'm testing it. But that doesn't directly improve quality.

    The problem is, when people start saying it's QA's job to improve the quality of the code, they blame us when the code is bad. It's not my fault, I'm not a developer, I didn't write the turd-pile. The developer's job is to improve the quality of their code, and my job is to provide an honest and impartial assessment so they can't hide things under the rug.

    I haven't really experienced that, but I only place blame on QA when they say that a product is good, when it's not.



  • @aapis said:

    I'm confused why you think HTML needs a "package format" in the first place. It's a markup language, not a programming language where you share binaries. URLs are the accepted method for sharing HTML files.

    Well it's a language you distribute applications in. In other words, those games my browser downloaded were in "HTML5 format" (aka HTML + javascript + CSS).

    If you took every necessary file to run Dustforce DX in my example, zipped it and gave it a special extension (like .htmlapp), you'd have a file that you could distribute to virtually every device in existence, click, and a program would instantly pop and run. Isn't that what the dream of many programmers has been for a long time?

    Oh wait, Windows did that. In 1999.

    OK, maybe you don't like files. At least give me an interface in Firefox or Chrome to see my cached apps. Or show a tooltip: "this page can run in offline mode, bookmark now if you want to access later". As it is now, cache manifests are virtually useless.

    @aapis said:

    You go on to complain about starting the "entire browser", which would have been a valid complaint in 2002 but not in the age of Candy Crush Saga. When you open up a shortcut to it on your phone, you're still loading the whole browser. I guess your complaint is mainly that it remembers open tabs? You can disable that, I think.

    The real problem is that I'm used to having shortcuts to all my games on the desktop. If I want to play a game, I'll instinctively look there. Now I have to look in the browser instead? Do not like.

    Although I could have just made a .url file that pointed to the page. This would open Firefox with my entire session, but it doesn't load saved tabs until I focus them so it's OK.


  • I survived the hour long Uno hand

    It's like, super common. But yes, if QA gives you a misleading impression of the game's quality, you can start pointing fingers, but then, if you gave them not enough time or resources to test, the finger goes right back at you ;)



  • That's called "playtesting" and, yes, indies are fucking awful at it. AAA titles aren't always very good at it, either.



  • The real issue with games is even if the code is perfect, the game could still be no good at all.

    For example, that Falskaar Skyrim mod I played a couple days ago had a segment where:

    1. You fight a super-long (5+ minute battle)
    2. You listen to a super-long (5+ minute) cutscene (one which doesn't allow skipping at all, BTW.)
    3. You get dropped DIRECTLY into another difficult battle you have a good chance of dying to

    All with zero automatic savepoints. (And yes, Gamebyro/Creation Engine is capable of forcing automatic savepoints on a trigger-- the base Skyrim game does it in several places before difficult fights).

    Now the Gamebryo/Creation Engine code that powers all this ran flawlessly. It did exactly what the scripts/enemy AI/player actions told it to. But there's NO WAY that shitty-ass game design would have gotten past even the most cursory playtesting.

    Not that I'm contesting anything anybody's saying in this thread, just saying that while Yamikuronue's testing might produce stable bug-free code, it's absolutely no guarantee your game won't suck ass.


  • I survived the hour long Uno hand

    Sure, games. I don't test games :) I also try to get involved early in requirements to help make sure what we're putting on paper will solve the problems the users have, but games are so subjective, that's gotta be rough. And game studios are notorious for neglecting QA because they think they can just roll out a patch, who cares.



  • @anonymous234 said:

    Not too long ago, Mozilla and Humble Bundle released a pack of games that included HTML5 ports of them. Since I'm interested in this sort of stuff, and the games seemed good, I decided to buy it.

    That was broken beyond belief. I couldn't access my bundles for a long time because those asm.js things just kept popping up and taking over my screen.

    @anonymous234 said:

    No really, I'm good at it. I could rant for days on how every network protocol sucks, every OS sucks, and every programming language sucks.

    Worst AVGN knockoff ever.



  • @Yamikuronue said:

    hiring any idiot with a high school diploma to poke at software with a stick is "testing"

    I spent a few months working for an outfit that made video poker machines, and one of the "simulated user" tests for those really and truly did involve leaving a stick wedged between the bottom of the CRT cabinet and the "take score" button.


  • ♿ (Parody)

    @anonymous234 said:

    Well it's a language you distribute applications in. In other words, those games my browser downloaded were in "HTML5 format" (aka HTML + javascript + CSS).

    I almost sounds like this is their attempt (in conjunction with the login) at preventing you from redistributing it to people who didn't buy it.



  • Exactly. They're forcing the customer to play the video game online. I know this because there are packaged HTML apps which are a ZIP file with all the resources (HTML, JS, CSS, Images) and a manifest file.


  • ♿ (Parody)

    @Eldelshell said:

    I know this because there are packaged HTML apps

    But then Hanlon's Razor shows up to say that maybe they don't know that or it never occurred to them.



  • I don't think so because AFAIK this manifest thing was [made|invented|first time I ever saw it] by Firefox.


  • ♿ (Parody)

    True, I'd forgotten that this was a Mozilla thing.



  • This makes me glad I went with my instinct of "This smells like complete bullshit" when the bundle was on sale.



  • You have a point... ease of distribution and piracy do go hand in hand.

    But I'm pretty sure any minimal DRM/user authentication mechanism in the package would have a similar effect (e.g. a single file that told the browser to ask for my username and password before running, and the rest of files were encrypted). Anyone who wanted to bypass it could just as easily get the game on bittorrent today. But DRM is eeeeviiiil so they'd never do that.

    And hey, you could buy the whole thing for $1. They can't be too worried about losing a few users.



  • @anonymous234 said:

    I've actually wondered if I could make a living criticizing things.

    You go into politics.
    Next please.



  • Any HTML5 app should have an app cache manifest file that tells how the caching should behave and is normally referenced in the head. If you pin the page on an iPhone (dunno about other platforms as I have not dealt with it) a site will work more appish, I expect pinning to win7 start menu does the same.



  • Everything is not a phone, @lucas...



  • When did I say it was?



  • So, I take it the asm.js bundle didn't also include Native copies of said games?

    @anonymous234 said:

    BONUS DUCKS

    rams another bumper car with his bumper car



  • Actually it did! Thankfully. I've played a few through Steam. AaaaaaAAAaaa is a nice concept but I found it a bit lacking in practice (and tries WAY too hard to be funny all the time).

    @lucas said:

    Any HTML5 app should have an app cache manifest file that tells how the caching should behave and is normally referenced in the head. If you pin the page on an iPhone (dunno about other platforms as I have not dealt with it) a site will work more appish, I expect pinning to win7 start menu does the same.

    Probably, but again there's no indication anywhere of whether a page will work offline or not. And given that 81% of users doesn't even know about Ctrl+F, I doubt many of them know about pinning websites.

    And in Windows the only browsers that offer something similar are IE and Chrome, and the page won't even work in IE11. Plus they lumped all the games in one page, and one that contains mostly irrelevant stuff. 0/10 implementation by Mozilla.



  • Tbh supporting it is a pain in the ass. I only bother on android and iPhone.

    Also how can you build something that doesn't work in IE11, must be a loads of webKit and moz specific stuff going on.


Log in to reply