Re: First person spatial audio - Constraints vs freedom

2021-03-15 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: First person spatial audio - Constraints vs freedom

I think that limiting players to a grid can definitely make the understanding of movement and spatial positioning more obvious.I have heard that Undead Assault is an FPS that restricts you to grid movement and turning, though I have not experienced it properly myself.That said, I think it takes something away from the aesthetics of the game. Further, first person shooters and other action games can benefit from the mechanic of precise aiming with the mouse.Swamp would be a good game for you to try, since it has a free single player mode, and is a first person shooter with some very low vision graphics you can turn off.A Hero's Call (AHC) would be another interesting one for you to test, though it does not have a free demo.In Swamp, aiming with the mouse gives the best experience for aiming at zombies and making precise shots.But the hot keys for turning snap you to face cardinal/ordinal directions so you can quickly orient for navigating.Moving into a new region speaks the name of that region.The maps come with built in beacons for the interesting locations, and you can enable one to get a direction and distance announcement, as well as a beeping sound in the direction of the beacon as the crow flies.There is a configurable radar which plays repeating beep sounds on points near your character, using different sounds to indicate walkable versus wall terrain.My descriptions will not do any of this justice. You should definitely test the game for yourself.There is no need to aim in A Hero's Call, so using the mouse is not really important.That said, it still uses continuous rather than discrete movement and allows you to use the mouse to turn to face any angle.The hot keys for turning only snap you to cardinal directions.It uses the same region announcement as Swamp.It also has a forward speech scan that announces changes in region and blocking terrain in front of you.I think the automatic forward speech scan is too verbose and detracts significantly from the atmosphere of the game (and I am the one who conceptualized and built that feature), but I still think it is nice to be able to press a key and find out about things in front of you at a distance.It is a worthwhile feature. I just think the automatic version should be disabled by default to help the game's atmosphere.It also has a different style of radar than Swamp. Instead of constantly beeping around your character, it only plays beeps to indicate changes in walkable versus wall terrain around you as you move.Imagine that you have a wall to your left and are moving forward.Suddenly the space to your left becomes more open as you pass an alley way, so a sound plays to your left to indicate that the left is now more "open".As you keep moving forward you completely pass the alley way and now have a building to your left, so a different sound plays to your left to indicate that the left is more "closed".I conceptualized and built that feature because I would sometimes miss a doorway to my left in Swamp because the beeping sound takes time to cover all points and you can easily walk passed a doorway even when you were trying to listen for it.I think it is a good feature, especially for navigation inside buildings, but may have inadvertantly led to AHC maps being built to be too maze like, as though everywhere is in doors.AHC also has a beacon system, though it uses path finding to give players precise directions to their destination, rather than a beacon as the crow flies as Swamp does.When enabled you will hear a voice in the direction you need to travel, saying the name of the cardinal/ordinal direction you need to travel.Swamp's author intentionally chose the crow flies option because he wanted players to retain the challenge of finding their way around buildings and other obstacles, but to still know the general direction they needed to travel.We intentionally added the path finding option to AHC to make things as easy as possible for players who have difficulty with first person navigation.Both games use maps built on grids of terrain tiles, though they use continuous movement.I agree with Camlorn that most blind gamers who have been blind for several years will be much better at navigating audio environments than sighted players.We have just had much more practice at it.That said, I have known gamers who were blind from birth who had very poor spatial reasoning, and as he mentioned, gamers who become blind later in life will have had much less practice.You can see a similar difference in what practice can do when listening to text to speech (TTS) speeds.Listen to some TTS on your computer at a speed that is comfortable for you, then listen to some recordings of blind people listening to TTS.We usually have it at much higher speeds. Speeds that cause most sighted people's initial response to be "You can understand that?"Though even within the blind community there is a lot of variation. 

Re: SAPI seems to be laggy

2021-02-23 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: SAPI seems to be laggy

@keithwipf1, is the lag you are talking about different than the lag Camlorn is talking about with NVDA and SAPI?If so, can you share a small example of your own code that has the issue?Preferrably a small project that is ready to build, test, and tweak, with just the SAPI code demonstrating the issue.I understand that other games have the issue as well, but since you said A Hero's Call does not have the issue I would like to see if I can figure out what is different and causing it in some games but not others.You can email it to me at i...@blindaudiogames.com if you like.

URL: https://forum.audiogames.net/post/617684/#p617684




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Questions about C#

2021-02-21 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Questions about C#

@BoundTo:The easiest thing is to put all the Tolk dlls in the same folder as your .exe file.If you don't like doing that, you can create a config file that sits by your .exe file and tells the .exe file where to find dlls.It must be named with the exact name of the .exe, with an extra .config extension on the end.So MyProgram.exe would get a MyProgram.exe.config file.That file would contain something like the following:                                    That tells it to look in the lib and lib\Tolk folders for dlls.This makes it so the Tolk.net.dll and the tolk.dll can be placed in the lib or lib/Tolk folders.Unfortunately the other dlls still have to be in your main .exe folder, unless you modify Tolk and rebuild it.What happens is that your main program is running in the .NET framework, so it reads that config file and finds tolk.net.dll in the lib/tolk folder.Then tolk.net.dll is also running in the .NET framework so it uses the same configuration to find the native tolk.dll in the lib/tolk folder.Then the native tolk.dll tries to find nvdaControllerClient32.dll and others, but since it is native, it doesn't know/care about that .NET config file, so it looks in the current working directory, which is usually the same folder as your .exe file.So to recap, though there are ways to get around it, it is just much easier to put all the dlls you need in the same folder as the .exe file.Just FYI, I personally use Windows Forms to create the basic window and capture keyboard and mouse input, but I do not use all the windows forms controls when making games.I usually just output through tolk for games.I also use my own UI library that wraps UIAutomation and relies on some basics from windows forms, but that is more for general applications that need good textbox support and such, not for games.You could certainly use normal windows forms controls if you were going to make a general application, or if you need a textbox for brief periods in your game.You can use XInput and DirectInput wrappers to get gamepad support.You can use a windows forms timer to implement an onTick/update method that runs many times a second.It cannot run as often or as accurately as a separate thread, but it should be plenty for audio games, and it runs on the same thread as all your windows forms logic, which lets you avoid cross thread issues.I noticed a couple unfortunate  things when using MonoGame in the past.One was that if you alt tabbed away from the window and left it for a little while, the MonoGame window would start to consume all of one CPU. I'm not sure why, and perhaps it has been fixed in a more recent version.The other was that MonoGame will crash on startup if someone is using an unsupported video card driver, even if you are just displaying a blank window.If you are only building audio games, it is unfortunate to have some blind players excluded from playing due to a video driver or video card issue, since it seems pretty unrelated.I haven't had those problems with windows forms, which is one reason I still use it.I haven't tried SDL and other game libraries, so they may work well. I'm not trying to sway your decision of which libraries/frameworks to use, just trying to share some of my own personal experience for what it is worth.Hope some of this is helpful.Edit:If you use windows forms, you should use this line in your form constructor:this.KeyPreview = true;It makes it so your form will get to see key events before other controls. Otherwise other controls can intercept and mark them as handled so the form never sees them.

URL: https://forum.audiogames.net/post/617368/#p617368




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Questions about C#

2021-02-21 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Questions about C#

@BoundTo:The easiest thing is to put all the Tolk dlls in the same folder as your .exe file.If you don't like doing that, you can create a config file that sits by your .exe file and tells the .exe file where to find dlls.It must be named with the exact name of the .exe, with an extra .config extension on the end.So MyProgram.exe would get a MyProgram.exe.config file.That file would contain something like the following:                                    That tells it to look in the lib and lib\Tolk folders for dlls.This makes it so the Tolk.net.dll and the tolk.dll can be placed in the lib or lib/Tolk folders.Unfortunately the other dlls still have to be in your main .exe folder, unless you modify Tolk and rebuild it.What happens is that your main program is running in the .NET framework, so it reads that config file and finds tolk.net.dll in the lib/tolk folder.Then tolk.net.dll is also running in the .NET framework so it uses the same configuration to find the native tolk.dll in the lib/tolk folder.Then the native tolk.dll tries to find nvdaControllerClient32.dll and others, but since it is native, it doesn't know/care about that .NET config file, so it looks in the current working directory, which is usually the same folder as your .exe file.So to recap, though there are ways to get around it, it is just much easier to put all the dlls you need in the same folder as the .exe file.Just FYI, I personally use Windows Forms to create the basic window and capture keyboard and mouse input, but I do not use all the windows forms controls when making games.I usually just output through tolk for games.I also use my own UI library that wraps UIAutomation and relies on some basics from windows forms, but that is more for general applications that need good textbox support and such, not for games.You could certainly use normal windows forms controls if you were going to make a general application, or if you need a textbox for brief periods in your game.You can use XInput and DirectInput wrappers to get gamepad support.You can use a windows forms timer to implement an onTick/update method that runs many times a second.It cannot run as often or as accurately as a separate thread, but it should be plenty for audio games, and it runs on the same thread as all your windows forms logic, which lets you avoid cross thread issues.I noticed a couple unfortunate  things when using MonoGame in the past.One was that if you alt tabbed away from the window and left it for a little while, the MonoGame window would start to consume all of one CPU. I'm not sure why, and perhaps it has been fixed in a more recent version.The other was that MonoGame will crash on startup if someone is using an unsupported video card driver, even if you are just displaying a blank window.If you are only building audio games, it is unfortunate to have some blind players excluded from playing due to a video driver or video card issue, since it seems pretty unrelated.I haven't had those problems with windows forms, which is one reason I still use it.I haven't tried SDL and other game libraries, so they may work well. I'm not trying to sway your decision of which libraries/frameworks to use, just trying to share some of my own personal experience for what it is worth.Hope some of this is helpful.

