Fabularium - Android GLK + TADS HTML IF interpreter

Ok, thanks for confirming, shame. I do agree there is great potential here, so hopefully somebody can take it on.

2 Likes

I thought covers are build into glulxe archives and for the rest types should be downloaded and putting into game dolder manually. If press refresh button you will retrieve glulxe covers automatically.
This is a part of whatever I have installed now. I can do scroll to show more games.

Since tcowper is no longer available, the F-Droid repository packages a fork. That fork only really has licensing changes right now, but it’s slightly less stale than the original repository, and might be a more fruitful nucleation site for maintenance efforts.

2 Likes

There be almost impossible including a simple apk file 0_o
Not everyone knows how android studio works.

I’ve just had a look at the source from F-Droid and, as you say it has minimal changes - looks like a bit of a tidy up. Perhaps I’ll send a message to the owner of this fork.

1 Like

Jade. Yes, I have these icons on one device, but not the other. I think that they were downloaded when the link was working. It does not seem to be able to get these for me now.

1 Like

If game is glulxe Fabularium extract the cover game*png and save this cover into gamedata folder. Otherwise you can do it manually. When I try to retrieve metadata cover change fron Fabularium by default to IFdb by default if there is no cover available

1 Like

I have installed release 1.5.0 and there is the link you have to write down in Settigs / url for downloading metadata.

http://ifdb.tads.org/viewgame?ifiction&ifid=

For example: Fabularium will look for the metadata for Locked Door III game.
https://ifdb.org/viewgame?id=7ydwbl5iigiev03u

  • Jade
2 Likes

Looksi like the developer is no longer around?

2 Likes

Fabularium works fine but has some issues. Last built (last via ifwiki, playstore is older) is several years old.

1 Like

Does anyone know how to make the arrow keys work using the default keyboard? So I can use the up and down scroll through the input history and left and right to move the cursor when editing a word instead of erasing during input.

1 Like

I created my own tunned keyboard, but finally I prefer my bluetooth keyboard instead the buit in.

2 Likes

I did some digging into the code, and I think I’ve fixed the bug that causes Glulx transcripts to omit the player’s commands:

I’ve tested it on my phone, and everything seems to work smoothly. That said, I’m not very familiar with the code and it’s possible I’ve messed something up in the process. If anyone has a moment to look over my tweaks for programming crimes, I would really appreciate it.

4 Likes

¿Where can I download the working release? I want to try It out.

I’m still figuring that part out :sweat_smile: For now, you’d have to download the source code and compile it in Android Studio 3.5 yourself.

3 Likes

I’m not sure what changed, but three years ago I could never get the metadata download to work, but yesterday I was able to get it to work on three different Android devices from fresh installs from f-droid.

I think the issue might have been the version downloaded from the Google Play store all those years ago? I tried grabbing metadata on that version that was still installed on my Chromebook and it was a no-go, then deleted it and installed the one from f-droid and it worked with no issues. The link to grab the metadata was exactly the same, so something else was causing it to fail.

So, long story short, if you never got this to download metadata and want to have those pretty images on Android, try nuking your current copy and grabbing the f-droid one!

6 Likes

(The F-Droid fork of) Fabularium version 1.5.1, containing @Keltena’s fix, was released a few days ago and is now available on F-Droid.

6 Likes

Thank you very much.

1 Like

I have created my first transcript of a glulxe Game and It is al right.

2 Likes

Hi, I’ve been having some issues with Fabularium - fabulous app - and apparently this thread may be the most relevant place to post them. I had originally tried to e-mail tcowper, but, as I see now, I’m hardly the first one to discover that was not very useful.

I think the most useful thing to do is post the issues I had as I wrote in my e-mail. Hopefully these will help.

Apart from these, I do wish that Fabularium, like ScummVM does, allowed for to categorize the games alphabetically and collapse/expand as needed. I.e., having a collapsible entry for “A”. “B”, “C”, etc. And/or a search function. Without these… as the collection grows, isn’t it harder to navigate?

Anyway, my issues, as I e-mailed tcowper.

The saving interface is a bit clunky

