Intent to Implement - Gamepad Vibration

279 views
Skip to first unread message

Matt Reynolds

unread,
Aug 22, 2017, 2:41:32 PM8/22/17
to blin...@chromium.org

Contact emails

mattre...@google.com, sch...@google.com, owe...@google.com


Spec

Gamepad Haptics Extension


Summary

The Gamepad specification includes a description of the buttons and axes expected to be present on a standard gamepad. This specification will be extended to describe the haptic feedback devices expected in a standard gamepad and a new API will be added to support basic vibration effects.


Motivation

Gamepad vibration has been a standard feature on gamepads for several years. Dual-rumble effects were first introduced with the Playstation Dual Analog Controller in 1997 and were used by the original Xbox gamepad in 2001. Every Playstation and Xbox console released since then have featured dual-rumble effects. Additionally, VR gamepads use haptic feedback as an important tool for immersion.


Interoperability and Compatibility Risk

As this is a new feature, the main risk is lack of adoption. However, this risk is mitigated because haptic effects are typically a progressive enhancement of the user experience.


Edge: No signals

Firefox: Stalled

Safari: No signals

Web developers: Positive


Discussion on public-webapps in 2014 was in favor of adding an API for rumble-style feedback. Support for advanced haptics (force feedback joysticks, steering wheels) was rejected.


The W3C Gamepad github has had an issue tracking a Vibrate feature for Gamepad since early 2016. In the discussion on the bug, it was stated that the Web Vibration API is too limited to use as a model for Gamepad vibration. The Gamepad API should support devices with multiple vibration actuators, and should allow specifying the strength of vibration as opposed to only the duration. It was also suggested that force feedback support should be considered outside the scope of this specification. "I'd like to spec simple rumble that covers what current gamepads do: one or more vibration motors of varying intensities."


There is a proposed extension to the Gamepad spec that would add an interface for haptic actuators.


Ongoing technical constraints

This feature requires extra code for each supported gamepad API on each host.

Some gamepads will need custom handling to map their haptic feedback devices to the standard gamepad spec. Most fall into a handful of categories and will not need extra work.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


OWP launch tracking bug

http://crbug.com/757894


Link to entry on the feature dashboard

https://www.chromestatus.com/features/5705158763741184


Requesting approval to ship?

No

Rick Byers

unread,
Aug 24, 2017, 12:27:11 PM8/24/17
to Matt Reynolds, blink-dev, David Dorwin, baj...@chromium.org
Likely not having any other engines interested in providing design feedback is a risk here, but not necessarily a blocker.

I assume it's the VR use case that's motivating this, right?  What do Chrome VR folks (+ddorwin, bajones) say about this feature's importance to their overall strategy for VR on the web?  Do you have any specific customers saying they want to use this API and will test it out in their product when it's available behind a flag?



--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2Bqnouc5GdepC_6qfd5Z9sCQ3%3DGNt7yCyAw5OaisKK9FhWJUXQ%40mail.gmail.com.

Ashley Gullen

unread,
Aug 24, 2017, 1:06:24 PM8/24/17
to Rick Byers, Matt Reynolds, blink-dev, David Dorwin, baj...@chromium.org
I have to say that ordinary, non-VR HTML5 games have desperately wanted this for years. This is great to see in development and please don't think this is only for VR.

Best regards,

Ashley Gullen
Construct.net


To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-UzuQ61wrUn9zvruavHRxCVYR2HTtjaA8iLE5y8Qjd-g%40mail.gmail.com.

Rick Byers

unread,
Aug 24, 2017, 1:27:37 PM8/24/17
to Ashley Gullen, Matt Reynolds, blink-dev, David Dorwin, baj...@chromium.org
Even better, thanks!  Do I take that to mean that Scirra would likely use this API if it existed in Chrome?  When other browser engines aren't interested in an API it's all the more important to us that we be sure that we're shipping a design that meets real developer demand as a progressive enhancement available to only some users.

Ashley Gullen

unread,
Aug 24, 2017, 2:09:04 PM8/24/17
to Rick Byers, Matt Reynolds, blink-dev, David Dorwin, baj...@chromium.org
Yes, absolutely. Games like The Next Penelope[1] and Klang[2] (both powered by web APIs using Construct) have shipped with no rumble support at all because of this omission. We regularly hear from our users they wish they had this.


Vincent Scheib

unread,
Aug 24, 2017, 6:36:27 PM8/24/17
to Ashley Gullen, Rick Byers, Matt Reynolds, blink-dev, David Dorwin, baj...@chromium.org
We intend to solicit interest at TPAC. We published intent before we've reached out more formally beyond the github issue. 

Rick Byers

unread,
Aug 25, 2017, 4:09:06 PM8/25/17
to Vincent Scheib, Ashley Gullen, Matt Reynolds, blink-dev, David Dorwin, baj...@chromium.org
Perfect, thanks!  Collecting a concrete list of customers who are ready to use this will be helpful at intent-to-ship time.  My personal impression is that the benefit for enabling gaming scenarios likely outweighs the interop risk of other browsers not being interested in features like this, but others may disagree.
Reply all
Reply to author
Forward
0 new messages