URL: https://forum.audiogames.net/post/617368/#p617368




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: SAPI seems to be laggy

2021-02-20 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: SAPI seems to be laggy

A Hero's Call passes text to a speech thread, which in turn calls the SAPI or Tolk APIs so that the main game thread never has to wait.I did that because SAPI was laggy, but if I recall correctly it was in terms of single digit milliseconds, not half a second, so you may want to debug it more to see if there is something else you can fix.You are passing the async flag when speaking text, right?As I look at that code I also see a comment I left myself about passing null instead of an empty string when using the PurgeBeforeSpeak flag to cancel speech without having something new to speak.I was getting big delays when passing that flag and passing an empty string instead of null, though NULL is probably the obvious choice if you are in C/C++.This was all using the SPVoice COM object through C#, and tested on Windows 7, not Windows 10.Hope some of that is helpful to you.

URL: https://forum.audiogames.net/post/617114/#p617114




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: How can I get input using SDL without this strange edit box popping up

2020-09-24 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: How can I get input using SDL without this strange edit box popping up

@keithwipf1:Most games want to pay attention to both key down and key up events, as well as remember which keys are currently held.Consider jumping in Super Mario Brothers or Donkey Kong Country.When you press down the jump button, the code initiates your jump immediately.It then increases your height until you either release the key, or reach the maximum height you are allowed to jump.Then it reduces your height until you land.If you only paid attention to the key up event for a jump, then you would not jump until you released the key, which would both feel laggy, and not allow you to adjust how high your jump is based on how long you hold the button.Obviously you don't need behavior that advanced in a menu, but waiting for the key up event tends to add between 60 and 90ms of extra latency when I am trying to press and release the key quickly, and between 100 and 200ms when I am pressing keys in a more casual way as I would in a menu.I can send a network packet from San Francisco to London in about 70ms, so wasting that much latency on waiting for a key up instead of a key down seems unnecessary.Someone has a _javascript_ example that measures the time between your key down and key up events here, though it would be trivial to make your own more accessible test:http://jsfiddle.net/jfriend00/AveZP/It is not hard to ignore repeat key down events.Both SDL and win32 provide information with the key down event that tells you whether it was a repeat key or not, so just check that value and ignore the repeat keys.In addition, you usually want to remember which keys are currently held anyway, which would also allow you to know if a key down event is a repeat key by checking it against your array of held key states, just in case the input API were not telling you whether it was a repeat key.There are some situations where waiting to perform the action until you receive a key up is the right choice.For instance, the Humanware Victor Reader Stream waits for key up events before performing actions.This is because some of the keys perform a secondary action if you hold them instead of just quick pressing them.Obviously you can only determine if a user is going to quick press or hold for multiple seconds by waiting until the key up fires or a certain amount of time passes after receiving the key down event without receiving the key up event.In this case, the key down event is still important because it marks the start time.Players may appreciate key repeat in very large menus, such as an inventory with no limit to the number of items it can hold.I definitely had complaints when I accidentally disabled key repeat in Tactical Battle grids, as people would use it to move their review cursor across the map quickly.You can also support page down and page up keys, or control arrow keys to jump by larger amounts as an alternative to key repeat.If you actually want to use key repeat, but do not want players to configure it in windows themselves, you can always simulate key repeats within your game by recording the timestamp when a key was first held, then triggering repeats at certain intervals.Bokurano Daibouken 3 and ShadowRine seem to do something like this with their tile camera / field viewers.You could do something similar for a pistol that you have fire again after a cooldown time.For something with constant fire like a machine gun or flame thrower I would just pay attention to the fact that the key is held and deal a small amount of damage on every frame, keeping a constant fire sound looping seamlessly.Also worth realizing that double click or double tap actions either require you to always wait long enough to detect the second tap, or ensure the single click action is impotent or naturally extended by the double click action.An example of the latter would be how single clicking the mouse on an icon in windows selects that item, and double clicking activates it.It makes sense that activating an item would also select it, so having the single click perform the first part of that sequence is fine and can be responded to immediately.Fighter style games such as the Street Fighter, Mortal Kombat, or Killer Instinct series actually incorporate initiating animation sequences for actions and then aborting those if you follow them up quickly enough with additional key presses that change the initial action into a combo / special move.They also keep a history of key down and key up events with timestamps so they can detect those combos that are a sequence of key presses.Hope some of this information is helpful.

URL: https://forum.audiogames.net/post/573789/#p573789




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: How can I get input using SDL without this strange edit box popping up

2020-09-19 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: How can I get input using SDL without this strange edit box popping up

@keithwipf1, I have not used SDL, but hopefully there is a way you can get the character inputs for your menus without rendering a textbox.Windows actually sends WM_KEYDOWN, WM_CHAR, and WM_KEYUP messages.The WM_CHAR messages give you the UTF16 character that was produced by the keyboard, taking into account whether shift was held, caps lock was on, and any OS keyboard layout or language settings that may affect it.I see that this page talks about getting the UTF16 unicode value from the SDL_keysym.unicode field:https://www.libsdl.org/release/SDL-1.2. … board.htmlIt looks to be documentation for an older version of SDL. Hopefully it still works in your version.

URL: https://forum.audiogames.net/post/572236/#p572236




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Using Tolk with C++?

2020-09-06 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Using Tolk with C++?

@Ty, you will want to download the pre built binaries, and also clone the repository.Visit https://github.com/dkager/tolkDownload the pre built binaries using the "Latest build from AppVeyor" link, then unzip them.Then use git on the command line to clone the repository like so:git clone https://github.com/dkager/tolkIn the examples folder of the repository there is a C++ folder.Copy the pre built binaries from the tolk.zip/x86 folder into that C++ folder.Open a Visual Studio command prompt that has cl in its path and change to that C++ folder.Then run build and read the output to ensure it built without errors.Now you can run ConsoleApp.exe and hear that the first thing it says is "Hello world", which is not actually printed to the console, but rather sent to your screen reader directly.Review the ConsoleApp.cpp file to see how the example works.To add it to your own project, follow these steps:1. Copy all the dlls from the pre built folder to your own build folder, so when you run your exe it can find the dlls in its own folder.2. Copy tolk.h from the git repository src folder to the folder of your own source files.3. Add #include "tolk.h" to your own .cpp file, along with code to call tolk functions like you see in the example file.4. Add tolk.lib to the end of your compiler command, and copy tolk.lib from the pre built binaries folder to the folder in which you run your compiler command.Just a little explanation:Tolk.lib is just a stub file that makes it easy for your C++ program to call functions located in Tolk.dll.Linking against it saves you from writing some boiler plate C code to load the dll and look up the function pointers.Tolk.h defines those functions, so you need to #include it.Hope this is helpful.

URL: https://forum.audiogames.net/post/567910/#p567910




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Generic windows forms accessibility for generic screen readers

2020-04-14 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Generic windows forms accessibility for generic screen readers

I just tested with the following code:    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            var b = new Button();            b.Text = "Press me";            this.Controls.Add(b);            var b2 = new Button();            b2.Text = "Press me 2";            b2.AccessibleName = "B2's accessible name";            this.Controls.Add(b2);        }    }I tested by:Creating a .NET Framework 4 client profile WinForms app in VS 2010.Creating a .NET Framework 4.8  WinForms app in VS 2019.Creating a .NET Core 3.0 WinForms app in VS 2019.I tested with both NVDA and JAWS.When tabbing between the buttons, all scenarios spoke exactly the same.They said "Press me button" for the first button, and "B2's accessible name button" for the second button.JAWS also spoke a help tip telling meI could press spacebar to activate the button, but I'm sure that can be turned off in JAWS settings.There was no duplicate speaking of text and accessible name that I noticed, and the buttons always spoke.I am running Windows 7, so perhaps running on Windows 10 gives different results.Or perhaps you are using a different framework version than I tested with.If you like, you can email me your program/solution at i...@blindaudiogames.com and I will test it to see if it works any better for me, or perhaps I can spot the difference that is causing the issue.Quentin C is kind enough to publish the playroom statistics:https://qcsalon.net/en/stats?generalUnder the "Screen readers used" heading you can see that JAWS is used by 43.84%, and NVDA is used by 51.5%, out of 13,244 users.That accounts for 95.34% of the users included in the stat.Personally, I would only worry about supporting NVDA and JAWS on Windows.And as Camlorn said, using the operating system controls (which WinForms does) should not require any extra work on your part to get decent accessibility.Speaking extra notifications through Tolk can be a good idea if used appropriately.

URL: https://forum.audiogames.net/post/519637/#p519637




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Regular Expression: Match X, Not Y

2020-03-28 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Regular _expression_: Match X, Not Y

Try this:The ball hits ((?!you).)+It uses the negative lookahead you mentioned.https://www.regular-expressions.info/lookaround.html

URL: https://forum.audiogames.net/post/513237/#p513237




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: ALure and linker errors

2020-01-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: ALure and linker errors

