2019-01-03 07:57:28

Hi everyone,


I just released an android app called audio Interactive Fiction, which support around 700 games playable in a dynamic way of listen talk flow. I tried to make it easy to use for blind people.

You can check it out here https://play.google.com/store/apps/deta … os.audioif


If you have any question or suggestion let me know!

I will paste here the app store description also:



Play your favorite interactive fiction games in a listen-talk way.
At each step the text adventure is read for you, and then waits for your voice command to play the game.

2 modes:

-Text mode: regular interactive fiction gameplay with reading and writing
-Audio mode: dynamic listen-talk gameplay

I tried to make the app easy to use for blind people.
The "start audio mode" button is really big in the middle of the screen, so after you open the app, if you press somewhere in the middle of your screen the audio mode should start.
On the audio mode, the app scans for the supported game files on your device, and speaks out loud the name of each game file with a number identifier. After the enumeration of the games, there will be a beep, then you should say the game number, it will load that game.
When it's time for the player to speak, the app makes a beep sound. You can interrupt the story speech by clicking anywhere in the middle of screen, click anywhere on the screen also to start the speech recognition in case it is stopped.
Sometimes the speech recognition fails to understand what is said, and nothing happens, in that case you have to press in google speech button exactly the middle or dismiss the popup clicking twice somewhere little above the android native back button. (Unfortunately I couldn't solve this problem yet)

If there is any problem or recommendation please let me know.

Text to speech configuration: It gets the default configuration from your phone, so if you want to change speed of speech or language you can do it on android settings, language and input, text to speech output.

How to easily find games:
If you click on the top button of the app "Browse supported games", it will bring you to the website https://ifarchive.org/indexes/if-archiv … zcode.html where the game files are directly available for download. Once the game file is downloaded, you just need to go back to the app and start audio or text mode, and the file scanner is going to find your downloaded games.

Game lists:
https://ifarchive.org/indexes/if-archiv … zcode.html

https://ifdb.tads.org/search?sortby=rcu … AZ-Machine

How to play quick guide:
http://www.microheaven.com/ifguide/step3.html

Supported formats: Z-Machine games
-.z[1-8]
-.zblorb
-zlb

2019-01-03 08:07:43

This sounds great! Can you please release this for iOS as well?   Also, is there a possibility you can release this to windows and Mac?

2019-01-03 08:31:43

Hi Dalen,

Unfortunately for iOS I have 2 problems to release there. First that I developed the app for android native, so to convert I would have to recreate all from zero, and second that to release on apple app store I have to have a subscription and pay every year 100 dollars, and I just started developing apps, so not worth for me yet.

But the project is open source, and maybe an iOS developer here from the forum could port it to iOS!

About porting it to Windows and Mac, that should be easier, I will think about it! smile

2019-01-03 08:33:12

Think about the windows and mac versions, it would be a quite interesting thing to try it out.

2019-01-03 08:49:54

Interesting stuff for sure. I don't have an Android phone, but I'll see if it works on my android device.

Best regards SLJ.
Feel free to contact me privately if you have something in mind. If you do so, then please send me a mail instead of using the private message on the forum, since I don't check those very often.
Facebook: https://facebook.com/sorenjensen1988
Twitter: https://twitter.com/soerenjensen

2019-01-03 09:26:40

Ok O just tried the app and got a couple errors. Being big into text adventures I already have many in my download folder, and the app recognized them immediately. One of the zblorb games told me the following in text mode:

java.lang.ClassCastException: org.zmpp.windowing.BufferedScreenModel cannot be cast to org.zmpp.windowing.ScreenModel6
org.zmpp.windowing.BufferedScreenModel cannot be cast to org.zmpp.windowing.ScreenModel6
I'm guessing that the app doesn't support graphics yet. The name of the game was the color of magic.

Next I ran 905.z5 and got this error:

org.zmpp.vm.InvalidStoryException
null

Lastly, it would help a great deal if one could choose between text and audio mode after choosing an adventure since it would be impractical to listen to a list of over 300 games before making a selection. The person would be using their screen reader to navigae around the app anyway. In that regard, the app is accessible both in audio and text mode with the game K got it to work on. Keep it up. smile

2019-01-03 09:42:06

Hi Kenshira,

Thanks for the feedback! Indeed the app doesn't support graphics you are right!
About the 905.z5, I find the error strange, because I have the 905 game myself, downloaded from here https://ifarchive.org/indexes/if-archiv … zcode.html and it works. Can you try using the version from this website and see if works for you?

And about the long list, even on audio mode while it is listing the story files, you can click on one of them on the list itself and then its going to skip the voice listing! But right now it shows the whole file path, I think I will change that to show only the filename like in text mode. I dont know exactly how the screen readers work, maybe i should try it out. Do you mean that the listing files out loud is not necessary?

Regards,
Daniel

2019-01-03 10:54:13

Well, when using the screen reader with audio mode, the voice prompt tends to interfeer when swiping to scroll through games, but I can press back to close the voice prompt and resume scrolling. Or, I can choose audio mode and the app will start reading the title of every single game to me if I don't interact with the screen first. I just thought it might be easier to choose first, and then start the audio session from the beginning of the game.

I'll try the other version of 905 in a few hours after I get some sleep. I also wonder if putting it in the wrong directory would cause the game to error.

If you want to try with a screen reader, talkback which id a part of google accessibility suite, and samsung voice assistance are the main ones, with common jestures being left/right swipes or single taps to find an items, and double taps to choose it. Really appreciate you working on this as the android gaming market is behind when it comes to accessible games.

2019-01-03 20:47:10 (edited by queenslight 2019-01-05 15:56:06)

@daniel

Welcome to the forums!

Yes, audio games on Android sadly are not as plentiful like on IOS, though its more do to the myth that Android isn't a viable enough platform for developers to support a small community. Or, they just don't want to take the time to learn the Android platform in general from a blindness perspective.

The following links, will help you out on your journey:

1. The "Official" Eyes-Free Google Discussion Group , for blind/visually impaired Android users.
[email protected]
2. The "official" Android Accessibility Support Pages , from Google Help
3. The "official" guide to Voice Assistant Gestures , from "Samsung Uk."
(For Contact info for Samsung Accessibility in the USA, see the Samsung Accessibility US Site
4. Google's Android Accessibility Scanner application
5. The Visually Impaired Kindle Users Group
6. The "Official" Fire Tablet Accessibility Web Site.
In addition, here's the "official" VoiceView Screen Reader  User's Guide.

And now, time for me to give this a "spin!"

Sincerely,

Trenton Matthews

2019-01-04 08:09:41

Hi Trenton,

Thanks for your welcome!
Nice, a lot of information about accessibility, thanks!
I didn't know about the Accessibility Scanner App, interesting!

Hi Kenshira,

I think I understand what you mean now, but first I will test with screen reader and accessibility suite to see what is really necessary on my app, and what is overkill (like the enumeration of the games probably). I think I will create a settings page to make the app more flexible.

The feature requests I got so far are the following:
-Setting to disable and enable the voice prompt while choosing the file (maybe if I hear from most of people that this voice prompt is not useful at all during file picking I will remove it entirely, and if I remove it entirely I will swap the order of choosing the game file and choose the mode like you said);
-Setting to disable and enable automatic voice prompt ingame (Someone told me the prompt is too fast after the story piece is said out loud, that they don't have time to think, if disabled you have to click on the screen to start the voice prompt);
-Button or textbox on audio mode to enter text on the game, because sometimes you have to put in password or weird words that the voice recognition cannot capture;

Regards,
Daniel

2019-01-04 10:35:26

oh, sounds interesting. Will check it out. And to have a Windows port would be also interesting, since that would be a new way to experience such games even on Windows. That would be cool. BTW: is the Support of more file formats planet?

2019-01-04 13:58:35

@Daniel

You're welcome!

I noticed the link to the "Eyes-Free Group" for Android wasn't showing up properly, thus I fixed it in post 9.
It was me accidentally adding a new line for  said URL in the "BB Code" somewhere, how odd!

Yep? Android can be quite amazing, once ya understand how it works.

2019-01-04 22:30:30

Would you consider making this for the Amazon fire os?

2019-01-05 09:28:34

@Niklas
After I make the app stable and mostly bug free I will make a port for Windows/OSX/Linux, but for that I have to find another speech recognition engine, because google api is only free for android(if i read it right on the website).
The same goes for supporting more file formats, right now I am using the ZMPP open source project (https://sourceforge.net/projects/zmpp/) that only support Z-Machine files. Once everything is stable I can maybe find another engine, that support other formats, and integrate that as well in the app.

@Trenton
No problem, I could copy the link even when the url was in that weird format! Android is indeed amazing, I tested the TalkBack accessibility tool and is quite cool!

@Kenshira
Like I said above, I tried out the TalkBack tool on android, amazing! And using that I agree with you that the Voice enumaration of files is not necessary, the accessibility tool handles the list pretty well! But I also found that on the first load of the game in audio mode, the TalkBack interferes with the in-game text to speech, I will try to make this part less messy.

@Cyco
I have uploaded the app to amazon app store just now, when is approved and published I will put a link here for you to try it out! I cannot guarantee that will work because I don't have a FireOS device.

Regards,
Daniel

2019-01-08 13:57:19

@Cyco
The FireOS app store rejected my app saying that is not fully compatible. I read that in theory android application should work on Fire OS, but it didn't get approved. If you want i could send you the apk file via PM so you can try. Otherwise i will have to take some time to investigate the compatibility issues.

Regards, Daniel.

2019-01-08 14:16:49

Hello.
What programming language did you use for this?
Thanks.

2019-01-08 18:24:33

Any chance of Glulx support or...
Happy to have an accessible ZMachine interpreter for Android regardless.

2019-01-09 10:00:18

Jonikster,

The programming language is java, you can check it out the source code on my github https://github.com/drossimarinho/audioIF .
The code is still messy, but after an update i will try to organise it better

Defender,
Glulx support is not yet planned, I need to find another engine that supports that format and integrate it with the app. I plan to do it in the near future. But could take time.

Regards,
Daniel

2019-01-09 10:42:22

danielrm11,
Does it make sense to use Java, which will be paid in the future?

2019-01-10 08:15:00

Jonikster,

I didn't know about it going to be paid! But I made it in java because it's the native language of Android, and because I because I could use the speech api in a native way. Truth is that it felt like it was the best thing to when I started.
But after what you said I googled a bit, and according to this guy who works on Oracle, it's only going to be paid for businesses and commercial projects. My project is open source and free, so it doesn't require the paid license from Oracle.
Article link: https://www.quora.com/Is-Oracle-going-t … d-language
And someone also adds on the article

"No. You can freely download Java from Oracle, and you can pay for extra support if needed. There are other companies that offer Java for free too, and there is the open source implementation of Java - OpenJDK.

Java is a free and open source language."

So I think is gonna be okay!

Regards,
Daniel

2019-01-10 19:51:06

danielrm11,
No no no, you're wrong.
Oracle said it would pay for any use of Java.
In addition, OpenJDK. And you can not guess how it works?
Oracle helps OpenJDK. This will not happen if Oracle refuses.

2019-01-10 21:54:58

Jonikster,

Okay, if in the future I cannot continue this project without a license, then I could port this to other language available.
The app idea is simple, as long as I have an interactive fiction interpreter, voice recognition and text to speech, this can be done.
I wonder what is going to happen to android platform when the java language becomes paid, this is unfortunate!

Regards,
Daniel

2019-01-11 01:42:26 (edited by queenslight 2019-01-11 01:43:17)

Greetings!

The following linked article from DZone  should hopefully explain things better.

2019-01-11 03:45:08

danielrm11,
There is a programming language Kotlin, although I don't know whether it will be paid.
For games on Android, there is C# and Monogame.
Today I will post a question on Quora, whether Java will be paid for non-commercial projects.

2019-01-12 12:09:47

Thanks! Kotlin looks quite interesting indeed! I am a little obsolete about new technologies I guess haha