My biggest problems with audio games are these: They are too verbose, and most accessibility features make no sense in any other context, both of which help keep us isolated from the considerably more exciting mainstream.
How audio platforming generally works:
- They are tile-based.
- You get a list of all objects that are not tiles, with their position mentioned explicitly. Sometimes this is relative (Perilous Hearts), most of the time it's absolute (Mota, Mario, Bokurano Daibouken). BK is notable for including chimes when viewing the list, to make it easier to find them.
- Walls and platforms make sound, but in curious ways. In Mario, you hear them whenever you take a step. In Bokurano Daibouken 3, you hear them on a loop if you have sonar turned on (and this feature is not available early on in the game).
- Pits make sound with every step you take within a certain distance. We've moved away from having your footsteps sound different within two steps of a drop, but it's still countable.
- The Accessible Camera involves examining the map tile-by-tile to learn what's there. In the case of Mario, there's a hear column feature with it to speed things up. You're basically "feeling" of the map, but with audible feedback.
I am totally guilty of doing exactly the above in Mario, and I even applied it to my 3D action/adventure/whatever you call it that no one can make sense of.
I've sense realized that these features only help to further separate accessible platforming from the mainstream. You sure as taxes can't apply the same features to, say, Sonic the Hedgehog (except the object lists. *May be speaking from experience*).
About this time last year, it occurred to me to try making better use of more mainstream features for accessibility's sake. For example, I don't think there's a single audio game (other than my experiment) that uses camera panning the way the mainstream has for a good 20+ years.
We actually had a little discussion on the use of cameras in audio games a while back, and basically, none of the blind-from-birth people understood the concept, and no one could explain it satisfactorally. Which is annoying, because early 90s-style camera-panning, possibly with one or two more degrees of freedom, seems like a low-hanging solution to the problem of determining the shape/size of objects in audio. That was the entire point of my experimental platfrmer (that relies on the sounds for Swamp).
Now, while I think part of why the Swamp Platformer failed is because people are having a hard time understanding how this works, I also built it with what I had lying around. The sounds in there are not optimized for platform indicators; they're ambiences and events. Even with the game zoomed in considerably to keep clutter to a minimum and detail discernable, sounds still play over each other and make a huge mess. (Also, ledge detection: it is implemented here, but very crudely. You only hear the edge of the exact object you're standing on, and the looping wind sound that is used for this is often drowned out by other sounds.)
My most recent thoughts are that it's best to improve on the camera-and-repeated-sound system, but I recognize that people aren't going to give up tile-by-tile groping that easily (even when the concept of tiles is replaced with arbitrary shapes).
So, I'm thinking that, for future titles, I'll let people feel around the map, but only in realistic ways. For example, if they're carrying around something that can function similar to a cane, they can use it to examine anything in its reach. For a serious range penalty, I might even let them use the character's hands. And these feeling implements will not be protected from traps, without some sort of special protection. So, stick your wooden stick in fire--no more wooden stick. Stick your hand in fire--hope you have gloves. From a mainstream perspective, poking things with a stick is a good way to uncover hidden traps without stumbling into them, or to activate switches from afar, etc (there's a reason sighted people have been known to carry staves in the wilderness). You get to keep the accessibility tool, but it makes sense in context instead of being something only blind people would use.
In the past 24 hours, though, I've run up on a different problem.
Audio Platformers are flat. Mainstream platformers from the early 1990s are not, at least not always. And uneven terrain throws up a whole new accessibility hurtle. Sure, there's braille output (Audio Mario has this), or something to trace the path (Tails in Audio Sonic), but the former is difficult and requires braille displays, and the latter is very difficult to include as anything but an accessibility gimmick.
For now, I'm thinking I'll include some kind of path-tracer in my next game, just to introduce people to the concept, then try to improve it away, somehow. Of course, I could always make it have consequences; for example, it could work similar to the cane trick, and set off traps at a distance... and those traps might need to be set off later. (Mainstream platformers force the player to learn a lot from trial and error. I do not object to Audio Games doing the same.)
Other things I've thought about:
screwing with DSP effects on footsteps (pitch, volume, echo, reverb, high/low-pass filters) to indicate changes in the amount of vertical space. Example, your steps might have a different pitch when walking under a platform.
I was not originally opposed to just using echo for everything, but this actually gets a little confusing if not used sparingly. I'm currently thinking it belongs best with platforms that are above the player, though I don't mind the idea of using it for walls and such, too. (BK3 uses echo to indicate drops, which sounds much cleaner than what Mario does.)
In-character descriptions aren't too terrible, assuming they can be written well enough that a sighted player might find them interesting even if they aren't needed. (Example: if Airik the Cleric's Scout occasionally interjected commentary when reporting. It'd be ridiculous to do this all the time, the way Scout works, but eh.).
Braille or other tactile output is nice. Too bad it's horribly impractical: braille displays are expensive and most people don't even have them attached to their gaming devices, and any other tactile displays aren't likely to become anything resembling ubiquitous unless someone goes back in time and tosses ESense or Wave-bending at 2007 Apple's feet. That said, Mario's window output mode can display braille through NVDA or Jaws, at least (no word on Window Eyes/System Access/Supernova), and I intend to attempt some sort of braille support in future games. I can only hope that braille tech stops sucking at some point in the near future, so it will be more benefitial than gimmicky.
You will notice that I did suggest that all objects make sound, even though I also said that this could get messy. It's important to choose these sounds well, so that they don't drown one another out. I am also unconvinced that just playing most sounds on a loop is necessarily the best way to go; while it slows down information reception for audio-only players compared to graphical players, it's much easier to follow sounds like these if they play on a rhythm.
I also encourage getting these sounds to make as much sense in context as possible (and in the case of an accessible game with graphics, make the graphics cooperate). For example, if you're using birds to indicate a platform, maybe have the birds fly away when the player lands, and come back when they jump away. Or, if you're having something make a lot of creeking sounds, you might consider giving it a slight animation to show this (could be a lurching motion, or could just be a frame or two of the object appearing offset by a few pixels).
Conclusion: Audio Platforming is all by itself and still in the 1980s, at best. We can do better. As much as I want to get all the attention for something super awesome, someone better at making games that don't confuse people to death could probably apply these ideas FOR GREAT JUSTICE.
Some of my games
Keep up to date by following @Jeqofire on twitter!Ear Ninja?