@pauliyobo, that is no problem. Send me an email.To be clear, this is just an example I quickly threw together for Lightsome.It is mostly so he could examine my sound API and how I call into OpenTK and the decoders to get everything working together.It is not an interesting example of HRTF. It just plays a sound in front and to the left of the listener.I expect Lightsome to make it more interesting by moving the sound around on its own or in response to keyboard input.I just want that to be clear so you are not disappointed.

URL: https://forum.audiogames.net/post/494960/#p494960




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: ALure and linker errors

2020-01-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: ALure and linker errors

Hi sanslash332.I'd rather not share a public link until it is more polished.That said, if you email me I will share the same version I shared with lightsome with you.I can imagine the difficulty of not being a native English speaker.That is why my future projects will all have built in Google translation to any language, just like AHC did.I have some OCD that makes writing emails or posts take a very long time, so I prefer voice chat, but I will email with you a bit due to the language barrier.

URL: https://forum.audiogames.net/post/494910/#p494910




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: ALure and linker errors

2020-01-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: ALure and linker errors

Hi lightsome.In C# I use OpenTK to wrap OpenALSoft for HRTF and playback, and NLibsndfile to wrap libsndfile for reding audio formats like ogg, flac, and wav.I use NAudio to read mp3 files, and OpusFileSharp to wrap libOpusFile for reading opus files.If you would like some help getting HRTF playback working with OpenALSoft, email me at i...@blindaudiogames.com and I'll put together some example code that we can discuss on a skype call.It takes me much longer to type up an explanation than it does to explain over the phone, and I would need to take a lot more time to review my example code if I were sharing it publicly.

URL: https://forum.audiogames.net/post/494864/#p494864




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Jgt and nvda 2019.3.

2020-01-08 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Jgt and nvda 2019.3.

No, the bulk of the codebase remained the same.I haven't altered the code in quite a while, so there was a bit of time just refreshing my memory on how it all works.I don't normally code in python, and had no idea about the differences between python 2 and 3 before trying to do this upgrade.A lot of the differences were about changing how imports are written, and how unicode and strings are handled in python 3.And some of the library code I relied on didn't work in python 3 so I had to fix that or find alternatives.I looked at some other 2019.3 addons to get examples of how to fix most of the issues.I actually didn't notice any differences in the NVDA API calls I was making, all the differences seemed to be caused by the upgrade to python 3.So that is good NVAccess was able to keep backwards compatibility with at least their own API.

URL: https://forum.audiogames.net/post/491407/#p491407




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Jgt and nvda 2019.3.

2020-01-08 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Jgt and nvda 2019.3.

I've been working on upgrading JGT to support NVDA 2019.3 over the past couple days.It is almost finished.

URL: https://forum.audiogames.net/post/491397/#p491397




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Help with git bash

2020-01-05 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Help with git bash

You can create/edit a .bashrc file located here:C:\Users\YourUser\.bashrcYou can put any commands in it that you want to run every time you open git bash.I used it to change my prompt, add some aliases for git, and add some paths to my executable PATH variable.This only works if you are ok with these commands running every time you open git bash, not just for one shortcut versus another.Hope that helps.

URL: https://forum.audiogames.net/post/490705/#p490705




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Question on how to navigate C++ files with narration

2019-12-09 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Question on how to navigate C++ files with narration

Press F12 on a function or variable to go to its definition.Press shift F12 on a function or variable to find all the places that reference it.Press control F to use the find text feature.The find dialog lets you choose to search within the current document, the current project, or the current solution/workspace.Press control - to move back to the place you were before you pressed F12 to go to definition.Press control shift - to move in the opposite direction of that history.Press control comma to search for symbols (rather than just text), like the name of a class or the name of a method.Edit: A few more things I thought of.Press control M O to collapse functions/methods so you can quickly read just the definitions by arrowing by line.Press control M M on a method to collapse or uncollapse it.Press control M L to uncollapse or collapse everything in the file.I often use control M O to collapse all the methods, arrow up and down to find the method I want or just quickly review them all, then control M L to uncollapse everything.Press control left and right to move by word.Press control tab to switch between recently opened files, similar to alt tab for switching between open applications in windows.Press whatever the hot key is for getting to the solution explorer / treeview. I use an older version of Visual Studio with C# settings, so for me it is control W S.Once in solution explorer you can just start typing the name of the file to quickly navigate to it, or repeatedly type just the first letter to cycle through all folders/files that start with that letter.I find that it is easier to leave all the projects and folders expanded in the treeview so that typing the name or first letter work. (since they won't take you to a file that is under a collapsed tree node.)There is an option under tools > options to automatically expand the treeview and focus the file currently open in the text editor.I don't remember exactly where, but it shouldn't be too hard to find.Press control right bracket ] when the keyboard caret is on a curly brace { or } to jump to the matching curly brace.This lets you quickly jump to the start or end of any block.

URL: https://forum.audiogames.net/post/484257/#p484257




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Question on how to navigate C++ files with narration

2019-12-09 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Question on how to navigate C++ files with narration

Press F12 on a function or variable to go to its definition.Press shift F12 on a function or variable to find all the places that reference it.Press control F to use the find text feature.The find dialog lets you choose to search within the current document, the current project, or the current solution/workspace.Press control - to move back to the place you were before you pressed F12 to go to definition.Press control shift - to move in the opposite direction of that history.Press control comma to search for symbols (rather than just text), like the name of a class or the name of a method.

URL: https://forum.audiogames.net/post/484257/#p484257




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Visual studio question

2019-11-20 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Visual studio question

If your program is a console application, pressing F5 will launch it in a new window with the debugger attached, then that window will close as soon as the program finishes running.That is often immediately, so might seem like nothing is happening.If you press control F5 then it will launch without the debugger attached, but will also leave the window up after the program runs, with a message telling you to press a key to continue, which will then close the window.You can add this line at the end of your main function in order to get the window to stay open until you press a key, even when just pressing F5 to launch it.Console.ReadKey();Hope this helps.

URL: https://forum.audiogames.net/post/478576/#p478576




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: A question about the underhood compilers

2019-10-20 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: A question about the underhood compilers

Parsing and interpreting a programming language is a complex subject.I have found the book Crafting Interpreters by Robert Nystrom to be a great step by step guide to how this is done.You can read it online for free here:http://www.craftinginterpreters.comParsing simple command lines is much easier.In your "cd    desktop" example you can just use the split function that exists in most programming languages to get a nice list of all the words in the command line, with spaces removed.Here is a page describing the split method in Python.Hope that helps.

URL: https://forum.audiogames.net/post/469684/#p469684




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: NVDA Question

2019-05-30 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: NVDA Question

Yeah, sorry about that.Most of the time AHC is able to detect a crash and switch filter keys back to the original settings before closing, but some crashes, or as you say, killing the process, are not detected by it.When you launch it again it is able to detect that it did not restore the filter key settings previously, and so it fixes them the next time you close it.It is certainly a downside to that approach, but on the other hand it solves the problem pretty specifically by just disabling repeat keys at the source.I made a small repeat keys fixer program that restores Windows default filter key settings, because when developing the game there were a lot more cases when I would break my own filter key settings.Though I think the final game does a pretty good job of not breaking them.Maybe the low level keyboard hook would be safer, assuming Windows removes it cleanly when a crash occurs.I wonder if it will work though, because I assume NVDA has to install a low level key hook to detect the key presses that cancel speech in the first place.So will a new keyboard hook be able to intercept and cancel repeat keys before NVDA's key hook sees them?This page says the key down message does tell you if it is a repeat key or not:https://docs.microsoft.com/en-us/window … wm-keydownquote: The previous key state (bit 30) can be used to determine whether the WM_KEYDOWN message indicates the first down transition or a repeated down transition.

URL: https://forum.audiogames.net/post/437502/#p437502




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: NVDA Question

2019-05-30 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: NVDA Question

Sam is right. It is the repeat keys that are silencing NVDA.There is no way to fix it through the NVDA controller client, though that would be awesome.The sleep mode that others suggested, (accessed with NVDA shift Z on the laptop keyboard layout and NVDA shift S on the desktop keyboard layout) seem to solve it nicely, though people have to remember to press those each time they launch your game.NVDA in sleep mode still speaks any messages you send to it through the NVDA controller.You can enable sleep mode programmatically for your game through an NVDA app module or addon, but that would require people to install that app module / addon.Sam's low level keyboard hook will probably solve it too, once it is finished.In A Hero's Call I solved it by changing the "Windows Filter Keys" settings to disable repeat keys.I would first save your filter key settings to a file when AHC launched, so I could restore them.Then whenever the game window was active I disabled repeat keys, and when you alt tabbed away, closed the game, or the game detected itself crashing, I restored the original filter key settings.I would rather not adjust the filter key settings and then be responsible for setting them back, but I want gamers to have a good experience, and the alternatives are not great.Aprone mostly avoided the issue in Swamp by making the right mouse button be the only valid move forward key.Since that was the key you held the most, and mouse buttons don't cancel speech, it solved it most of the time.Mouse and gamepad buttons don't cause the issue, but they give you a new issue.Namely NVDA has been cancelling speech for you whenever it detects a key press, so when you enable sleep mode, or use mouse or gamepad buttons, now speech never gets cancelled automatically.Players actually do want speech cancelled when pressing most keys, such as quickly arrowing through a menu. They want to hear the item they just moved to, not the 5 they quickly moved passed.This is easier to solve though, since the NVDA controller client provides a method for cancelling speech, so you can just call it whenever your game detects a mouse or gamepad button.Or even when it detects a key press, assuming sleep mode is on, since sleep mode will stop even normal key presses from cancelling speech.Then you get the issue that players also like repeat keys in some circumstances, such as holding an arrow key on a grid based map.Players tend to like to move around the grid map very quickly by holding an arrow key, which acts like it is repeating the key.You can solve this by just keeping track of which keys are held and triggering your own sort of repeat keys internal to your game.NVDA will never see those since they are just within your own code, not running through the whole Windows input system.I have spent a lot of time on input for my next project, especially around the use of gamepads.Maybe it is just nostalgia, but I think a game just feels better when I'm playing with a gamepad.Instead of using NVDA controller client directly, you can use Tolk, which will also handle output to other screen readers; JAWS being the other most important one.I assume you are using C# if you are using XNA.If you are interested in the C# code for adjusting filter key settings, email me at i...@blindaudiogames.com and I'll be happy to pass it along.Hope some of that is helpful.

