An update Google rolled out for its popular Chrome browser this weekend helps prevent those annoying auto-playing video ads on many websites from disturbing your day with unwanted sound as well. But that update is causing consternation for many Web-based game developers who are finding the change completely breaks the audio in their online work.
The technical details behind the problem involve the way Chrome handles WebAudio objects which are now automatically paused when a webpage starts up, stymying auto-playing ads. To get around this, Web-based games now have to actively restart that pre-loaded audio object when the player makes an action to start the game, even if that audio wasn't autoplaying beforehand. "The standard doesn't require you to do this, so no one would have thought to do this before today," developer Andi McClure told Ars Technica.
"With Chrome's new autoplay policies, developers shouldn't assume that audio can be played before a user gesture," Google told The Daily Dot in a statement. "With gaming in Chrome, this may affect Web Audio. We have shared details on what developers can do to address this, and the design for the policy was published last year."
While Google did warn Web developers of coming changes to Chrome autoplay back in September, McClure points out on Twitter that the WebAudio vagaries that affect game developers were only added to Google's documentation in February. This stealth change doesn't seem to have been heavily promoted by Google, forcing game developers to pay constant and precise attention to Google's documentation to see it coming.
Most developers didn't, leading to widespread complaints from Web-based developers big and small that their games are suddenly not working in Chrome. Meanwhile, content on what Google says are "over 1,000 sites where the highest percentage of visitors play media with sound" (such as, ahem, Google's own YouTube) are being automatically whitelisted to avoid these disruptive changes.
Changing an existing HTML5 game to work under the new browser isn't a huge headache for most game developers, provided they still have access to their original code and the servers hosting it. Games that can't be updated for some reason, though, and legacy titles that have been abandoned by their creators will be permanently muted in Chrome, effectively breaking them forever (or until Google comes up with a less disruptive way of automatically muting autoplay videos). Some developers may never even realize that their older work no longer functions on a modern browser.
The problem of older games not being compatible with newer software standards is not a new one; games made in Adobe Flash are in danger of disappearing as that plug-in makes its long sunset, and unupdated 32-bit apps are now unplayable on modern versions of iOS. But unlike those two examples, HTML5 is an open content standard that many developers targeted with the expectation that content that works now would continue to work in perpetuity on compliant browsers.
"This really is an unprecedented moment for a tiny Web-browser team destroying a mountain of cultural work built on open standards," QWOP developer Bennett Foddy wrote on Twitter. "Hard to think of anything in history on an equivalent scale with so little moral justification."
Or, as Stephen's Sausage Roll developer Stephen Lavelle put it, "I had just in the last year started to begin to trust that I could reliably use audio in the browser (after years of reticence). So much for that… "
[contf] [contfnew]
Ars Technica
[contfnewc] [contfnewc]