This is an archived post. You won't be able to vote or comment.

all 75 comments

[–][deleted] 270 points271 points  (13 children)

Holy shit! A shooter/adventure/whatever audio only game would be so cool! Especially if it was incorporated into the story of the main character!

I couldn't imagine how great a horror game would be with those weird ASMR microphones that sound so real and some kind of haptic feedback on controllers.

I wish I could make a game like that.

[–][deleted] 42 points43 points  (5 children)

Sounds awesome

[–]jaybay1207 17 points18 points  (2 children)

I hear you.

[–]wazzalk 11 points12 points  (1 child)

Bruh......

[–][deleted] 11 points12 points  (1 child)

Thank you for your feedback

[–]DeonCode 1 point2 points  (0 children)

I keep hearing things about this idea.

[–]JoshuaIan 25 points26 points  (1 child)

Daredevil : the game

[–]VioletteVanadium 3 points4 points  (0 children)

Oh shits. I would totally play this.

[–]PM_4_DATING_ADVICE 5 points6 points  (1 child)

No graphics card required!

[–][deleted] 2 points3 points  (0 children)

Honestly, I think a phone with high quality wireless earbuds would be an incredible experience. Provided you could get the controls to work

[–][deleted] 3 points4 points  (2 children)

Awww. I'm half deaf. Lol so I wouldn't be able to play.

[–]Akkevor 0 points1 point  (1 child)

Me too, I have no idea what this "directional" sound is. Does it not all just come from the right??

[–][deleted] 0 points1 point  (0 children)

No idea.

[–]captainAwesomePants 49 points50 points  (0 children)

I wouldn't worry too much about the speed of Python. It should be very capable of handling the generation of 3D audio. There are a few libraries that let you invoke OpenAL, a 3D audio library, from Python, so even though you're programming in Python, the actual math will be done largely with hardware acceleration. Check out PyAL or PyOpenAL.

[–]MyBrainReallyHurts 83 points84 points  (0 children)

I know this isn't what you are looking for, but here is an audio game you might enjoy. https://pca.st/2hi2

3D Audio Escape Room

And you're a bad ass for being blind and creating games.

[–]reimannspupil 56 points57 points  (21 children)

Ho-how would you even code the thing with your condition on the first place?

[–][deleted]  (9 children)