URL: https://forum.audiogames.net/post/437372/#p437372




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Quite weird problem with a C# code

2019-03-17 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Quite weird problem with a C# code

The StreamWriter buffers your writes in memory, and only once a certain amount of data has been written does it actually send it out to the HDD/SSD.You can force it to send it by calling sw.Flush(), or sw.Close().Also, in your code snippet the SW.WriteLine(CheckedItemID); has a right curly brace in front of it which puts it outside the for loop.This means that even if you were seeing what it wrote, it would only write the last checked item, not all of them.

URL: https://forum.audiogames.net/post/419815/#p419815




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Limits on OpenAL sound playback?

2019-03-16 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Limits on OpenAL sound playback?

Going back to the original issue of getting an out of memory error:You were probably creating a fresh buffer for every one of your 300 sources and reloading the same sound data into it.Instead you should be using a single buffer for the fence post sound data, then associating it with all your 300 sources.In that way you only need to load the sound data into memory once, not 300 times.Consider a 10 second fence post mono sound with 16 bit depth at 48000Hz.That would be 10 seconds * 2 bytes * 48000 = 96 bytes, or lets just round it to 1 megabyte.So you could either use 1MB for all 300 sources, or more likely you used 300MB to cover those 300 sources.Imagine that your fence post sound was 30 seconds long, then you would quickly approach a gigabyte of memory usage.C# programs will crash with an out of memory exception around 1GB, regardless of you having 32GB of ram on your system, unless you specify different configuration options.Similar default constraints probably exist with other programming languages, such as Rust.Though as you and others have said, there are much better solutions than creating 300 fence post sources, such as your ray casting solution where you move 4 sources around the listener.I used something similar to handle river, stream, and pit sounds in A Hero's Call.In addition to reusing the same buffer on multiple sources, you can deallocate the buffers and sources yourself for sounds that are very distant, as others have already suggested with the tiling/sector/proximity based/distance culling solutions.Or another great solution is to switch from loading the entire sound file into a buffer and instead use streaming buffers so that only a portion of the sound is ever loaded at once.For my next project, I am currently using OpenALSoft, with 5 streaming buffers per sound, each of which holds up to 20ms of stereo data, which is 3840 bytes per buffer, or 19200 for all 5 buffers, basically just under 20KB.This keeps sounds playing well and avoids buffer underruns.It also has the benefit that each sound only consumes about 20KB of memory, including long sounds, such as music files that can be several minutes long.And long sounds get loaded very quickly because from the time your code decides to start playing the sound, it only has to wait for the first 20KB to be uncompressed into memory, while loading the entire music file might take multiple seconds and be very noticeable to your users.You can also combine streaming with the distance culling solutions if you have really huge maps.Worth noting that keeping your streaming buffers filled is usually done with an additional thread that can wake up every 10ms or so and refill them as needed.The FMOD Studio and FMOD low level APIs can handle streaming for you, which does make your life easier.OpenAL expects you to handle streaming yourself, which is more work for you, but also gives you a bit more control.You probably don't need this control right now, so maybe FMOD would provide a better experience.FMOD will also handle more audio file formats without you needing to manually include libsndfile, libopus, or others.I also believe FMOD "virtualizes" sounds that are too far away to be heard, which saves some CPU, but that wasn't your issue, running out of memory was your issue.I don't consider OpenAL to have big limitations, in fact we were using it for A Hero's Call for much of the development, and only switched to FMOD near the end primarily to allow our sound designer to use the FMOD Studio tool.I prefer OpenALSoft's license over FMOD's, but FMOD's is pretty reasonable for most people.I'll be using OpenALSoft on my next project, along with libopus, so I consider them to be pretty reasonable libraries, but I've had a lot of experience with OpenALSoft at this point and I actually have a reason to handle the streaming manually.Hope my ramblings are a bit helpful.

URL: https://forum.audiogames.net/post/419637/#p419637




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Limits on OpenAL sound playback?

2019-03-16 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Limits on OpenAL sound playback?

Going back to the original issue of getting an out of memory error:You were probably creating a fresh buffer for every one of your 300 sources and reloading the same sound data into it.Instead you should be using a single buffer for the fence post sound data, then associating it with all your 300 sources.In that way you only need to load the sound data into memory once, not 300 times.Consider a 10 second fence post mono sound with 16 bit depth at 48000Hz.That would be 10 seconds * 2 bytes * 48000 = 96 bytes, or lets just round it to 1 megabyte.So you could either use 1MB for all 300 sources, or more likely you used 300MB to cover those 300 sources.Imagine that your fence post sound was 30 seconds long, then you would quickly approach a gigabyte of memory usage.C# programs will crash with an out of memory exception around 1GB, regardless of you having 32GB of ram on your system, unless you specify different configuration options.Similar default constraints probably exist with other programming languages, such as Rust.Though as you and others have said, there are much better solutions than creating 300 fence post sources, such as your ray casting solution where you move 4 sources around the listener.I used something similar to handle river, stream, and pit sounds in A Hero's Call.In addition to reusing the same buffer on multiple sources, you can deallocate the buffers and sources yourself for sounds that are very distant, as others have already suggested with the tiling/sector/proximity based/distance culling solutions.Or another great solution is to switch from loading the entire sound file into a buffer and instead use streaming buffers so that only a portion of the sound is ever loaded at once.For my next project, I am currently using OpenALSoft, with 5 streaming buffers per sound, each of which holds up to 20ms of stereo data, which is 3840 bytes per buffer, or 19200 for all 5 buffers, basically just under 20KB.This keeps sounds playing well and avoids buffer underruns.It also has the benefit that each sound only consumes about 20KB of memory, including long sounds, such as music files that can be several minutes long.And long sounds get loaded very quickly because from the time your code decides to start playing the sound, it only has to wait for the first 20KB to be uncompressed into memory, while loading the entire music file might take multiple seconds and be very noticeable to your users.You can also combine streaming with the distance culling solutions if you have really huge maps.Worth noting that keeping your streaming buffers filled is usually done with an additional thread that can wake up every 10ms or so and refill them as needed.The FMOD Studio and low level APIs can handle streaming for you, which does make your life easier.OpenAL expects you to handle streaming yourself, which is more work for you, but also gives you a bit more control.You probably don't need this control right now, so maybe FMOD would provide a better experience.FMOD will also handle more audio file formats without you needing to manually include libsndfile, libopus, or others.I also believe FMOD "virtualizes" sounds that are too far away to be heard, which saves some CPU, but that wasn't your issue, running out of memory was your issue.I don't consider OpenAL to have big limitations, in fact we were using it for A Hero's Call for much of the development, and only switched to FMOD near the end primarily to allow our sound designer to use the FMOD Studio tool.I prefer its license over FMOD's, but FMOD's is pretty reasonable for most people.I'll be using OpenALSoft on my next project, along with libopus, so I consider them to be pretty reasonable libraries, but I've had a lot of experience with OpenALSoft at this point and I actually have a reason to handle the streaming manually.Hope my ramblings are a bit helpful.

URL: https://forum.audiogames.net/post/419637/#p419637




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Looking for feedback on rpg I'm making

2018-03-08 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Looking for feedback on rpg I'm making

Tolk is a free library that helps you send text to various screen readers or SAPI.It is Windows only, but you could include or exclude it using preprocessor macros that detect if you are building for Windows or Mac.Find it here:https://github.com/dkager/tolkFor Mac you could tie into the Voice Over API directly, but I don't own a Mac so can't give more guidance than that.HTH

URL: http://forum.audiogames.net/viewtopic.php?pid=354994#p354994





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Clearing the Screen(Or not)

2018-02-20 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Clearing the Screen(Or not)

I use Tolk through C# and the .NET Framework for my own game projects.They are able to output to the JAWS screen reader through Tolk.C# can interact with COM objects directly, but in the case of Tolk, Tolk provides a small C# PInvoke wrapper that calls into the native C code that Tolk is written in.That native code interacts with the COM object.It should work fine.Still, testing is always a good idea. 

URL: http://forum.audiogames.net/viewtopic.php?pid=353097#p353097





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Clearing the Screen(Or not)

2018-02-19 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Clearing the Screen(Or not)

That should be all you need.Tolk interacts with JAWS through a COM object, and doesn't need an extra dll for it.