I’ll start with the most awkward thing about it: the “save/restore” mechanism. It’s a bit unusual, isn’t it? I type “save”, it brings me to a list of existing savegames and, if I select “new”, it automatically creates a new savegame named “1” (or the next sequential number as aplicable).

Which means that, for me to save a game with a specific name, which I always want to do, I have to first “save” to create the default savegame, then type “save” again, edit the previous savegame name to what I wanted to save it as, and then “cancel” back to the game. This seems rather unnecessary, doesn’t it? Would it be possible to address this?

Fabularium isn't 100% ZMachine compliant.

The other thing is just that I noticed, by running the ZSpec11.z6 file that comes with Windows Frotz, that Fabularium isn’t 100% ZMachine compliant. I don’t know whether this is something you have much control over, if any; maybe it’s because of the Gargoyle interpreters that Fabularium used (I never liked Gargoyle, to be honest, jack of all trades and master of none; I always felt that it couldn’t handle the more extreme zmachine abuses as well as simply using Frotz). Still, thought I’d mention it.

There were some game entries I was unable to “remove“; Fabularium would crash.

So, for this one I should give you some background. Because of the way I manage data and space in my tablet, having each game’s entry be identified by its IFID is an absolute no-no; I would never be able to navigate them, which I would need to do to delete extraneous saved games and to copy resource files for Hugo games. Plus, since when I “automatically” add the games, the name that they get added with isn’t always the name I’d want them to be added with, and Fabularium doesn’t allow me to rename an added game. So I always “add them manually”, and for the IFID I just put the game’s name as it appears on the folder (if no two folders have the same name, this way, neither will two IFIDs; if some games do have the same name, I append the author’s last name to them).

Having given you this background information, while this works great, I noticed that when I played “1893: A World’s Fair Mystery” (this is the title of the game and, therefore, this is what I put the IFID as), when I tried to remove it at some point, Fabularium just crashed. I could not remove the game. I could remove the metadata, but Fabularium would crash when I tried to remove it. Every single time. I tried going into the android/data folder, but there was nothing there I could remove either. I had to uninstall and reinstall the app. This happened again, and consistently (though I’m not able to tell you whether it happened immediately or only after I saved a game). To the point where I was a bit wary of building a database of games, only to have some that could not be removed without uninstalling and therefore losing the whole database.

Surprisingly, the same thing happened to " 'Mid the sagebrush and the cactus".

My current theory is that the IFID field doesn’t like apostrophes, so I’m filling out the IFID with the games’ titles but with as little extra characters as possible, trying to make it so that they only include letters of the alphabet. So far it’s been working well.

Some options in fab.ini are not actually used/recognised

You probably know this already, but it comes as a surprise to the user. I had, for the longest time, been trying to set up a “caret”, with no luck, and it wasn’t until I opened GLK.LOG that I saw many, many, many lines like “[E] Don’t (yet) recognise config setting ‘caretshape 4’. Skipping.” This is partly surprising because your own help texts and/or comments mention changing the Gamma for a dark mode (I myself have changed the colours to achieve a dark mode), and Gamma is one of the settings it says it doesn’t yet recognise.

When using my virtual keyboard instead of built-in, “backspace“ doesn't work.

On the whole I prefer to use your built-in keyboard, but today I leard how to have a split layout in my GBoard (the default) virtual keyboard in landscape mode. Whew, it’s a relief on my tablet; partly because your built-in keyboard is a tad too small for me to comfortably tap the correct keys in. But upon testing I noticed that, oddly, the “backspace” key (in my virtual keyboard, not your built-in one) doesn’t work. I flipped to Portrait mode, where the split layour reverts to the regular layout, and backspace still doesn’t work.

Crashes a lot when split-screen or (dis)connecting physical keyboards

This one is a bit of a PITR - pain in the rear, I’m afraid. Fabularium is prone to having its interpreters crash if running a game and I either, a) connect or disconnect a physical keyboard partway through, via bluetooth or USB bluetooth dongle, or b) have it share the screen, split-screen, with IFMapper - or adjust the space it shares - mid-game.

Currently I know that, if I want to (dis)connect a keyboard, I can’t be in the middle of a game. I have to save, quit, do my change, reload and restore. If I forget to do that, the interpreter will crash. And I’ll need to fully quit Fab to activate it again.

