Sunday, January 9, 2011

Will the same Flash game business model work for HTML5 games?

One of the best ways to earn money with Flash games is by making sponsorship deals. The developer puts the sponsor's logo and a link to their site in the game and lets the game spread around the web. The sponsor gains money from the ads and the extra traffic to their website. Alternatively, they site-lock their game to their website (usually for a short period of time) so that people who want to play the game go to their website. It's true that one can remove the site-lock with some effort by decompiling the swf, but it's usually not done as it's not worth the effort and not legitimate. Another significant part of the Flash business model is to put advertisements in-game. There are other ways of earning money with Flash games, but from what I know, these two are the most prevalent ones.

Since HTML5 is necessarily open source, it makes me wonder if this model would still work for HTML5. Even if you obfuscate your js, it's much easier than Flash to copy the game, so maybe it's worth the effort for someone to copy the game to their (illegitimate) site. If you add your sponsor's logo and link or advertisements, it might be worth the effort to remove them for their site, something that I think is much harder to do with Flash games. Perhaps even the illegitimate site could claim that their site is better because there are no in-game ads. There's still the legitimacy barrier, but I wonder if it's strong enough.

Let's put aside all game development technical restrictions regarding HTML5 for this question (suppose for a moment that HTML5 works just as well as Flash for games). I have two very similar (pair of) questions. The first is, would the Flash business model work with HTML5? What changes to it would be helpful for HTML5 games? The second question is, what about the big picture for HTML5 games? Is adapting the Flash model really the best solution, or is there a better model for the HTML5 games world to "turn"?

  • I don't think a lot will change, actually. SWF files are easy to decompile. Yes, the ActionScript will have made some irreversible changes that will make the decompiled code harder to figure out (destroying variable names, inlining functions or whatever) but a Javascript obfuscator could do that as well.

    Hacking client software to remove ads is probably always possible, whatever language you use. So you have two options:

    • Make it as hard as possible so it's not worth the effort
    • Fight it the legal way, if there is one

    One possible issue might be that browser extension like AdBlock or Greasemonkey can more easily change the game at runtime.

    scytos : Can a Javascript obfuscator obfuscate as well as a decompiled AS3 code? Say I just want to remove the sponsor's logo and link from the main screen. Is it significantly easier (or possible to automatize) or is it the almost same thing comparing obfuscated js and decompiled swf? If it's almost the same, then I guess there shouldn't be much of a problem for HTML5 games.
    Bart van Heukelom : That depends on the obfuscator. I have never used one, but in theory they can do the same readibility-destroying things the AS3 compiler does.
  • You could tie users into using only your implementation by having part of your game logic on a server (hosted by AppEngine etc) which is accessed from the HTML, and check on the server that the caller is in fact yours.

    scytos : This is an interesting solution, but this would force developers to write part of their code to be run server-side, which is undesirable. Also, I think the caller can be spoofed in js, can't it?
    Bart van Heukelom : Unless the server will render the entire screen, removing ads will still be easy. You simply can't force anything on the client PC.
    From funkybro
  • HTML5 games face a lot of hurdles:

    • uncertain browser compatibility
    • stability
    • poor audio support
    • slow JavaScript execution speed
    • slow rendering speed
    • no designer tooling
    • source and assets are easily viewable / copyable
    • game is easily hackable while running
    • games embedded into other portals could run malicious code on the host portal
    • lack of in-game advertising infrastructure
    • game cannot be distributed to portals as a single file
    • games could potentially "leak out" of their frames onto the page if not embedded correctly

    So in summary, I don't think the current Flash game portal model will work for HTML5. I think where HTML5 might be successful is Facebook/Farmville style games.

    Bart van Heukelom : "Let's put aside all game development technical restrictions regarding HTML5 for this question (suppose for a moment that HTML5 works just as well as Flash for games)."
    Iain : Yeah but you can't put aside the technical restrictions of a technology! That's completely illogical.
    Bart van Heukelom : What I mean is the question is about the "code security" of Javascript, not about other features that may be missing or bad.
    Iain : Maybe I misunderstood, I just thought the question was "Will the same Flash game business model work for HTML5 games?", which takes in many different issues. There's no point ignoring some issues as they all inter-relate.
    scytos : You're right and you have a good list, but what I meant was to assume we're in a future where HTML5 is further developed. Most of these issues should be fixable with a lot of time and effort, but the fact that the code is open won't change. The particular obstacles I want to consider in your list are viewing/copying/modifying source and assets. What I'm wondering is whether these particular obstacles would stop the Flash business model to move over to HTML5.
    Iain : Oh OK - no, I don't think viewable source alone is a real stumbling block - it doesn't stop millions of other web site and apps. AS3 is still stupidly easy to decompile and there aren't millions of stolen Flash games out there.
    From Iain

0 comments:

Post a Comment