URL: http://forum.audiogames.net/viewtopic.php?pid=352934#p352934





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Screenreader vs Console

2017-06-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Screenreader vs Console

Agreed, if you make it in the console then screen readers can already access it.That said, if you are willing to put more thought and effort into it, then you can provide a better experience by creating a custom interface.For instance you can allow players to move around your grid of tiles using the arrow keys, which is a little nicer than the console since a screen reader is designed for reading text in the console, not navigating a grid of tiles.Tolk is a good library to use for outputting to screen readers, and it is not hard to setup.If you have any troubles with it feel free to contact me and we can setup a quick skype call.For an example of a game that represents terrain and units on a grid to players you can try Tactical Battle written by me.Or check out Castaways written by Aprone.Both are free and have some limited graphics so you can easily compare what you are seeing visually with what is being output to the screen reader / TTS.

URL: http://forum.audiogames.net/viewtopic.php?pid=316462#p316462





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Screenreader vs Console

2017-06-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Screenreader vs Console

Agreed, if you make it in the console then screen readers can already access it.That said, if you are willing to put more thought and effort into it, then you can provide a better experience by creating a custom interface.For instance you can allow players to move around your grid of tiles using the arrow keys, which is a little nicer than the console since a screen reader is designed for reading text in the console, not navigating a grid of tiles.Tolk is a good library to use for outputting to screen readers, and it is not hard to setup.If you have any troubles with it feel free to contact me and we can setup a quick skype call.For an example of a game that represents terrain and units on a grid to players you can try Tactical Battle written by me.Or check out Castaways written by Aprone.Both are 
 free and have some limited graphics so you can easily compare what you are seeing visually with what is being output to the screen reader / TTS.

URL: http://forum.audiogames.net/viewtopic.php?pid=316462#p316462





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: I ran into problems with VS 2017's acessability with NVDA

2017-06-02 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: I ran into problems with VS 2017's acessability with NVDA

I use Windows forms, but I don't use the toolbox.Dropping buttons and other controls from the toolbox onto the form just creates C# code to perform the work behind the scenes anyway.To get to the code behind for the windows form, highlight it in solution explorer, then press F7.You can then add member variables for each control you want, so you can reference them from various methods that are handling events.Then configure their properties in the class constructor.And add them to the Controls list.For example, here is the code behind for a simple form with a button that displays a message box when you click it:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
Button btnClickMe = new Button();
public Form1()
{
InitializeComponent();

btnClickMe.Text = "Click me";
btnClickMe.Click += BtnClickMe_Click;
this.Controls.Add(btnClickMe);
}

private void BtnClickMe_Click(object sender, EventArgs e)
{
MessageBox.Show("You clicked me!");
}
}
}Hope this is helpful.

URL: http://forum.audiogames.net/viewtopic.php?pid=313667#p313667





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: I ran into problems with VS 2017's acessability with NVDA

2017-06-02 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: I ran into problems with VS 2017's acessability with NVDA