It’s more finicky for IFMapper. I have to do these things in order: open IFMapper, if Fabularium is already open I have to close it and reopen it to make sure, set up the splitscreen, additionally set up the keyboard, adjust the space if I want Fab to have more screen space, and THEN I open the game.

After the game is open and running, any change to the space allocated either app will crash the interpreter, and I have to close. And when I close, I lose the splitscreen, so I have to do this all over again. Similarly, if I (dis)connect the physical keyboard, as mentioned before, the interpreter will crash; taking the splitscreen along with it.

And if the splitscreen is successful, and I leave the game for a while, and possibly alt-tab on to other apps, when I return to Fab+IFMapper there is no guarantee it’ll allow me to resume; it’s likely that I return to find the interpreter has crashed. So there I go, closing both apps and reopening them all over again, using those steps.

I think you’ll agree - kind of a PITR!

The screen sometimes gets too bright when using a physical keyboard

This is the one that affects me the most, and I saved it for last. I should start by clarifying two things:

1: What I mean by “gets too bright” is, you know how, when using a physical keyboard and using “tab” to cycle between options, the selected option is of a slightly different brigther colour? Sometimes the WHOLE SCREEN becomes this different colour, and I can use “tab” to make this “brighter selection area” switch between the status line or the main window. Unfortunately, as soon as I enter a command, the focus - and brightness - return to the main window. More on how this happens in a second.

2: As I mentioned, I’ve got dark mode on. My colour settings have, generally speaking, 000000 for window colour and 9ba3a3 for text colour (Baskerville Old Face for font). This is relevant because, when the whole screen gets brighter, it’s really glaring and really bothers my eyes.

It happens a bit differently in different terps. In AGT it didn’t seem to happen at all. In TADS (2 or 3) it happens all the time; I can’t play a game with my physical keyboard without it happening. I can mitigate it by pressing tab (or the “up” key) to switch the glare to the status line, which gives blessed relief, but it’s hardly worth it since it comes back after each and every command.

In Glulx (and I think zCode too, didn’t test my workaround yet) I found a workaround. For starters, with these it doesn’t start happening immediately. Sometimes it would start happening for no trigger I could tell, but that was rare; it was usually related to a metacommand. UNDO reliably makes it happen. If I UNDO, then the screen starts glaring. Same thing with in-game menus (like the ABOUT screen in A Bear’s Night Out, or the HINTs in “A Beauty Cold And Austere”). Entering an in-game menu is a sure way to trigger this.

Here’s what I do in Glulx and zCode. When this happens, and after I leave the menu if I was on it, I tab so that the glare moves to the status line; then I type SAVE and save a game on whatever savegame I have around that I can overwrite without pressing any other buttons.

This makes the setting kind of “stick”. If I forget to tab the glare away before doing this, the glare stays on. If, on the other hand, I do this like so, the glare is gone and doesn’t return when I enter commands; it will stay gone until next time I type UNDO or enter an ingame menu.

PS - “Necrotic Drift“ had a weird issue in which the graphics would cover the text

“Necrotic Drift” had a weird issue in which the graphics would cover the text. I’ll have to play around with the settings for that game to see if I can somehow reduce the size of the graphics to make it work. Fingers crossed

issue with “not using built-in keyboard“ and “double-tapping a word in text“

Hello again, I literally just noticed another thing that, together with “backspace doesn’t work”, makes using our virtual keyboard (as opposed to yours built-in one) very uncomfortable.

If I double-tap a word to make it appear on the command line, the virtual keyboard disappears, and I have to bring it back. Over an extended period of playtime, this becomes somewhat untenable.

…by the way… this post with this handy “hide details” feature is like ScummVM’s database; and without this, with all of the above in a single block of text, is like Fabularium’s database. So I think I just illustrated my inital point pretty well, if I do say so myself!

EDIT - I do not expect anyone to come in and say “yessiree, we’ll get right on that for ya”, obviously. :stuck_out_tongue: This is more by way of putting these out there, just so it is, at least, “known”. And, in the particular case of the “glare” thing, to share my workaround in case it helps others, even if it IS very specific. If, for some reason, my input happens to be a tiny stepping stone on the way to an improved Android IF player, well, I have played my meager part.

1 Like