intfiction.org

The Interactive Fiction Community Forum
It is currently Thu Oct 18, 2018 10:52 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 26 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Sat Jan 20, 2018 4:59 am 
Offline

Joined: Sat Jan 20, 2018 4:36 am
Posts: 3
Hi all

Just wanted to announce that I have recently released Fabularium, a free Android-based GLK implementation with extensions to handle TADS HTML. Search for "fabularium interactive fiction" in the google play store.

I've been working on this in my spare time for a few years now and I feel it is now at the point where it can handle pretty much anything you might throw at Gargoyle, plus extras - eg TADS multimedia. The app is also able to create IF, using the Inform 6 and TADS 3 compilers. Still polishing source code, but intend to post that to Github or similar in the not-too-distant future.

Would appreciate feedback from anyone who has the time / inclination to try it out. Some parts are still a little rough around the edges (e. g. the text file editor), but not terribly motivated to polish further until I know there is some demand for it.

Hopefully this will help encourage more of the Android community to get into IF.

Thanks

Tim


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 20, 2018 7:59 am 
Offline
User avatar

Joined: Wed Oct 14, 2009 4:02 am
Posts: 2537
Awesome news, congrats! People sometimes ask about not just playing but writing on tablets, so now there will be another option.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 20, 2018 11:48 am 
Offline
User avatar

Joined: Sat Jun 25, 2016 12:13 pm
Posts: 245
Works!

Image


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Jan 21, 2018 8:35 pm 
Offline

Joined: Fri May 31, 2013 3:54 pm
Posts: 107
GLORY.

I don't know if everyone seeing this realizes just how long Android users have been waiting for a Glulx/TADS/etc. app that "just works," let alone one with attractive typography, cover art, extensive options, text-to-speech, full multi-interpreter support (!), HTML TADS (!!), and built-in compilers (!!!). Even the keyboard is thoughtfully designed. I've tried every incarnation of a Glulx player that's ever been released for Android, and even developed an (unpolished, unreleased) one of my own, and this is literally my dream app. Inexpressible thanks for all the time you've put into developing this!
___________________

Feedback: gameplay seems smooth and stable thus far. There are a few features that would be nice (like autosaving games when you press the "Back" button, rather than telling you to type "quit"), but having fought with the garglk terps on Android myself, I understand why this may be technically nontrivial. Two more minor feature requests:
  1. Better formatting of boxed quotes in Z-code games. Many older classics, such as Curses! and Christminster, put a lot of effort into making their splash screens look good, and for some reason modern interpreters tend not to handle this very well. Try launching Curses! in Fabularium vs. desktop Gargoyle and you'll see what I mean.
  2. The metadata retrieval tool is spectacular, but it would be nice to be able to edit metadata manually (particularly the name and cover art).

The app also tends go unresponsive when you open a game file rather than selecting it (in the Explore tab).

Dude. You ROCK.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Jan 22, 2018 1:09 am 
Offline
User avatar

Joined: Tue Apr 20, 2010 2:48 pm
Posts: 1028
Location: Greece
It looks pretty awesome. Thanks for creating this!

_________________
@realnc


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Jan 24, 2018 12:33 am 
Offline

Joined: Thu Oct 07, 2010 3:10 pm
Posts: 49
This is amazing! A friend just conducted the first alpha test of my work in progress (made using TADS 3 and adv3lite) using my phone!

Thank you for sharing this with our community!


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Jan 24, 2018 6:13 am 
Offline
User avatar

Joined: Sat Sep 09, 2017 5:57 pm
Posts: 93
Location: Under the rainbow
Will it work on a Kindle Fire HD?


Top
 Profile Send private message  
Reply with quote  
PostPosted: Thu Jan 25, 2018 1:05 am 
Offline

Joined: Sat Jan 20, 2018 4:36 am
Posts: 3
Thanks for all the positive feedback! Nice to know people are enjoying the app.

Quote:
gameplay seems smooth and stable thus far. There are a few features that would be nice (like autosaving games when you press the "Back" button, rather than telling you to type "quit"), but having fought with the garglk terps on Android myself, I understand why this may be technically nontrivial.


Yes, autosave is a feature that I would really like to see also and yes it's technically non-trivial to implement across all IF formats. A key issue is that the GLK layer (which is what Fabularium implements) only maintains the state of windows, text buffers, etc. It does not "know" anything about the stack, RAM, ROM, etc., managed by the terp - and different terps will manage these things in different ways. So preferably autosave would be initiated by the terp, which would save its current stack, etc., then call through to the GLK layer (in this case Fabularium) to save the GLK state. I believer this is how Andrew Plotkin does it with Glulx - see https://www.eblong.com/zarf/glk/terp-saving-notes.html. I may be able to get Fabularium autosaving games when the Glulx terp is used; however I probably won't get it working with the other terps unless the authors of those terps release updates to support it. I don't want to go in and start making major modifications to terp code.

Another option might be to have Fabularium save the complete memory state of the terp + game and then restore it, but that's a very crude solution and would probably fail for bigger games on memory-limited devices such as older phones.

Quote:
Better formatting of boxed quotes in Z-code games. Many older classics, such as Curses! and Christminster, put a lot of effort into making their splash screens look good, and for some reason modern interpreters tend not to handle this very well. Try launching Curses! in Fabularium vs. desktop Gargoyle and you'll see what I mean.


