Zynga Releases Jukebox Audio Library For Web Games
By improving Web gaming, Zynga hopes to strengthen the Web as an open platform.
HTML5 game development is mild torture. Speaking at the New Game Conference in San Francisco on Wednesday, Zynga Germany CTO Paul Bakaus likened open Web game creation to the experience of playing Pong while attached to electrodes that deliver jolts when points are lost--and yes, this devious variant of Atari's classic video game actually exists.
Zynga, which entertains some 232 million active monthly casual game players around the globe, has recently begun shifting its development focus from Flash to HTML5 and the process isn't without difficulties. Bakaus himself joined Zynga following his own effort to build an HTML5 game engine called Aves, a project that has shaped the design of Zynga's internal HTML5 game engine.
Zynga has also been releasing open source code to help advance HTML5 game development and the Web as a platform. At the conference, Bakaus announced Zynga Jukebox, an HTML5 audio library that provides a workaround for longstanding browser audio issues and incompatibilities that continue to vex Web app developers. Jukebox is available at Github.com, along with several other open source libraries from Zynga.
"We're doing a lot of great research that the whole Web would benefit from," said Bakaus in an interview following his keynote. "And that's why we're open sourcing some of it."
Bakaus sees the improvement of Web gaming as something that will enhance business Web applications. "Historically, gaming has been the significant thing for a platform to win," he said. "Gaming uses so much of the stack, so many different layers of it, as soon as you can create rich interactive game experiences, it's an assurance that the stack is ready for all kinds of applications."
Zynga is also increasing its participation in the W3C, the Web standards group, and engaging with browser vendors to promote standards that facilitate game development. For example, the company has proposed something called point event opacity, which would allow hit events--important in games and other applications--to be transmitted through defined areas of an image.
Bakaus acknowledges that HTML5 game development still has problems. Beyond the widely known audio inconsistencies, he pointed to problems like the lack of device APIs for accessing cameras and other systems on mobile and desktop devices, lack of debugging tools for iOS and Android browsers, and the lack of support for the Canvas element--the 2D graphics API for browsers--among those who don't keep their browsers current. And as other speakers pointed out, the lack of tools useful to game developers continues to be an issue.
Bakaus expressed optimism that HTML5 will become more mature as a platform for games but offered a reminder that the Web tends to advance more slowly than native platforms because of the consensus-driven nature of Web standards. As an example, he pointed to Apple's iOS 5, which introduced over 1,500 APIs for native iOS development and about 20 APIs relevant to mobile Safari. "There are many more layers to be working on if you're proposing specs for the Web than if you're developing specs for your own platform," he said.
However, Bakaus added that the W3C has been making an effort to move faster, pointing to the relatively recent addition of community groups. Community groups discuss specific needs and promote them to the working groups that will actually develop next-generation Web standards.
Noting how game development used to drive hardware upgrades, he observed that Web platform advances can't even make people upgrade their browsers. To encourage greater affinity for new browser technology, he urged developers to "try to come up with great new stuff that only works in modern browsers."