Status update on Web Games technologies
The report from the Workshop on Web Games, held in June 2019, recommended next standardization steps for individual topics discussed at the workshop to enrich the open Web platform for games. Now, less than 6 months after the workshop, thanks to the efforts of workshop participants and a few others, most of these topics have already made significant progress. This seemed to warrant a status update.
The creation of a games activity at W3C, to gather continuous feedback on Web technologies from the games community, track identified needs and steer standardization efforts, is still being investigated. If you're interested, please reach out to François Daoust.
NB: In the interest of keeping things short, the update below follows the same structure as the next steps section in the workshop report. Please refer to the workshop report for additional background on how these features relate to games.
Technologies in progress
- Among these, the WebAssembly Community Group is refining the Interface Types Proposal, which Luke Wagner presented at the workshop under the name "WebAssembly WebIDL Bindings". The scope of the proposal has been broadened to address more use cases on top of optimizing calls to Web APIs (hence the rename). Notably, the proposal also aims at enabling shared-nothing linking of WebAssembly modules to allow modules to maintain full encapsulation by having the WebAssembly engine copy data between linear memories of the modules when needed, as well as at defining language-neutral interfaces like the WebAssembly System Interface (WASI).
- Still in the realm of WebAssembly, the WebAssembly Debugging Subgroup, which incubates the DWARF for WebAssembly proposal to ease debugging of code compiled to WebAssembly, has now resumed its work.
- The Audio Working Group is looking into rechartering at the end of the year. The proposed charter includes the Audio Device Client proposal that Hongchan Choi presented during the workshop.
- There was progress on the Gamepad front as well. James Hollyer and Matt Reynolds recently joined Steve Agoston as editors of the specification.
- Navid Zolghadr integrated the
pointerrawupdateevent in Pointer Events to decorrelate input events from
requestAnimationFrame. Discussions on unaccelerated mouse events are still ongoing.
- The plan to re-introduce
SharedArrayBuffer, which builds on two new HTTP headers (
Cross-Origin-Embedder-Policy), is making steady progress. Some specification work remains and support on mobile platforms may take longer though. See Anne van Kesteren's intent to prototype re-enabling
SharedArrayBufferin Firefox for instance.
- The GPU for the Web Community Group is developing a draft charter for a possible GPU for the Web Working Group. Discussions on the choice of a shading language for WebGPU are still ongoing.
- The Input for Workers and Worklets proposal that Navid Zolghadr presented at the workshop has now moved to the Web Platform Incubator Community Group for incubation. Navid organized a breakout session on the topic during TPAC.
- Similarly, WebCodecs has also moved to the Web Platform Incubator Community Group for incubation. WebCodecs was the focus of various discussions at TPAC, see for instance the minutes of the WebCodecs breakout session that Peter Thatcher organized, or the minutes of the Media Working Group meeting.
- A simple liaison with the Khronos Group was setup to coordinate on shared areas of interest. The GPU for the Web Community Group is notably discussing possible use of SPIR-V as shading language for WebGPU with the Khronos Group through that liaison.
New technical proposals
- The idea of a native 3D element has been raised within the Immersive Web Community Group, and discussed further during a breakout session at TPAC.
- Andrew Sutherland developed a more concrete proposal to expose multiple buckets per origin, presented at TPAC as well.
- An issue on the pronunciation of gender-neutral words was raised as a use case to consider within the Pronunciation Task Force of the Accessible Platform Architectures (APA) Working Group.
- The explainer of the Accessibility Object Model (AOM) API proposal has recently been updated to reflect current status.
- Coil Technologies proposed to incubate a Web Monetization API in the Web Platform Incubator Community Group (WICG) and, in collaboration with Andrzej Mazur who presented an indie perspective at the workshop, started to experiment the proposal with game developers during the 2019 edition of the Js13kGames competition.
- The MiniApps Ecosystem Community Group was created to explore specificities of Web environments hosted in native applications. The group published a MiniApp Standardization White Paper and is currently discussing the scope of explorations in that domain.