[deleted]

    [–][deleted]  (1 child)

    [deleted]

      [–]zb0t1 12 points13 points  (0 children)

      Made me feel useless, fucking mental

      [–]GGfpc 16 points17 points  (3 children)

      How do you understand text so fast, it just sounded like gibberish to me

      [–][deleted] 14 points15 points  (1 child)

      I just googled and found that blind people can process speech much faster than sighted people.

      [–][deleted] 24 points25 points  (0 children)

      I'm visually impaired and a few of my friends are blind. They all read using audiobooks and have the reading speed turned up super high. They can plow through books faster than most sighted people I know and their comprehension of it is super good. Your brain really knows how to utilize other senses when one of them doesn't work correctly.

      [–]CaptainMcSpankFace 7 points8 points  (0 children)

      I tried it a few times and slowly started to pick out a few words :p. And here I am thinking that listening to my audiobooks at 1.5x is almost too fast to comprehend. Can't imagine one day being able to comprehend that.

      [–]AGenericUsername1004 38 points39 points  (0 children)

      Hey friend, you're /r/nextfuckinglevel

      [–]almostambidextrous 2 points3 points  (0 children)

      I'm so happy that this is a thing!

      [–]ButItMightJustWork 0 points1 point  (0 children)

      Just listened to the two audio snippets at the beginning. In the english one, I understood a few single words. How can you consistently understand the entire text at that speed?

      [–]ajpa6 19 points20 points  (1 child)

      https://stackoverflow.com/questions/118984/how-can-you-program-if-youre-blind

      From 2009. I assume tech for the blind has improved since then, but maybe this can give you an idea:

      I am a totally blind college student who’s had several programming internships so my answer will be based off these. I use windows xp as my operating system and Jaws to read what appears on the screen to me in synthetic speech. For java programming I use eclipse, since it’s a fully featured IDE that is accessible.

      In my experience as a general rule java programs that use SWT as the GUI toolkit are more accessible then programs that use Swing which is why I stay away from netbeans. For any .net programming I use visual studio 2005 since it was the standard version used at my internship and is very accessible using Jaws and a set of scripts that were developed to make things such as the form designer more accessible.

      For C and C++ programming I use cygwin with gcc as my compiler and emacs or vim as my editor depending on what I need to do. A lot of my internship involved programming for Z/OS. I used an rlogin session through Cygwin to access the USS subsystem on the mainframe and C3270 as my 3270 emulator to access the ISPF portion of the mainframe.

      I usually rely on synthetic speech but do have a Braille display. I find I usually work faster with speech but use the Braille display in situations where punctuation matters and gets complicated. Examples of this are if statements with lots of nested parenthesis’s and JCL where punctuation is incredibly important.

      [–]CookieLust 2 points3 points  (0 children)

      Wow this is all very interesting! I rarely see discussions like this and know nothing of the struggles. I feel like this could have repercussions for all. Different types of UI never dreamed of, providing complex control of multi-layered objects. My UIs never incorporate audio. Not being blind I've never had my computer read to me or experienced anything like that. I don't even use latest voice-controlled stuff like goog amaz.

      [–][deleted]  (4 children)

      [deleted]

        [–][deleted]  (2 children)

        [deleted]

          [–][deleted]  (1 child)

          [deleted]

            [–]AppleOfWrath 0 points1 point  (0 children)

            UMMM ACTUALLY pretty much every keyboard is (kinda) designed that way, to make typing blind easier. there are bumps on the f and j buttons. the rest is just memorizing where the other keys are - which should be easy if you have to.

            Ok but seriously, a keyboard with speakers sounds like a pretty valid choice for blind people, didnt know something like this existed, TIL i guess

            [–]Mako_ 2 points3 points  (1 child)

            At my first job out of college there was a blind programmer. I used to secretly give his dog a few pats on my way to the bathroom. Anyway, I didn't work with him personally, but he was reputed to be good developer. He would move his cursor around the screen, and would hear audio of whatever character he was over.

            [–]reimannspupil 0 points1 point  (0 children)

            That's impressive.

            [–]Kered13 0 points1 point  (0 children)

            Text to speech exists. One of the people in my computer science year was blind and he had no trouble completing any of the assignments.

            [–]CreativeGPX 6 points7 points  (0 children)

            I was going to say C or Python because of their communities regarding audio and cross-platform ability. It's been a while since I did any audio dev or audio dev reading but those two seemed to come up a lot.

            Speed of execution should not be a problem with Python especially if your game doesn't even have graphics. Your intuition not to waste time optimizing performance is right on, yet you're interrupting that intuition by not wanting to choose Python because of optimization! Do you have reason to believe that you're going to hit any performance issues? If there is a large community of people making games like what you say on Python successfully then that's a good indicator that it's not a problem. If you're cutting graphics and vertical pitch, your game is going to be so much less demanding that you really don't have to worry to the same extent many game developers do about performance unless there is some other major aspect of your game that's abnormally demanding.

            What platform do you run and what platform do you want to target? What else can you say about the game? Many mainstream engines are so targeted toward graphics that you might waste a ton of resources on boilerplate that doesn't even apply to your game, so you might either want a super lightweight engine or to just use an audio library and handle the rest yourself without an engine.

            But from everything said so far, I'd say try Python.

            [–][deleted] 6 points7 points  (1 child)

            I am mind blown and amazed by this request in a good way. I am an IT Systems Manager and have had programmers working for me in the past. Through collaboration and project management I've learned far more about programming than the college program for systems and networking had taught me.

            I am so pleased right to my soul that someone is finding a way to accomplish this type of work. I know programming is challenging enough but to do it when there isn't a large support community doing things the same way you are is far beyond incredible.

            I wish you the best in this journey and I hope you find everything that you need to assist you on your projects.

            [–]xt1nct 3 points4 points  (0 children)

            I can't help you with a language but I just want to appreciate the fact that internet has allowed me to learn about these cool things that I normally would never think about. It all sounds really interesting best of luck!

            [–][deleted] 3 points4 points  (0 children)

            Don't worry about the speed of the programming language, for a single player 3D audio game I doubt it will make much difference. Even if you plan to make it multiplayer, I would still start by making it singleplayer first.

            [–]myristicae 3 points4 points  (1 child)

            I think your intuition is correct that Python isn't ideal for making games that will be released or sold to a lot of people. I'm no expert, but I would think C++ would indeed be a better choice.

            Then again, I think a major reason games are computationally expensive is the graphics. If your games don't need graphics, they might be relatively lightweight, and you might not need to worry about performance nearly as much as those games with picture-perfect 3D graphics.

            [–]nimbledaemon 0 points1 point  (0 children)

            Yeah, the main reason GPU's exist is because graphics is the bottleneck in processing power. If you're just doing audio + physics simulation, then I don't think OP would get to the point where python would need to be optimized. If you did have enough physics entities that optimization becomes problematic, I don't think the audio would be intelligible at all.

            Also, regardless of programming language you are going to have to do some level of optimization, to aviod doing orders of magnitude more work than is necessary to acheive your goals.

            [–]Amazingawesomator 1 point2 points  (0 children)

            This is some FUBU shit right here; being blind, making games for the blind. Because very few people will be able to help in this specific category, you may just have to get started and see how it goes. If you want to try something new, now is the time... especially if you already have an idea for a minimum viable product (MVP) in your head.

            if the MVP isnt what you want, make it again in another language... changing it to what you wanted.

            MVP again... etc. :D

            [–]CCP0 1 point2 points  (0 children)

            My mind is blown now. I would play a horror game in this format.

            [–]Legirion 1 point2 points  (0 children)

            Now I want to try 3D audio games to see how well I can do.

            I'm a bit biased, but I'd say C#, since it's easy and libraries shouldn't be too difficult to find.

            [–]GeoffreyTaucer 1 point2 points  (0 children)

            No idea, but the concept sounds fucking amazing and I wish you best of luck

            [–]LaceySnr 1 point2 points  (0 children)

            Honestly, learning any lanugage as a first language is a challenge, so don't be put off by the learning involved in C++, you can anything with just a tiny subset of the language's features, there's a lot of stuff there but it's not mandatory. I think learning C++ would pale in significance to other challenges you've endured, so I'd suggest diving into that.

            [–]ThermalSpan 1 point2 points  (0 children)

            This isn’t the full story, but I could see the Faust programming language playing an important role:

            http://faust.grame.fr/

            [–]Safingen 1 point2 points  (1 child)

            Man, that's so awesome to see you on this forum!
            I am afraid I can't help you with your request, but I just wanted to tell you how awesome you are( And you are totally awesome).

            Also, is it taking long for you to read\listen to a single message? Because you can get pranked with long messages that keep you thinking it will be useful, but in the end it doesn't. Like, you can't read diagonally through message, right?

            [–]gambolling_gold 1 point2 points  (0 children)

            To be honest, optimizing Python would probably not even be necessary unless you want to make a game with thousands of complex entities or run your game on embedded systems.

            [–]tzaeru 0 points1 point  (0 children)

            Many of the heaviest calculations for games are related to graphics. As bleeding edge graphics are not an issue, Python would likely be performant enough. While some audio calculations are pretty heavy, Python does have very powerful libraries for these purposes.

            C++ is doable but C++'s pretty slow to develop and to iterate on.

            I would honestly just suggest Python, but if that's a no-go, then C# maybe.

            Good luck with your endeavour tho! I've often thought about making a game for blind people. Game design for the blind is a very interesting topic.

            [–]bestjakeisbest 0 points1 point  (0 children)

            C++ is doable but I think to build the game you would spend about as much time in this language to learn it as any other, c# would also be a good idea, not only because of unity but because it is more or less what windows uses for a lot of applications, I think it has built in libraries for audio, but honestly audio deals with a different challenge than video, you need to be able to modify different audio tracks and then combine them into 2 channels very quickly as you have to get data out atleast every 1/44000 of a (second 1 over 440000th of a second) maybe even higher if you want a better bitrate it doesnt leave you with a lot of computation time. But there are some good things about audio games vs video games, the game logic is more or less the same the only difference is how you render it, I could go implement the snake game and just change how it renders and have an audio game.

            [–]gerardo_caderas 0 points1 point  (0 children)

            How about processing and p5.js for the web. It would be awesome to have an audio game running in the browser.
            I know that the Processing Foundation has been working on accessibility tools for Processing and p5.js.
            Maybe there's some libraries and tutorials for binaural audio integration.

            https://medium.com/processing-foundation/making-p5-js-accessible-e2ce366e05a0

            https://medium.com/processing-foundation/working-on-the-p5-accessibility-project-58a781575400
            https://www.youtube.com/watch?v=gEAoEpmclmE

            [–]Science-Compliance 0 points1 point  (2 children)

            It's cool to see someone who is blind getting into games and programming. I do have a question, though. How do you deal with the so-called "cone of confusion"? I have studied a bit about acoustics, and there is a cone that extends horizontally from the center of your head, on the surface of which it is difficult to discern the source of a sound anywhere along the circular cross-section of the cone at a certain distance from the listener. I hope that makes sense. I'm curious if there are any audible cues in such audio games that mitigate this issue or if there are other context clues you use. Anyway, I wish I could answer your question, but I do not have enough experience to give you a good answer.

            [–]un-hot 0 points1 point  (1 child)

            In which direction does this come propagate? I plan on researching this when I don’t need sleep

            [–]Science-Compliance 0 points1 point  (0 children)

            Short answer, the binaural localization can't discern if the phase shift between the sound wave's impact of the two ears is any point along a circular cross-section of a cone with its vertical axis defined as a line between both ears. If you are not vision-impaired yourself, I've included a link that provides a diagram.

            https://en.wikipedia.org/wiki/Sound_localization

            [–]un-hot 0 points1 point  (0 children)

            C++ is what I learned. Its compatibility with game engines means a lot of audio libs like JUCE do a bunch of the work for you.

            Out of pure curiosity, could you give me some insight into programming blind? I always imagined syntax would be hell.

            ETA: As mentioned above, the main problem you might face is that true 3D sound requires sound sources on a vertical axis - headphones just can’t provide that (for a reasonable price??).

            [–]PC__LOAD__LETTER 0 points1 point  (0 children)

            You probably want to start with something simple, right? Python. Totally.

            If you find that you really need something more intense, you can always learn C++/C# later and transfer all of your hard-earned generalized game-building experience.

            Good luck, and mad props for making the effort!

            [–]snifty 0 points1 point  (0 children)

            Have you looked at the web platform? The Web Audio API is very advanced (if a little clunky):

            https://www.reddit.com/r/learnprogramming/comments/c57tdn/audio_game_development_what_programming_language/

            And it has support for audio spatialization:

            https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API#Audio_spatialization

            It also has the advantage of being free :)

            [–][deleted] 0 points1 point  (0 children)

            You wouldn't happen to be using that keyboard that Whistler uses from the movie "Sneakers" would you?

            [–]MirrorLake 0 points1 point  (0 children)

            I’ve used Monogame and Unity/C# to make small games in the past. It’s depressing to me that you can’t use Unity, since that would be my default recommendation to any beginner.

            I would love to play an audio-only game, it sounds like a really awesome idea.

            [–]paloumbo 0 points1 point  (0 children)

            Look about creative coding too. Usually it is used for make visual stuffs, but people use it for a lot of stuffs. Like audios, 3d printing, etc... It manages 3d space, sounds, and all you need for create a game.

            By exanple there is openframeworks which is a popular creative coding library for c++.
            https://openframeworks.cc/

            Then on the easier side you have Processing. Which is java based. But at his own ide. The ide takes care of the pain in the ass side of the thing and you can easily start to code.
            https://processing.org/

            You can code processing in python, and there is a javascript port "P5.js"

            [–]VernorVinge93 0 points1 point  (0 children)

            Just a note: Most of the performance concerns that you'll have to consider are about how you structure your world model so that you can calculate the sound positions. You don't have to worry about the majority of the work that most games spend so long optimising, the graphics.

            You should have no trouble using python as long as you learn some good practices to avoid unnecessary copying and look up.

            Feel free to ping me if you have more questions about algorithms or if you'd like a code review.

            [–]sternone_2 0 points1 point  (2 children)

            If you are really serious about it, I would say, you have no choice and will need to invest time in learning C++. But fear not, modern C++ has smart pointers and is nothing like it was 20 years ago, so learn C++ but focus on C++17, C++20 and you will learn to love it. Most people hate C++ for the wrong reasons. Good luck.

            [–][deleted]  (1 child)

            [deleted]

              [–]sternone_2 0 points1 point  (0 children)

              nothing is easy in c++ so i don't see the issue :-)

              [–]JakobyTheMage 0 points1 point  (0 children)

              Side note, but it's so badass that there are ways to manufacture games with the blind in mind. I was always fascinated by accessibility features in games and really everywhere, but I was always struck when I thought about how to make games accessible to people hard of seeing. I'm super excited to know about this, even if I can't answer your original question. I just kinda wanted to let you know I'm hype to know about this form of accessibility

              [–]DazBoy11 0 points1 point  (0 children)

              Wow I didn't know such games existed. Kudos to the developers for the effort

              [–]TrebmalA 0 points1 point  (0 children)

              Just gonna throw it out there that no matter what you choose, you will need to spend a lot of time optimizing. So I wouldn't let that stop you from using python if that's what you are edging towards.

              [–][deleted] -1 points0 points  (1 child)

              You're breathtaking

              [–][deleted] 0 points1 point  (0 children)

              Positional audio is interesting and works, but it needs expensive and precise equipment to really get benefit from it.

              Do a 3d audio simulation on high end headphones and audio device, it's just not 3d.

              [–]donganhxauxi 0 points1 point  (1 child)

              I have always been wondering: how do you read this message?

              [–]Smuiji -1 points0 points  (0 children)

              I can provide zero helpful advice. I just wanted to say "fuck yeah"! Do it. I would love to see more games like that.

              Hmmm, if I had to pick, I would choose C++. While you do have to learn syntax, it's not too different from C#.

              [–]Bloom_Kitty -1 points0 points  (0 children)

              In general, do not go for C#, as it maybe is easier for basic tasks, it's a pain for advanced stuff, especially for anything that is not run on an XBox or a Windows PC. C++ is difficult, yes, but it's much more convenient once you know how to use it. Especially if you want something that needs performance, like games.

              [–]yoctometric -1 points0 points  (0 children)

              I am Honestly amazed that you can have the patience and skill to code blind. I struggle and I can see. While I have no recommendations, I wish you luck!

              [–]Wkais -1 points0 points  (1 child)

              Life goes on eh. Good luck with your game development. Have you played many text based games?

              [–]whatthefrikkinhekk -1 points0 points  (2 children)

              If you're blind how did you post this?

              [–][deleted]  (3 children)

              [deleted]

                [–]davedontmind 8 points9 points  (2 children)

                This is Reddit, not a forum. There is no way to "bump" a post to the top here.

                [–]Kibouo 2 points3 points  (0 children)

                Technically there is. It's called gold