Yep, I'm aware of this issue also, which occurs on devices with small screens. However I think you'll find the problem is present in Gargoyle too. To see this:

  1. Work out effective screen size (in rows and cols) when running the story on a device with Fabularium. You can see what the effective screen size is on your device via the keyboard - press FN, then press and hold "B" (DBG) until a message comes up saying "debugging mode is now on". Then press "W" to dump current windows sizes. [Incidentally, when in debug mode "M" will give you memory usage and "S" will give you stream info; hold "B" again to turn debugging mode back off. Sorry, like a number of other features this isn't documented yet. Another undocumented feature that might be useful is that you can paste clipboard text into any text buffer by long-pressing that buffer - if the text includes new lines, Fabularium will issue the commands one at a time.]
  2. Now fire up Gargoyle with the same story, constrain the Gargoyle window to the same number of rows and columns, then restart the story.

I can't vouch for Windows, but I fired up the Linux version of Gargoyle just now, constrained its window to the same rows x columns dimensions as Fabularium on my phone (2 rows x 46 columns), and the attached screenshot shows the result. Looks almost the same as Fabularium.

Conclusion: the issue is either present in the terp (in this case Bocfel) or the story (in this case Curses).

Quote:
The metadata retrieval tool is spectacular, but it would be nice to be able to edit metadata manually (particularly the name and cover art).


Agreed. And unlike the earlier point this is fairly trivial to implement, I just haven't got around to it yet. Watch future releases...! ;)

Quote:
The app also tends go unresponsive when you open a game file rather than selecting it (in the Explore tab).


Yes. The way the Explore tab currently works is very simple - if you click on a directory it navigates to that directory. If you click on a file, it tries to open that file in a basic, built-in text editor. The reason why the app goes unresponsive when you click on a game in that tab is because it's trying to load the contents of that game into a text view. And for a game that is more than 1 Mb or so, that eats up memory quickly. Try opening your games in Notepad on Windows or gedit on Linux and you'll see what I mean. So this is not so much a bug as a user interface that needs further work. I think in future versions I'll detect when the user is trying to open a large file in the text editor, then pop up a message checking whether they really want to do that (and warning that it might lead to an ANR error on mobile devices).

Quote:
Will it work on a Kindle Fire HD?


I don't have a Kindle Fire HD, so unable to test. But the app should run on any version of Android from SDK 16 (4.1, Jelly Bean) onwards, and the Kindle Fire HD uses a forked version of Android that is presumably more recent than that, so - assuming the forked version didn't take out any core bits - the answer is "probably".



Current priorities for next few releases:

* Improve stability and performance
* Improve accessibility (including for the blind/vision-impaired, and for people who want to use a language other than English - i.e. translations and keyboard support improvements)
* Additional features to reduce typing - e.g. perhaps recognising swipes / gestures for particular commands, perhaps keyboard buttons that can be programmed for specific commands, etc
* Edit metadata functionality (and show a progress spinner when user is downloading metadata so people on slow connections don't think the app has just frozen)
* Implement the remaining few TADS HTML tags and support TADS resources that are bundled separately (e.g. *.rs files)
* Improve the user-friendliness and functionality of the "CREATE" feature: I'd love to see this app help budding authors to get their great IF pieces up and running, and at some point I'd like to include a "SHARE" command to help people easily send their masterpieces to each other (and the IFDB) via email, WhatsApp, etc.

If anyone has a burning desire for a new feature that's not mentioned above, please do let me know.

Thanks again for the feedback and if you like this app, please consider rating it. Aside from motivating me to keep working on it, more reviews will help it move up in the Google play search rankings so other people can find it.

And if you hit up against bugs, crashes or other frustrations, please let me know at tcowperapps@gmail.com.

Tim


Attachments:
File comment: Screenshot of Curses on Fabularium, showing banner issue
fab-curses-screenshot.png
fab-curses-screenshot.png [ 60.42 KiB | Viewed 2751 times ]
File comment: Screenshot of Curses on Gargoyle, showing banner issue - note display problems almost identical
gargoyle-curses-screenshot.png
gargoyle-curses-screenshot.png [ 48.03 KiB | Viewed 2751 times ]
Top
 Profile Send private message  
Reply with quote  
PostPosted: Thu Jan 25, 2018 12:44 pm 
Offline

Joined: Thu Oct 07, 2010 3:10 pm
Posts: 49
tcowper wrote:
Would appreciate feedback from anyone who has the time / inclination to try it out.

I have played my work in progress again, and the only issue I have encountered so far is that Fabularium does not clear the screen at the expected moment. (I have implemented clearing the screen using TADS 3's cls() command, FWIW.)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Thu Jan 25, 2018 6:18 pm 
Offline

Joined: Sat Jan 20, 2018 4:36 am
Posts: 3
Thanks Karona, I'll look into it.

Fyi, Fabularium has a few currently undocumented features that might assist the development of your work:

  1. If you want more verbose info on how Fabularium is running your work, you can check out the terp.log and glk.log files under the Fabularium folder. These files are (re-)generated for each play session. Terp.log captures messages (including any errors and warnings) from the session's terp, in this case tads. Glk.log captures errors and warnings from the Glk layer (e. g. if a game tries to send text to a window that doesn't exist). There are a few less common TADS html tags that I haven't implemented yet; if Fabularium encounters one of these you should see a FIXME message and explanation in glk.log.
  2. If you want to see the raw html that your game is sending to the Fabularium GLK layer, you can enable that in the settings.


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 26 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group