ID:2077101
 
I was planning to release version 510.1341 today, especially because it has a couple of important bug fixes that are needed by some games. (Turns out the image syncing fix introduced a couple of issues, so that will be fixed in 1341.) However, at the moment I'm in the middle of some sound upgrades for the webclient, and they're at a stage where it's not really ideal to button everything up for release right now. So my new release target is Monday, ideally, but may be Tuesday if more stuff needs to be sewn together.

So what's going on with the sound support for the webclient? Well, here's a quick list:
  • 3D sound is implemented.
  • Pan is not implemented. It requires a Dart library update, which will come later. When it is added, browser support may be patchy as it relies on StereoPannerNode; newer Firefox and Chrome versions shouldn't have any issue.
  • SOUND_UPDATE is now capable of changing volume, pan (when implemented), and 3D coords, for sound files.
  • SOUND_UPDATE support for music files hasn't been setup yet.
  • Changing files via SOUND_UPDATE isn't yet supported. (Nobody does this anyway.)
  • Turning repeat on or off via SOUND_UPDATE isn't implemented, but planned.
  • The wait feature is still based on a timer, and the goal is to switch over to an event-driven system.
  • Sounds now support a short list of fallbacks, which can be provided by creating the sound with a list instead of a single file. Fallbacks are not hooked up in DS yet, but I want to get them in the webclient with the coming release so that you can use .ogg and .mp3 for full browser coverage. Surprisingly this does not require a major version change, so it's a 511 feature coming early--to the webclient at least.
  • Echo and environment are not supported, although the WebAudio API does appear to be capable of handling something like this in the future; the trick will be mapping the old values to modern settings.
So all that is coming along. I've been profiling the webclient a lot this week as well, looking for places to shore up execution speed even more and hopefully prevent some slowdowns. One thing that the Severed World team discovered was that mouse activity could slow things down, so in the next release icons will preload their alpha "hit" maps, allowing them to be checked quickly.

I've already put some concept work in on how to handle gamepads, and this is roughly what I'm aiming for. I want the game OR user to be able to map the D-pad and buttons to keys or mouse buttons, and choose a set of axes (e.g., the thumb sticks) for mouse mapping. The user can set a mouse speed, and game-specific user settings can be made--full or partial--that override the game's settings. The game can also map the D-pad and buttons to verbs, and the user can do so too if control_freak allows macros. I've been working a little bit on the structures for this.

That's it for this week. Give your grill some love if the weather permits, and be nice to animals, even if they do jump on your keyboard drawer and get in your way.
I'M WAITING FOR YOU, GAMEPAD SUPPORT.
Gamepad support is really exciting
I would ask that gamepads get their own control_freak flag. We don't allow macros at /tg/ but mapping gamepads is something we'd be mostly ok with.

Maybe make it so if gamepad isn't controlfreak'ed away but macro is, the user can only map to existing macros or single verb execution, but not make complex/muticommand macros.

It's not that it matters, worst case a in game interface is made instead.
I don't think gamepads need their own flag, just because the simple button-to-key/mouse or axis-to-mouse mapping wouldn't be anything like defining new macros.
Update on the 1341 release: It won't be today, because I was attenting to a bug in DS that turns out to have been pretty bad. I need to do more buttoning up of the files.
The mouse makes more sense, tbh. Nobody wants to be using their controller and clicking with mouse clicks. Not to mention that it'd be ideal for mobile devices. Just use the arrow keys for movement..
What about getting the value of an axis or button through verbs like ButtonDown(), ButtonUp(), ButtonRepeat(), AxisUpdate(), etc. that work like the macros/mouse procs we have now? I'm not sure that would be as user-friendly as mapping buttons to keys or the mouse, though. Any thoughts?
How about making the left thumb be used for character movement and the right for mouse movements?
In response to GreatPirateEra
GreatPirateEra wrote:
How about making the left thumb be used for character movement and the right for mouse movements?

or being able to choose use either stick for either keys/movement or mouse
Yut Put wrote:
axis-to-mouse won't benefit any games that want to use the joysticks for movement(which will be the majority of games using gamepads)

Will we be able to map axis-to-keys?

Yes, I think that's quite reasonable.