2016-03-05 10:46:11

So tonight I got a simple HTML5-based audio game working, including left/right panning and all that.  As I may have mentioned in a previous post, I've been using the Howler.js library as it simplifies the Web Audio API (which seems to be more for DJs or audio mastering technicians than developers, LOL).  Everything was going great, but then I ran into a weird snag: The panning functions don't work if NVDA is running.  Why?  Beats me... but it just kinda threw an adamantium monkey-wrench into my plans have a couple friends beta test it.

But I guess the bigger issue really is, how do you guys do menus in your games?  This isn't as easy a question as it may sound.  Sure it's easy to write a menu class, add some keyboard event handlers etc. but this can cause more trouble than it's worth.  You don't want your screen reader saying "blank" with every key press (and just calling event.preventDefault doesn't change this).  And of course one of the advantages of going web-based is the game workes on mobile devices - but you don't want to use VoiceOver while the game is going on (double-tap for every move?  I don't think so, LOL).

So what do you guys do to implement menus in your games?  Do you recommend that players turn the screen reader during gameplay and self-voice the menu options somehow?  I'm talking about on the web, either desktop or mobile, so interfacing with native APIs or the NVDA Controller Client DLL is not an option (and besides, not everyone uses NVDA... yet). *smile*

Thanks!

2016-03-05 12:40:18

What I did when I was first starting out (10 years ago... in IE6, with <embed> and absurd load times) was to record spoken announcements for menu items, but only have them play on request. (Well, for one project... I'm not sure I'm remembering the other one right).
(I also threw in an option to use SAPI through active x, but, again, IE6.)

Audio games will generally either be self-voicing, menus included, or they'll use some manner of TTS output (some games let the player adjust all the details, some less so). I know some mainstream games have spoken menus, but apparently these annoy sighted gamers enough that they aren't especially common. Maybe make it optional?

(Whether or not you need a menu class, or can get away with something else... is really up to you. I've done both, and in different ways.)

看過來!
"If you want utopia but reality gives you Lovecraft, you don't give up, you carve your utopia out of the corpses of dead gods."
MaxAngor wrote:
    George... Don't do that.

2016-03-05 13:04:58

OMGosh I remember <embed> and ActiveX (I was a big fan of bgsound back then, LOL)  Wow... that must have been one insanely slow program.  But kudos for daring to go there!  We've sure come a long way since then - I just found the HTML5 "Web Speech API" for text-to-speech (it's still got some bugs but it's still a heck of a nice step forward).  But just think: if in 10 years we went from COM/ActiveX objects and <embed> tags to the Web Audio and Web Speech APIs, imagine where we'll be in another 10!

But anyway, I think I'm gonna have to go with the recording idea like you said.  From what I've seen so far, it's the only sure-fire way to make sure the information is read, giving the players a consistent experience regardless of platform.  Pus, depending on the type of menu, I can include a quick sound effect with the text (adding to the cool factor). *smile*

And yes - if you're game's gonna have graphics I definitely recommend making the reading optional!  Audio announcements would drive every sighted games I can think of out of his mind (LOL).  But my graphic design skills make Sega Genesis look like PS5.  Unless we're talking old-fashioned pixel art I don't have the time or the skills to do it right.  But I can just about code in my sleep, and I got great sound effects, so I think I'm totally gonna rock the audio games once I get past nooby questions like this. *smile*