W3C Games workshop trip report
Last week I had a great opportunity to meet with many folks from various companies at the W3C workshop on Web games which was held in Microsoft‘s office in Redmond to discuss the future of Web game development.
When I learned that W3C is organizing a workshop about games I knew I needed to go, somehow. Funnily enough, previous one was held at the onGameStart 2011 conference in Warsaw. This was suppose to be an over-the-ocean trip, but I got the trip and accomodation covered through the Tech Speakers program, for which I’m super thankful to Mozilla.
The workshop took place in Redmond, June 27th-28th 2019, where Microsoft seems to have a whole city on its own. We’ve taken over only a small part of a single bulding out of dozens, if not hundreds of them, with about 100 attendees. I was offered by François Daoust from W3C, the event organizer, an opportunity to give a short talk about the indie perspective on Web games.
I had a layover in London. When boarding the plane to Seattle I noticed someone having their luggage full of stickers, so I took out some of mine and handed them out. Turned out it was Diekus!
I landed in Seattle and instantly remembered there’s always an immigration line when you arrive to US. Even though they seem have at least ten double booths per airport, it usually have only one border control officer total for the whole plane or three, and other officers just wandering around.
After an hour or two I went straight downtown for the SeattleJS meetup – unfortunately, I made it just in time the last talk was ending, so I missed almost everything. Supposedly, Nell Waliczek was talking about WebXR, David Catuhe about WebGPU and Doug Sillars about streaming.
I decided to go to my hotel and went to sleep. Woke up a few hours before the alarm clock went off, because time zones. At least I had some time to do minor adjustments to my slides.
…which were based on a proper research. I asked the community about their struggles and needs via short, one-question survey. The results were interesting: I had a whole lot of various answers, most of which were totally different one from another. I didn’t have time to talk about every single answer, but tried to point out the relevant ones that could be used by W3C to improve the situation.
Some were more personal than others, some strictly technical. It turned out they seems to be similar to my own opinions: from the technical point of view we’re “OK“, especially if you compare current situation to the one from the year 2011. What appeared more than once? Discoverability and monetization.
The results were quite important to the tone I presented in my talk, so if you did fill it – thank you! I tried delivering them as detailed as possible, and beside the talk itself, I also discussed them in conversations afterwards.
Workshop started with the organizer, François, talking about what we can expect to do in the next two days. A few minutes later David Catuhe from Microsoft welcomed us in the campus.
Setting the context: Web games development
I was in the first, three-part session. My talk was suppose to be the last one, where the other presenters were Chris Hawkins from Facebook (platform perspective) and Christian Rudnick from Softgames (publisher perspective).
I was given a 12-minute slot, but ended up with about 15 minutes. Fortunately enough it wasn’t a problem since Chris had his talk wrapped up in about 5 minutes and Christian had his talk shorter than the plan assumed too. It was suppose to set the tone for the entire workshop and even though we haven’t planned to have time for questions, we managed to get at least a few before the first break.
I think the talk itself went ok. I got some positive feedback, and it sparked a lot of discussions afterwards. Suggesting there might be a market need for hyper casual WebXR games got people thinking too, which was very cool.
The future of Web runtime for games
Next block revolved around performance improvements. Björn Ritzl from King (and Defold dev) talked about debugging tools, David Catuhe from Microsoft (and Babylon.js dev) suggested we really need threading, and Luke Wagner from Mozilla assured us WebAssembly is on a path to success (it’ll be as easy as adding a
wasm file with the
src tag), and SharedArrayBuffers will be enabled again in the upcoming months.
3D rendering roadmap
After that we had Neil Trevett from Nvidia (and Khronos Group) talking about the bright future of glTF format, and Myles Maxfield from Apple explaining why WebGPU will make a huge difference.
Mapping games users and designers needs to technologies
When lunch ended we got back for something a little bit different – hands-on workshop and discussions in smaller groups about UX needs and potential solutions to them using current, and future, technologies. One of the leaders for this session was Indira Knight from Royal College of Art who is also a newest addition to the Mozilla Tech Speakers family.
Packaging, asset loading and storage
This session was revolving around ways to compress the assets, especially for indie games. Kasper Mol from Poki showed the publisher perspective and explained that the size does matter: the smaller the size of the game assets, the more players will actually wait long enough to play it. Next on Andrew Sutherland from Mozilla revisited all the possibilities for storing data in the browser.
Towards accessible games
Last session that day was exploring accessibility needs in games, and how things can be improved. Luis Rodriguez from American Psychological Association talked about helping players with motor impairments, and Matthew Atkinson from The Paciello Group explained the concept of adaptive accessibility.
My hotel was in a walking distance from the venue, so I could easily go there on my own. I got back, managed to check some emails and went to sleep rather quick, given how late it already was in Warsaw’s time zone.
Audio and games
Day two started in another room, but still the same building (number 92). The first set of talks this day was about audio, and started with Michel Buffa from Université Côte d’Azur showing how we can reuse WebAudio components, and how cool that may sound.
Then Philippe Milot from Audiokinetic explained why porting Wwise engine to the Web is such an important task given how many native tools are using it. Hongchan Choi from Google talked about better and faster audio input/output with Audio Device Client, which can solve many issues developers currently have.
Second part focused on exploring challenges like latency, network and streaming issues, but also game controllers. Kelvin Yong from Sony suggested we really need to move the Gamepad API specification from its draft stage already.
Navid Zolghadr from Google was trying to help solve the input latency problems by going out of requestAnimationFrame with PointerRawUpdate, and Peter Thatcher also from Google showed benefits of WebTransport (and WebCodecs) over current solutions like WebRTC, which got a positive reaction and a lot of enthusiasm in the room.
Diversity and localization
A separate session about localization struggles when considering diversity was held before lunch. Elina Olivares from Keywords Studios talked about gender inclusiveness and how it can be approached in localizing games.
Breakout sessions: discoverability and monetization
Tom Greenaway from Google had this session planned beforehand, so it was an obvious choice for me to attend. We discussed options W3C can help with – both how to stand out from the crowd and be noticed, and how to earn money. Ended up suggesting extension to WCAG tags to describe games by their genres, input methods, etc, or considering global catalogue for those.
Breakout sessions: web games in hosted apps
This turned out to be a presentation by Ping Wu from Baidu about their platform, which gave interesting insight into the Chinese market.
Other breakout sessions included discussions about accessibility, threads, audio, networking, WebAssembly, and 3D controls.
Next steps for standardization, and closing
François summarized two days of work and made an actionable next steps for all the discussed topics. It’s still undecided if we’ll need a new Games Interest Group to move things forward, or if the existing groups will be enough for specific technical topics.
After the event was officially over, we still had some ongoing discussions, and at some point decided to go grab something to eat nearby. Ended up with burgers and beers, talked mainly WebAssembly, because Luke was with us.
It was an awesome two days full of fruitful conversations with incredible people, and I’m really happy I was able to attend. Beside many brilliant, already mentioned people, who had their own sessions, I also had a quick chat with Cyberdees (Coil Technologies), Kirby Shabaga, or David Evans (PlayCanvas), bumped into Martin Best (Unity), and many more. I would stay for the next week or two if I could, and we’d still have endless opportunities to talk.
Oh, and on my way back I randomly met Ioana, my Reps mentor and fellow Tech Speaker, in the Seattle airport. I was in a rush, but we still managed to have a quick chat.
Update: recording of my talk is now available here.