I use Windows forms, but I don't use the toolbox.Dropping buttons and other controls from the toolbox onto the form just creates C# code to perform the work behind the scenes anyway.To get to the code behind for the windows form, highlight it in solution explorer, then press F7.You can then add member variables for each control you want, so you can reference them from various methods that are handling events.Then configure their properties in the class constructor.And add them to the Controls list.For example, here is the code behind for a simple form with a button that displays a message box when you click it:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApp1{    public partial c
 lass Form1 : Form    {        Button btnClickMe = new Button();        public Form1()        {            InitializeComponent();            btnClickMe.Text =

URL: http://forum.audiogames.net/viewtopic.php?pid=313667#p313667





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: C# question

2017-05-03 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: C# question

C# can run on Windows, Linux, Mac OS, iOS, Android, Universal Windows Platform (UWP), and even in Docker.It has supported linux and Mac OS for at least 10 years through the mono project, and iOS and Android through Xamarin for many years as well..NET Core is a new option for building cross platform apps for linux and Mac OS.Personally I run a C# ASP.NET MVC website on my linux server, and also ran an FPS game server written in C# on my linux server as well.Those were done using Mono, but I would consider .NET Core if I were starting a new project from scratch.Check out this article for an in depth explanation of the various cross platform options:https://blogs.msdn.microsoft.com/cesard … to-use-it/If that is too confusing, just know that I've built .NET 4.0 C# game servers that run on linux, and clients for them that run on windows.And getting my server code to run on linux or windows mostly just required me to use the Path class so I wouldn't hit issues because linux and windows use different file path conventions, for example slash instead of back slash.So it is definitely cross platform if you start with that goal in mind.Edit:I want to clarify that you can still hit cross platform difficulties with C#, mostly when you reference native dlls.Game servers are much easier to make cross platform than game clients, because they rely on fewer and smaller libraries.For instance, a game client needs a graphics library and an audio library, but the game server does not.So paying attention to which native libraries you reference and whether or not they are cross platform is important.

URL: http://forum.audiogames.net/viewtopic.php?pid=309619#p309619





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: C# question

2017-05-03 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: C# question

C# can run on Windows, Linux, Mac OS, iOS, Android, Universal Windows Platform (UWP), and even in Docker.It has supported linux and Mac OS for at least 10 years through the mono project, and iOS and Android through Xamarin for many years as well..NET Core is a new option for building cross platform apps for linux and Mac OS.Personally I run a C# ASP.NET MVC website on my linux server, and also ran an FPS game server written in C# on my linux server as well.Those were done using Mono, but I would consider .NET Core if I were starting a new project from scratch.Check out this article for an in depth explanation of the various cross platform options:https://blogs.msdn.microsoft.com/cesard … to-use-it/If that is too confusing, just know that I've built .NET 4.0 C# game servers that run on linux, and clients for them that run on windows.And getting my server code to run on linux or windows mostly just required me to use the Path class so I wouldn't hit issues because linux and windows use different file path conventions, for example slash instead of back slash.So it is definitely cross platform if you start with that goal in mind.

URL: http://forum.audiogames.net/viewtopic.php?pid=309619#p309619





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: C# question

2017-05-03 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: C# question

C# can run on Windows, Linux, Mac OS, iOS, Android, Universal Windows Platform (UWP), and even in Docker.It has supported linux and Mac OS for at least 10 years through the mono project, and iOS and Android through Xamarin for many years as well..NET Core is a new option for building cross platform apps for linux and Mac OS.Personally I run a C# ASP.NET MVC website on my linux server, and also ran an FPS game server written in C# on my linux server as well.Those were done using Mono, but I would consider .NET Core if I were starting a new project from scratch.Check out this article for an in depth explanation of the various cross platform options:https://blogs.msdn.microsoft.com/cesard … to-use-it/If that is too confusing, just know that I built .NET 4.0 C# game servers, and windows clients.And getting my server code to run on linux or windows mostly just required me to use the Path class so I wouldn't hit issues because linux and windows use different file path conventions, for example slash instead of back slash.So it is definitely cross platform if you start with that goal in mind.

URL: http://forum.audiogames.net/viewtopic.php?pid=309619#p309619





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Time to get rid of speed hacking in BGT games!

2016-06-11 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Time to get rid of speed hacking in BGT games!

@Sam_Tupy, can you give me a link to the cheat program you tested with?I would like to test for myself, and possibly add a fix for some of my own projects.

URL: http://forum.audiogames.net/viewtopic.php?pid=264022#p264022





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Oculus Rift + 3D sound

2016-05-19 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Oculus Rift + 3D sound

I haven't used Unity, but I do use C#, the .NET Framework, and Mono.Unity is built on top of Mono, and you might already be using C# inside Unity.Making calls to the Tolk TTS library from C# is not difficult.They have already built a C# wrapper around their native dlls, and have some sample C# code to show how it is used.I'm happy to help you figure it out in real time if you would like.That said, if recording samples is easier, then you should certainly stick with what gets the job done since you are just prototyping ideas right now anyway.

URL: http://forum.audiogames.net/viewtopic.php?pid=261024#p261024





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Oculus Rift + 3D sound

2016-05-19 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Oculus Rift + 3D sound

@post 9:It is common for audio platformers and top down games to have key strokes map to specific distances (such as a single tile), but first person games don't always follow this trend.While first person games usually support turning with the keyboard, more modern first person audio games also support turning with the mouse, as seen in Swamp, or turning using the gyroscopes and accelerometers in an iPhone, as seen in Papa Sangre 2 and Audio Defence.Personally I think that adding head tracking as a form of input would be a great advancement for blind gaming.And as you say, it doesn't need all the extra hardware required for stereoscopic vision, which could keep the cost much lower.Aprone, one of our sighted developers, actually made an attempt at such a device in 2013.He called it the See Munkey and was selling it for about $50.Unfortunately it never performed as well as he had hoped.  Whether this is due to the Math he used to convert the raw data from the gyroscopes and accelerometers into actual yaw, ptich, and roll, or because the hardware used was just not up to the task, I couldn't say.Specifically I think there was too much drift, much more than he had anticipated.He no longer sells the device.If you are curious you can read a summary and FAQ about it here:https://p9.secure.hostingprod.com/@www. … evices.phpOr read the developer's manual here:http://www.kaldobsky.com/audiodevices/d … anual.htmlI own a See Munkey and would be very excited to see something similar to it become polished and more widely used among blind gamers.But I do not personally have the hardware or math skills to make that happen.We do get something kind of close by being able to turn our bodies while using an iPhone that uses the gyroscopes and accelerometers to detect turning, but a head tracking device would be more accurate, and make more sense with being able to look up and down.If you do not have TTS working yet, I recommend the Tolk screen reader library:https://github.com/dkager/tolkIt provides support for the major screen readers on Windows, and is LGPL.Regarding what kind of sound cues would be most helpful for your 3D space:  This is not a solved problem, so exploring this with your own ideas and posting your results is helpful to all of us.Since most of my work is on 2D planes, I don't have much to suggest, sorry.Edit: Just for clarification, Tolk supports screen readers when they are running, but can fall back to SAPI which is built into Windows, so it is a good TTS solution all around.Blind users prefer screen reader TTS over SAPI, but SAPI gives sighted developers a good way to test TTS without needing to install a screen reader.If you did want to try a screen reader, I recommend NVDA which is free:http://www.nvaccess.org/

URL: http://forum.audiogames.net/viewtopic.php?pid=260995#p260995





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Oculus Rift + 3D sound

2016-05-19 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Oculus Rift + 3D sound

@post 9:It is common for audio platformers and top down games to have key strokes map to specific distances (such as a single tile), but first person games don't always follow this trend.While first person games usually support turning with the keyboard, more modern first person audio games also support turning with the mouse, as seen in Swamp, or turning using the gyroscopes and accelerometers in an iPhone, as seen in Papa Sangre 2 and Audio Defence.Personally I think that adding head tracking as a form of input would be a great advancement for blind gaming.And as you say, it doesn't need all the extra hardware required for stereoscopic vision, which could keep the cost much lower.Aprone, one of our sighted developers, actually made an attempt at such a device in 2013.He called it the See Munkey and was selling it for about $50.Unfortunately it never performed as well as he had hoped.  Whether this is due to the Math he used to convert the raw data from the gyroscopes and accelerometers into actual yaw, ptich, and roll, or because the hardware used was just not up to the task, I couldn't say.Specifically I think there was too much drift, much more than he had anticipated.He no longer sells the device.If you are curious you can read a summary and FAQ about it here:https://p9.secure.hostingprod.com/@www. … evices.phpOr read the developer's manual here:http://www.kaldobsky.com/audiodevices/d … anual.htmlI own a See Munkey and would be very excited to see something similar to it become polished and more widely used among blind gamers.But I do not personally have the hardware or math skills to make that happen.We do get something kind of close by being able to turn our bodies while using an iPhone that uses the gyroscopes and accelerometers to detect turning, but a head tracking device would be more accurate, and make more sense with being able to look up and down.If you do not have TTS working yet, I recommend the Tolk screen reader library:https://github.com/dkager/tolkIt provides support for the major screen readers on Windows, and is LGPL.Regarding what kind of sound cues would be most helpful for your 3D space:  This is not a solved problem, so exploring this with your own ideas and posting your results is helpful to all of us.Since most of my work is on 2D planes, I don't have much to suggest, sorry.

URL: http://forum.audiogames.net/viewtopic.php?pid=260995#p260995





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Oculus Rift + 3D sound

2016-05-18 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Oculus Rift + 3D sound

Hi Glenn,I am a C# developer working on first person audio games using OpenALSoft, but I have not used Unity 3D or the Rift.I assume that you already have Unity 3D and the Rift working for displaying 3D environments.The basics of 3D sound should follow easily, as any 3D library will let you adjust the facing and position of the listener.Beyond those basics, it helps if your 3D sound library supports Head-related transfer function (HRTF) as this gives a greater sense of 3D space.You can also look into using the obstruction, occlusion, exclusion, and environmental reverb settings of your sound library.For navigating 3D areas without vision you are best off introducing radar sounds and text to speech (TTS), as 3D sound alone is usually not enough.There are a few different approaches for radar sounds, but in the audio gaming community the first person games stick mostly to 2D planes, turning left and right, but without the ability to look u
 p or down.So while examining existing first person audio games can help you get ideas, it does not address your full 3D problem.That said, if users do not fly, jump or fall in your virtual world, navigation on a 2D plane might work well, with the added ability to look up and down.If you want to get the most realistic 3D sound possible, emulating close to correct reverb for cathedrals and small rooms alike, you might try GSound:http://gamma.cs.unc.edu/GSOUND/That link contains a summary, white paper, and a link to a youtube video demonstrating how it works.GSound may be too processor intensive for fast paced games, but it should be fine for slow paced navigation around a virtual 3D world.I expect it will give you the best results for what you are looking for.I have not used GSound myself as I am blind and this makes creating 3D environments pretty difficult.I am very glad to see a 
 new sighted developer taking an interest in our forum.Feel free to contact me directly at supp...@blindaudiogames.com if you would like to setup a skype call to discuss some of this in real time, or if there is anything else I might be able to help with.

URL: http://forum.audiogames.net/viewtopic.php?pid=260915#p260915





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: current landscape of audiogame creation tools

2016-05-02 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: current landscape of audiogame creation tools

I've emailed you.You can email me at supp...@blindaudiogames.com

URL: http://forum.audiogames.net/viewtopic.php?pid=259092#p259092





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: current landscape of audiogame creation tools

2016-05-02 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: current landscape of audiogame creation tools

I use C# and .NET for all my game projects and am very happy with it.My new games are using OpenAL Soft for the audio library, though Tactical Battle still uses DirectX.AudioVideoPlayback..NET can be cross platform using mono on linux and Mac, and Xamarin on iOS and Android.Xamarin used to cost an extra fee but is now free, like mono.I saw this thread but did not post because discussions of which programming language to use often deteriorate into heated arguments.If you have any specific questions about game development in C# feel free to ask.

URL: http://forum.audiogames.net/viewtopic.php?pid=259083#p259083





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Accessible cross platform development

2016-04-21 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Accessible cross platform development

Cool, I'd love to hear how it goes if you get some time to try it.My brother uses a framework called MonoGame to make his games work on Mac, Linux, Windows, iOS, and Android.But I know that Xamarin also has frameworks like monoDroid and monoTouch for wrapping the native android and iOS GUI frameworks and other libraries.Which you use sort of depends on wehther you want to use preexisting controls or custom render everything yourself as a game usually does.I haven't tried any of it myself though, so will be most interested to hear about your experience from an accessibility standpoint.

URL: http://forum.audiogames.net/viewtopic.php?pid=257810#p257810





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Accessible cross platform development

2016-04-21 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Accessible cross platform development

Thanks for the correction Craig.That announcement came out a week and a half after my post and was certainly welcome news.Also good to hear that Xamarin is now integrated into Visual Studio since last time I tried Xamarin Studio on windows NVDA just reported unknown for the entire window.

URL: http://forum.audiogames.net/viewtopic.php?pid=257778#p257778





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Unity accessibility

2016-03-20 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Unity accessibility

Hi Yukio,C# is another option for cross platform development, and in some ways the closest to Unity3D since they both use mono to work on operating systems other than windows.I have made C# apps that run on Windows and Linux because those are the operating systems I have easy access to, but Mac also supports mono.If you want C# to run on iOS or Android you have to purchase a special Xamarin license to do that.Unity3D also charges you to deploy to iOS or Android.If you use native dlls then you'll have to ensure you only use those that can compile on all your target platforms.There is a free framework called MonoGame that gives you a bunch of cross platform game related libraries.http://www.monogame.net/I'm pretty sure Xamarin Studio is not accessible, but Visual Studio is reasonably accessible and you could probably use the command line Xamarin tools to compile for the smart phone plat
 forms.Visual Studio is free, and it is free to compile for windows, linux, and mac.It looks like compiling for iOS requires a Mac.Unity3D is basically C# and mono, but they've added a bunch of helpful game libraries and tools, and gone to the effort of making sure they all run cross platform.MonoGame is similar, but not a commercial product so doesn't have the quality or broad set of tools that Unity3D has.And as mentioned, you purchase the ability to compile for iOS and Android directly through Xamarin, instead of through Unity3D who must have their own deal with Xamarin.All that said, this is just one option.I haven't compiled for the smart phones myself, but I have used C# and Visual Studio for a very long time, so can help with those if you went this route.And you would still want to verify that Xamarin has command line compilers.Good luck with whatever technology you choose.

URL: http://forum.audiogames.net/viewtopic.php?pid=254453#p254453





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Basic Screen Reader Support in Unity

2016-03-14 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Basic Screen Reader Support in Unity

I don't use Unity3D, but understand that it uses Mono under the hood and allows you to use C#.Which platforms are you targetting?The solution will be different for each one and you will probably use pre processor macros to incorporate the correct one for your build target.For windows you could try Tolk, which has a C# wrapper, (LGPL3):https://github.com/dkager/tolkOr Quentin C's Universal Speech, adding your own CFFI bindings using PInvoke, (GPL, or closed source if your app is free, or commercial license available by contacting Quentin):https://github.com/qtnc/UniversalSpeechHope that helps.

URL: http://forum.audiogames.net/viewtopic.php?pid=253926#p253926





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Let's talk about audiogame development environments

2015-10-24 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Let's talk about audiogame development environments

What did you think of OpenAL's 3D feature as compared with Bass?Or as compared with your panning engine?I agree panning is disabled when using 3D sounds, but volume adjustments seem to work for me.The 3D sounds already do their own volume adjustment based on distance and direction, but it seems to use the volume value you set as the starting point.For instance I mute sounds behind walls by setting their volume to 0.And I can make them quieter by setting their volume to something less than 1, but I generally just leave that up to the 3D sound code since it knows about distance and rolloff better than I do.There is always the option of playing the sound in 2D, then you can control panning and volume is not changed based on 3D position since there isn't one.Obviously that defeats the purpose of having a 3D sound library to begin with.I'm happy to talk through any specific issues you are hitting, but it sounds like you 
 are good to go using your panning engine for at least your next game."If it ain't broke, don't fix it." 

URL: http://forum.audiogames.net/viewtopic.php?pid=235996#p235996





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Let's talk about audiogame development environments

2015-10-24 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Let's talk about audiogame development environments

Yeah 11 years.Most of that was business programming, like desktop and web applications.I've only been doing audio games programming since some time in 2011, so about 4 or 5 years.Game programming certainly has its own set of challenges, so it has been a big learning experience.If you would like some help with OpenALSoft, I am happy to help over the phone sometime.Writing emails takes me too long, because I seem to have a bit of an OCD problem.We are already connected on skype, so just let me know.Are you wanting to use OpenALSoft or Bass?Or does that depend on how you feel about OpenALSoft's 3D feature once you've been able to test it in your own game?

URL: http://forum.audiogames.net/viewtopic.php?pid=235987#p235987





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Let's talk about audiogame development environments

2015-10-24 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Let's talk about audiogame development environments

Yeah 11 years.Most of that was business programming, like desktop and web applications.I've only been doing audio games programming since some time in 2011, so about 3 or 4 years.Game programming certainly has its own set of challenges, so it has been a big learning experience.If you would like some help with OpenALSoft, I am happy to help over the phone sometime.Writing emails takes me too long, because I seem to have a bit of an OCD problem.We are already connected on skype, so just let me know.Are you wanting to use OpenALSoft or Bass?Or does that depend on how you feel about OpenALSoft's 3D feature once you've been able to test it in your own game?

URL: http://forum.audiogames.net/viewtopic.php?pid=235987#p235987





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Let's talk about audiogame development environments

2015-10-24 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Let's talk about audiogame development environments

Hi Yukio,It is very interesting to hear about your setup.  Thanks for sharing.I've been very impressed with what I've played of BK3, though I rarely find time for playing games, so I am not especially far in it.I use Visual Studio 2010 and C# with .NET Framework 4.0..NET 4.0 is the last version that supports Windows XP which is why I have not upgraded, but fortunately 4.0 is not that old and has many modern features.I've been programming in C# for about 11 years.I use git for source control, which allows me to easily share code with Craig Brett, who has been extremely helpful maintaining Tactical Battle and working on some features for my FPS.I have 3 major games that all share code in dlls I've written.Tactical Battle is the only one that is currently released.The other 2 are an FPS and an RPG, neither of which is released yet, though both are very far along in development.My line count for a
 ll 3 games and shared code is as follows:55406 total45409 code with 2940 inline comments.3046 blank2123 using statements2837 normal comments1991 code commentsI am glad to hear about your line count since it lets me know that mine is also in the ball park.The RPG also uses TypeScript for scripting game specific logic and has 8194 lines in the scripts folder as well as many more inline scripts in the content files.I created my own content file format and parser that you can see in Tactical Battle map creation.I've found this very helpful for spreading out the work among non programmer contributors and avoiding cluttering the core engine with game specific monsters, encounters, skills, effects, items, terrain, maps, and NPCs.I also use some third party libraries.Most notably OpenALSoft and LibSndFile for playing sounds, though Tactical Battle is still using DirectX.AudioVideoPlayback because it is older and 
 I haven't had a compelling reason to convert it yet.As an aside, I am now working on a new NVDA translation addon to let English speakers once again play your great games.

URL: http://forum.audiogames.net/viewtopic.php?pid=235977#p235977





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Audio HUD for Unity Game Engine

2015-10-07 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Audio HUD for Unity Game Engine

I assume the C# I shared would work with Unity for Windows.It certainly works outside of Unity, on Windows.I am certain it will not work for any other platform as the SpeechSynthesizer just wraps a COM object, and COM objects are specific to Windows.You would have to build a custom solution for each platform.urfx wrote: so you are saying I can flag dom elements to make them visible to JAWS etc ?and possibly need to do this for the Unity Player container?I say: Frastlin was actually explaining how to trigger the screen reader viewing the web page to read some text.When you change the text in the p tag with the status aria role, the screen reader automatically announces it, similar to if you had an API like ScreenReader.Speak("Message");.If Unity gives you access to the DOM then Frastlin's suggestion should be a very cross platform way of getting a screen reader to announce text.

URL: http://forum.audiogames.net/viewtopic.php?pid=234211#p234211





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Getting started with OpenAL

2015-10-06 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Getting started with OpenAL

OpenAL is a standard which can have multiple implementations.Your first link goes to OpenAL Soft, which is a cross platform software implementation.The second goes to the Creative Labs implementation, which basically requires your users to have a nice Creative Labs soundcard to have things work correctly.I use OpenALSoft and don't bother with the second.Regarding HRTF: In OpenAL Soft version 1.15.1 the HRTF files were included within the dll.In version 1.16 they are separate files which you found.Here's what you have to do to get HRTF working on an end user's machine in 1.16:1. Use your run window to open the %AppData% folder and create a file called alsoft.ini.2. Put this line in that file:hrtf = true3. In the same %AppData% folder create the folders openal/hrtf.4. Copy the 2 .mhr files into %AppData%/openal/hrtf.Now OpenAL Soft will find the HRTF files and use HRTF.Obviously this is a bit of a pain, but this is how it is for now.The OpenAL Soft maintainer has written some extensions to make configuring HRTF a little nicer, but those won't be out until the next version.If my instructions were confusing you can download this zip file that contains the files / folders you need to put in %AppData%:http://BlindAudioGames.com/downloads/Pu … ppData.zipHope that helps.

URL: http://forum.audiogames.net/viewtopic.php?pid=233974#p233974




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Free Audio Tracks from Eric Matyas

2015-09-30 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Free Audio Tracks from Eric Matyas

Thanks magurp244.Resources like these are always welcome and appreciated.

URL: http://forum.audiogames.net/viewtopic.php?pid=233444#p233444




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Disseration Project on the visually impaired and audio only games

2015-09-29 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Disseration Project on the visually impaired and audio only games

I don't know of any books or articles to recommend, but I would suggest playing some of the better made audio games so you can get a first hand experience of what they are like.You should try:Papa Sangre 2, Papa Sangre and The NightJar.All 3 of those are first person action games, made by the same company.I've also heard BlindSide is quite immersive, though haven't yet tried it myself.Audio Defence is another people recommend.All those are for the iPhone.Swamp, by Aprone, which is an online zombie themed first person shooter.The single player version is free.  Learn to play it with your eyes closed as blind players do.It runs on Windows.The best 2D platformer is called Bokurano Daibouken 3 or BK3 for short.Unfortunately it is in Japanese.There is a way to setup the NVDA screen reader with the Google translate service to play Japanese games in English, but I expect it is more effort than 
 you'd like to put in.I still mention it though, because it is by far the best in its genre.The best top down (Zelda like) action RPG is ShadowRine, which is also in Japanese and takes a bit more effort than BK3 to get running.Both of those Japanese games have amazing game mechanics and audio queues, not to mention being very well polished and having many hours of game play.You could also try Airik the Cleric for a top down action RPG experience, though again, ShadowRine is better in my opinion.I do remember someone on this forum posted an academic paper they'd written on a similar subject.I'll have a look for it.Also, you spelled Dissertation incorrectly in your thread subject.

URL: http://forum.audiogames.net/viewtopic.php?pid=233318#p233318




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Disseration Project on the visually impaired and audio only games

2015-09-29 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Disseration Project on the visually impaired and audio only games

I don't know of any books or articles to recommend, but I would suggest playing some of the better made audio games so you can get a first hand experience of what they are like.You should try:Papa Sangre 2, Papa Sangre and The NightJar.All 3 of those are first person action games, made by the same company.I've also heard BlindSide is quite immersive, though haven't yet tried it myself.Audio Defence is another people recommend.All those are for the iPhone.Swamp, by Aprone, which is an online zombie themed first person shooter.The single player version is free.  Learn to play it with your eyes closed as blind players do.It runs on Windows.The best 2D platformer is called Bokurano Daibouken 3 or BK3 for short.Unfortunately it is in Japanese.There is a way to setup the NVDA screen reader with the Google instant translate service to play Japanese games in English, but I expect it is more effo
 rt than you'd like to put in.I still mention it though, because it is by far the best in its genre.The best top down (Zelda like) action RPG is ShadowRine, which is also in Japanese and takes a bit more effort than BK3 to get running.Both of those Japanese games have amazing game mechanics and audio queues, not to mention being very well polished and having many hours of game play.You could also try Airik the Cleric for a top down action RPG experience, though again, ShadowRine is better in my opinion.I do remember someone on this forum posted an academic paper they'd written on a similar subject.I'll have a look for it.Also, you spelled Dissertation incorrectly in your thread subject.

URL: http://forum.audiogames.net/viewtopic.php?pid=233318#p233318




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Disseration Project on the visually impaired and audio only games

2015-09-29 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Disseration Project on the visually impaired and audio only games

I found that academic paper.It is called "Game Audio in Audio Games: Towards a Theory on the Roles and Functions of Sound in Audio Games".Here is the forum thread where the paper was posted:http://forum.audiogames.net/viewtopic.php?id=12332The first post had a dropbox link which is now broken.In his second post he references the permanent location:http://du.diva-portal.org/smash/record. … dswid=7006HTH

URL: http://forum.audiogames.net/viewtopic.php?pid=233319#p233319




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Visual Studio 2015 released

2015-07-30 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Visual Studio 2015 released

I agree with Victorious. It is a bug.Hearing the line numbers for every line and having no way to disable it is terrible behavior.There is an option in the preferences that controls whether or not the line numbers show up visually.Why shouldnt this also control whether or not they show up in your screen reader?The answer is that it should.This bug did not exist in previous versions of Visual Studio.

URL: http://forum.audiogames.net/viewtopic.php?pid=226036#p226036




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Audio HUD for Unity Game Engine

2015-06-03 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Audio HUD for Unity Game Engine

For SAPI in C# you can add a reference to System.Speech under the .NET tab in the add reference dialog.Here is sample code for using it:using System;using System.Collections.Generic;using System.Linq;using System.Speech.Synthesis;namespace SAPIExample{  class Program  {static void Main(string[] args){  var ss = new SpeechSynthesizer();  ss.Speak(Hello, here is some text to speech that speaks synchronously so your thread actually blocks until it is finished.);  Console.ReadKey();  ss.SpeakAsync(This will speak asynchronously so it doesnt block your game loop thread. So you could press space at any time to end the program.
 ;);  Console.ReadKey();  // you can also stop asynchronous speech in order to play something new.  ss.SpeakAsyncCancelAll();}  } // end class}There are also C screen reader libraries you can wrap with PInvoke to make them usable by C#.Quentin C. has two, and there is one called Tolk.Craig Brett has made a C# wrapper for one of Quentins.Also worth noting that the System.Speech library used above has a slow memory leak.It has a bug tracked with Microsoft, but they basically said its value to cost ratio was not high enough for them to fix.That said, it is a good starting point.I used it for over a year before the leak started becoming a problem for some of my players.Ive since replaced it with my own wrapper around the COM SAPI obje
 ct to remove the memory leak.I could share that sometime, but would need to clean it up first.Hope that helps.

URL: http://forum.audiogames.net/viewtopic.php?pid=218835#p218835




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: dotnet mud client: Can it be achieved?

2015-04-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: dotnet mud client: Can it be achieved?

You said you are getting the welcome message repeated after you send the username.Are you closing and re-opening the TcpClient between requests?This would cause the welcome message to be sent to you again.Instead you should open the TcpClient once and keep it open as long as you are connected to the mud.

URL: http://forum.audiogames.net/viewtopic.php?pid=213262#p213262




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Is Learning 2 Programming languages at once possible?

2015-03-21 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: Is Learning 2 Programming languages at once possible?

Basically Visual Studio 2013 Community Edition is free for teams of 5 or smaller whose company does not make more than 1 million dollars a year.That edition is equivalent to the professional edition they used to sell.

URL: http://forum.audiogames.net/viewtopic.php?pid=209313#p209313




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: developing a kind of radar?

2015-01-07 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: developing a kind of radar?

+1 for post 2.An important architectural concept for game programming, and explained very well.

URL: http://forum.audiogames.net/viewtopic.php?pid=200106#p200106




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: I'm blind and want to develop a very complex game

2015-01-05 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: I'm blind and want to develop a very complex game

Hi Imaginatrix,Lukas said noone has completed one yet, not that noone has attempted one.Everybody wants to make an awesome game, but it is very difficult and very time consuming, much more so than you seem to realize.This doesnt mean you shouldnt try, but the experienced people here are just trying to help you have realistic expectations.Anyway, youll get a better feel for how much work it is after youve spent a month or 2 working on your game, and then the comments here will sound realistic instead of negative.When learning something new, such as programming, its often better to start out with smaller goals and work up to the bigger ones.I like your enthusiasm though, and would honestly love to play such a game built by you or anyone else.Good luck with it!

URL: http://forum.audiogames.net/viewtopic.php?pid=199784#p199784




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: questions on audiogame development

2014-11-23 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: questions on audiogame development

Ah, now I see why you want HRTF, just wanted to make sure you arent unnecessarily shooting too far on your first attempt.Though I wonder if the 3D audio in BGT did not use a low pass filter for stuff behind you.Just adding that is probably enough to easily distinguish behind from in front in lieu of using actual HRTF.Regarding sound libraries available for C++ or C#.In general those libraries are created in C or C++ with C FFI.Which means that in C# you have to make a wrapper around them, or find an existing one, usually other people have already wrapped them and provide their wrappers free and open source.And C++ needs no wrapper so has one less layer of indirectionAs an example Im currently using OpenTK to wrap OpenALSoft and NLibsndfile to wrap Libsndfile.They were both freely available with source code so I didnt need to write them.I noticed that sometimes OpenTK would fail to initialize the sound devic
 e, so I found the snippet of OpenTK code that could fail and changed it to retry a few times if it failed.Not sure why it failed, but retrying a few times consistently initializes it correctly.This problem may also have existed in C++, Im not sure.NLibsndfile had wrapped 95% of the libsndfile methods.Then I realized I needed to use the C callback functions to provide my own file parsing functions, so I had to add the wrappers to NLibsndfile because it was missing those.And there was another minor bug in NLibsndfile where it thought 0 was a bad parameter to a function, but the Libsndfile documentation said 0 was valid and had meaning.So I commented out the 2 lines that checked for a 0 and threw an exception.So most sound libraries are available in both C++ and C#, but sometimes you need to tweak the C# wrappers a bit.So Id call this a slight pro for C++, but only slight.The only other audio libraries Ive used 
 in C# are DirectSound and DirectShow through the Managed DirectX dlls.Tactical Battle still uses DirectShow.I know less about the screen reader libraries.I expect most of them have C APIs, and know that Craig Brett made a C# wrapper for one of them.Hope that helps.

URL: http://forum.audiogames.net/viewtopic.php?pid=195459#p195459




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: questions on audiogame development

2014-11-22 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: questions on audiogame development

@Victorious, you mentioned needing full 3D sound, and that meaning you need HRTF.Just to clarify, there are many 3D audio libraries that do provide 3D positioning of sound via panning, volume, and low pass filters for things behind you, but do not include HRTF.And Ive even seen Aprone and CAE Jones discussing the algorithms they use to set panning and volume adjustment to avoid the need for a separate 3D audio library at all.So Im just saying that HRTF makes it sound better, and is a nice to have, but for your first 3D game it is not a requirement.Swamp is a good example of a successful game doing 3D audio without HRTF or environmental reverb.My opinion on the performance of C++ versus C# is that it is negligible for audio games.I also think C#, (and other high level languages), are considerably easier to learn and use than C++.Programs written in C# are definitely easier to reverse engineer than those written in C or C++.I guess you have to weigh the importance of this along with the other pros and cons of both languages.For me, and admittedly I focus on free games, it is not very important as compared with other factors.If you charge for an online game then the reverse engineering aspect matters less as online content and user accounts become most of your protection.And as Camlorn said, writing it in C/C++ does not stop people from cracking it. It just raises the difficulty level for doing so.And only one person needs the expertise and motivation to crack it, then they can just share the crack.I use C# in Visual Studio 2010.The debugger is not accessible, but I can still use it because I used it when I had more vision and I am familiar with the hot keys and some extra steps I need to do to get the information I want from the watch window.That said, I actually dont use the debugger and instead rely on logging, which can be nicer when debuggi
 ng a game that is trying to run at 60 frames a second and you want to get useful information, but not stop the game from running.And despite some of visual studios annoyances I actually love features like go to definition, auto complete, rename symbol, find all references, extract method, go to file and line for this error, collapse/expand method bodies, etc.I heard Microsoft recently released Visual Studio 2013 Community Edition, which is like the Professional edition, but free.I havent tested its accessibility though.All this is just my 2 cents.Obviously you should make the decision about which language to use.And even though I have a preference, I really believe that you can write great software in pretty much any language.

URL: http://forum.audiogames.net/viewtopic.php?pid=195363#p195363




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: I have a very emportant question for the forum

2014-10-11 Thread AudioGames . net ForumDevelopers room : Ian Reed via Audiogames-reflector


  


Re: I have a very emportant question for the forum

Hey Camlorn,Just curious to know where the legal line is drawn with purchasing and using sounds.For instance, the OP cant just give sounds to anyone because hed be breaking the license.But he could use them in his own game creations right?So what if he were on a team making a game, then he could still use them right?I guess thats if he had some ownership of the game.But ownership of a free game doesnt mean much since theres no money coming in.So it becomes pretty easy for anyone making a free game to include someone who purchased sounds to use in their projects as a team member.Then it would seem legal.It seems like a gray area, but purchasing sounds seems pointless if you cant use them in your own projects or in projects you are involved in.Just curious if you know these answers since it has always seemed a little vague to me.Oh, and I think these questions mostly apply to ro
 yalty free sounds, as non royalty free sounds are more clear because you pay on a per project basis.Thanks!

URL: http://forum.audiogames.net/viewtopic.php?pid=191792#p191792




___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector