Revived Android App - Incant - runs Glulx sound, graphics

A well working Glulx implementation has been sitting on Github for 2.5 years. I am not the original author, that credit goes to Q P Liu.

I converted the project for modern development on Google’s Android Studio version 2.2.3. I put in some commits to try and deal with crashes I encounterd and to deal with Android permissions checks with newer versions.

It was designed with speech output and speech recognition as the primary concern for interaction. I have disabled them in an APK you can try out if you don’t want to download and compile your own source code. My focus was on getting the Glulx app out there so people could at least consider this an option and see how it performs and it’s capability compared to what else is available.

It’s notable that the author changed from MIT to GPL license very late in the coding. So I would consider it dual-licensed and I have granted both licenses on my personal changes/fork to the code. If you want the MIT license, you would need to delete out some of the very last additions, mostly an incomplete TADS interpreter. Dual-licensed like this is ‘best of both worlds’ as you basically can have your choice of GPL or non-GPL.

You can download the APK here for sideload on an Android tablet/phone/etc. – if you need help side-loading APK files on Android, please ask and I will try to assist. I suggest sticking to Android 5.0, 6.0, 7.0 - I did not have time to try it out on older devices.

I encourage people to consider dong some coding on finishing this app. A suggested ToDo list:

  1. Add a welcome screen, brief help/about screen,
  2. rework the keyboard input so it’s more friendly. Right now it’s kind of kunky because if the story wants you to press space you have to enter a [space] then press [return] to get it into the Glulx interpreter.
  3. A file picker so people could browse files and load games that they wish instead of the current live-download only model.
  4. menu options and saved preferences to do the speech output and speech recognition input. Right now it’s just hard-coded settings.
  5. Extensively test it and identify what works and what does not, what Glk features are missing, etc.
  6. Document how to turn it into a ‘publish your story as an Android app’ like the documentation steps of AndroidIF here: – both apps are built on MIT license so you can swap code between them. NOTE: AndroidIF step 4 would not be required for Incant, as Incant requires no special extensions to run on Android - Incant can run many well established ulx and gblorb game files without any changes.

Someone could publish it on the F-Droid open source app store:

Nice work. It really needs to be submitted to the Play Store too. :slight_smile:

I spent about 90 minutes on the code and rushed out a new release. v0.3.3-SNAPSHOT is the new release. Download APK here: - you will need to sideload this on Android devices. I have now tested Incant on a several devices: Samsung running Android 4.1.2, LG running Android 4.4.2, Amazon Kindle Fire generation 5 tablet, etc. It should at least open and let you start a game on a pretty wide variety of devices.

Menu options to now turn off the profile message. Menu options to turn on speech output and speech recognition - which was an outstanding feature of this unique app. These settings will NOT be saved and must be set each time you start Incant. Issues I discovered should be noted in this README file … ses/README

For the sake of clarity: It is not my current intention to put more labor into this Q P Liu’s Incant app. I just want to draw community attention to it as a working Glulx interpreter that is open source and available today. I am personally developing a yet-to-be-named new app (codename: NativeEngineC2 currently) build around RemGlk and the Git + Glulxe interpreters. I will create a new topic posting when I have APK available for preview/experiments.

Hey! Twisty 2.0 on Github has gotten it’s first commits in over 18 months: - now it’s been moved by the developers to Android Studio version 2.2.3 and some issues I mentioned on this BBS back a few months ago about nitfol and CLang, related to Android NDK 13 support, got cleared up via an older GarGlk patch that I had overlooked . Android is coming alive for Glulx and Glk choices!

EDIT: Active Twisty development and Glk fixes are going on today here:

I have now integrated a launcher button to send IF data files over to Thunderword. Long-press the story and you will get a button that says “Via Thunderword” - and if Thunderword app is on the same device - it should open the story. Or, you can use the Play button to use Incant’s internal Java Glulx / Z-Machine interpreters.

Fresh APK for side-loading is here: - release is named “TW_2”.

Did I miss an announcement? Is Thunderword actually available?

I haven’t made a big noise about it yet because it’s not user-friendly, but it is on Google Play for alpha testing. I’m aiming for April 2, 2017 as a beta release. If you want to see progress now, here is link to join the alpha: … perimental

Alpha release of Incant! for Thunderword - can run Glulx stories locally or long-press an entry and chose the button labeled [Via Thunderword] to send the story choice over to the Thunderword app. Link for Incant! : - including fork link-back to original author release of source (3 years ago).

I haven’t heard any reports of crashes with this. If you have crashes on your device, please report them when the Android dialog comes up and I will update the code.

Download link on Google Play is here:

New release published today with choice of multiple engine provider apps (Thunderword or otherwise).

Incant! now has 400 well-described and titled stories off IFDB that instantly load into a list on one touch. The list is open to all, liberal licensed (Apache 2) on GItHub.

New screen shot: – Android Developers are encouraged to expand up on this code to benefit of all.

Incant! has now been published on the Amazon app store for those with Amazon Fire tablets and phones:

It’s an amazing piece of app (actually three (four) of them).
Unfortunately, Incant 0.5.5 had the bug of double icons - one of them worked well in my case and opened and played games alright, but the other one just crushed either from the start or when chooising a game from the list.
0.5.6 fixed that bug - one icon, all games open and are playable. But today’s 0.5.7 has broke everything again - one icon, but when I choose any game from the list it crushes. Unfortunately I haven’t backed up the 0.5.6 version.
The system log was sent along with the bug report.
I hope you’ll be able to fix it soon. Thank you very much for the great implementation of our IF hopes.

Thank you for the report and support. Can you please tell me about your system, what Android are you on? Is it a Lenovo P70 , I have one crash report today on that running Android 4.4

The old List is still on the system. Go to the “hamburger” menu at the upper left, choose the final option on the menu More settings, and touch 2. Legacy story list and that should hopefully get you back in business. I’ll go look for your crash report ASAP and issue an updated version. Version 0.5.9 is now up on the Play store, hopefully that squashes your crash on the first try.

Hi again,
That’s right it’s Lenovo P70 with Android 4.4.4 on board. That was real quick, thank you, I’ve just updated with the new version that you put up in the Play Store and the new list works without a hitch.
Thank you very much!

Great to hear you are back in business.

Twisty 2.0 app has been getting some developer attention on GitHub for a couple months. I spent a few hours and hacked in basic launch receivership so that Incant! can launch stories over to the alpha of Twisty 2.0 - the Glk in Twisty 2.0 is getting pretty good. Source is up on GitHub … _provider0 - I might publish it to the Play store as a technical demo…

Nice App … but should make it more liight … :smiley:

You mean visual design? Some samples, drawings or screen shots, of your desire are welcome.