GithubHelp home page GithubHelp logo

tccowper / fabularium Goto Github PK

View Code? Open in Web Editor NEW
41.0 7.0 9.0 26.45 MB

Source code for Fabularium (https://play.google.com/store/apps/details?id=com.luxlunae.fabularium)

License: GNU General Public License v2.0

HTML 8.84% C 29.24% C++ 31.88% Objective-C 0.20% Perl 6 18.11% Perl 1.97% Terra 0.20% ActionScript 0.02% Makefile 0.14% CSS 0.07% JavaScript 1.50% Java 7.53% CMake 0.05% Shell 0.05% Inno Setup 0.02% GDB 0.01% Tcl 0.02% GAP 0.03% sed 0.01% Python 0.14%

fabularium's Introduction

Fabularium

This is the source code for the Fabularium app at https://play.google.com/store/apps/details?id=com.luxlunae.fabularium.

About

Create and play interactive fiction on your Android phone or tablet. Also known as text adventures, interactive books, playable novels, z-machine, glulx, tads, terps. Fun for adults and also a great way to encourage children to read and develop their imaginations.

Fabularium can play all of the major formats: Adrift (including version 5), AdvSys, the Adventure Game Toolkit (AGT), Alan (2 and 3), Glulx, Hugo, Level 9, Magnetic Scrolls, Scott Adams Adventures (Scottfree), Tads (2 and 3) and Zcode (Infocom). It also includes a simple integrated development environment (IDE) for creating your own Glulx, Tads 3 and Zcode games.

Fabularium supports Unicode games, so if you would prefer to play in a language other than English, no problems! Either define your own keyboard via the keyboards.ini file (see examples in that file) or disable the built-in keyboard via the settings, to use your system keyboard. Keyboards defined via keyboards.ini can have multiple layouts and each key can be programmed to generate one Unicode character, a complete command, or even multiple commands, that are fed to the interpreter one by one. As with anything else in fab.ini, you can set the different keyboards you've defined in keyboards.ini to automatically load with different game and terp combinations.

Fabularium takes accessibility seriously. Much of the app is now TalkBack enabled and the built-in keyboard supports "explore by touch" and "lift to type" technology. Accessibility features will continue to improve over the coming releases. If you are blind or vision-impaired and would like to help me with this (e.g. testing and feature suggestions), let me know.

We care about typography! While the default settings should work for most games, Fabularium is also highly customisable. Make the margins as narrow or as wide as you want. Don't like the default fonts and colours? Change them. Adjust line spacing. Fiddle with other typographical features. Optimise that game for your device's screen. For maximum screen space, try using a hardware keyboard.

Fabularium is and always will be completely free, with no ads, and open source. It does not come bundled with any games; you will need to obtain these separately. There are many games freely available at www.ifdb.tads.org and www.ifarchive.org. You can download these games anywhere to your internal storage/SD card and then add them to your library from within the app. The app is also able to extract files from ZIP archives.

Inspired by the great Gargoyle interpreter by Tor Andersson, Fabularium implements Andrew Plotkin's Glk 0.7.5 spec in Android and can therefore support any glk-enabled interpreter. More interpreters may be added in the future.

For further information see the in-app help.

Compiling

Using Android Studio:

  1. Clone the repository to your local machine (git clone https://github.com/tccowper/fabularium.git).
  2. Open a recent version of Android Studio (e.g. 3.3.1).
  3. Choose "Import project (Gradle, Eclipse ADT, etc.)" and, when prompted, select the root folder of the cloned repository.
  4. The project should open in Android Studio - if prompted, choose to recreate any missing gradle wrapper files, etc.
  5. Build it within Android Studio as you would any other app (Build=>Make project, Ctrl+F9, etc.).

Contact details

Questions, comments, feedback and suggestions for future features always welcome, please contact me at [email protected].

fabularium's People

Contributors

tccowper avatar

Stargazers

Sara Tasche avatar Alexis Purslane avatar Emmanuel S. avatar Noah Friedman avatar Marcin Koziński avatar Larson T. avatar Autumn avatar  avatar  avatar  avatar Kevin Canto avatar  avatar Arch 💕 avatar Ralph Trickey avatar Tomas Öberg avatar Sunny avatar  avatar Edgar Gonzàlez i Pellicer avatar Luke Jones avatar  avatar Neil Stoker avatar Benjamin Slade avatar  avatar Dave Wilson avatar Ethan Kerrick avatar Paul Jordan avatar  avatar  avatar Collin Shepherd avatar Rok Ajdnik avatar Andre Kuehne avatar David A Roberts avatar Vladimir Macko avatar Luther Ramsey avatar Wout Mertens avatar Johnny avatar Paul de Vrieze avatar Nikos Chantziaras avatar Gren Drake avatar Dannii Willis avatar Dan Fabulich avatar

Watchers

 avatar Luke Jones avatar Luther Ramsey avatar  avatar w avatar  avatar Paul Jordan avatar

fabularium's Issues

Include Alan 3 compiler

I would like to know if the Alan 3 compiler could be added. It's the authoring system that I work with most and a good language that is still receiving updates (more updates than Inform and TADS)

Arrow keys are non-functional

Hello,

Using the current version as it appears on F-Droid, the left/right and up/down arrows on both the built-in keyboard and all others I've tried have no effect within, at least, zcode games. Up/down should allow one to browse previous input history, and left/right are expected to position the cursor for editing; neither of these events occur.

I have not modified any settings that seem relevant to this, and the only manual INI changes I have made are to adjust the background colours to default to black on white. Resetting the config files via the UI did not appear to affect the keyboard problems.

Distribute on F-Droid

As an open source application, Fabularium is well suited for inclusion to F-Droid.

Many people prefer not to install apps from the Google Play Store, and some devices don't have the Play Store available. Having this app on F-DROID can increase its reach to those people.

Backspace not working with non-built in keyboard

I recently got myself a an Android based E-book (Onyx Nova Pro) reader and I thought it would be nice to do some interactive fiction on it. I found fabularium and configured it to not use the internal keyboard, as I'm an old fan of the Grafitti keyboard, and I prefer using it to the internal keyboard.

Unfortunately I found that doing Backspace doesn't work for that keyboard, even though it works everywhere else. Testing various different keyboard showed that backspace works for keyboard based keyboards, but whenever there is handwriting involved it doesn't accept it. E.g. it doesn't recognize the backspace key for the Google Handwriting keyboard.

Btw, instead of replacing the whole keyboard, couldn't you do something more similar to the terminal emulator Termux that allows configuring an additional row of keys above whatever keyboard the user chooses? That seems less intrusive to me.

Full Unicode support in Glulx (including emojis)

glulx should allow full Unicode support, however many characters (particularly emojis) fail to render in Fabularium.

The following source code generates a story which displays various types of characters

https://www.eblong.com/zarf/glulx/unicodetest.inf

Screenshot_20220123-170713

This screenshot shows that Fabularium fail to render the emojis.

I've tried this same file in Gargoyle on macOS, and in Quixe and both render all characters correctly.

I've tried this in Fabularium on two devices, both of which support these characters in other apps.

Tap words to enter them

It would be great if entry was easier, by pasting words you tap in the window into the entry line (adding space).

Likewise, a ribbon with frequently used first words (presumably verbs) would also save a bunch of typing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.