Giter Site home page Giter Site logo

storybytes's Introduction

storybytes-android

StoryBytes is the name I use to refer to the narrative game engine I've built into my games; originally built on my own scripting language, and later developed around inkle's Ink scripting language. I originally built my own ink compiler (mica-ink) until the feature set of Ink reached a level that was suitable for my needs, whereupon I started using blade-ink.

The two applications I've released of that name, storybytes-android and storybytes-desktop are simple story viewers built to demonstrate the usage of the Java Ink runtime.

StoryBytes is a very simple Android application, built using Kotlin and blade-ink.

It includes two simple Ink "games":

  • Cloak of Darkness: The eponymous "Hello World" of interactive fiction.

  • The Intercept: A short IF game from Inkle, demonstrating how the Ink script works. The source code is available online.

Roadmap

The original StoryBytes application was built mostly to experiment with code; this version got added because I've seen a few questions on Android over the years and thought it would be relatively easy to whip something together (which it was, since I've already built similar applications several times).

At the moment, there are no plans to work further on this, but if you have ideas for improvements or additions, feel free to contribute by sending in a pull request or opening a ticket.

Things that would be nice to add:

  • Built-in support for inky tags such as # IMAGE, # CLEAR, and #RESTART. I almost have this built in already (use commands that do this in P&T2), so this should be easy to add in.
  • Settings for different visual stylings (e.g., a Dark theme, etc.)

Building

The easiest way to build this, is to import the project into Android Studio, and then using "Run > Run App" to build and run the Android application.

If you just want to use it, the app itself can be downloaded directly on the Google Play store (for free, of course).

Using your own Ink files

The android application creates a new directory in your internal file storage called StoryBytes. If you want to use the app with your own Ink scripts, you can simply place the compiled ink json files generated by inklecate into that directory, and use the app to play them.

If you want to use this app as the base for releasing an own app with an ink file, don't forget to change the package name in the code so that your own app does not get into conflict with the free StoryBytes app on Google Play. Also, I would remove the code copying the assets file to the internal storage, and just read your own ink files directly from that directory.

License

This is licensed under the MIT license (for consistency with the rest of the Ink ecosystem). If that is too restrictive for your use, ping me. In general, if you use the source code for something, I appreciate it if you let me know.

storybytes's People

Contributors

michaeloa avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

storybytes's Issues

"Can not load the file" error

Just installed this on my phone and loaded my Inky-generated JSON. Got this error: "Can not load the file XXXX.ink.json; not a valid j"

(I'm guessing it's something like "not a valid JSON file", but the error is visually truncated)

I checked my example JSON vs. the JSON in the sample stories. Formatting-wise, no meaningful differences, but I did notice that my Ink version was 20 vs. the included examples which were version 18.

My gut is that the version I installed (via Play Store) needs to be updated to use a newer blade-ink version than 0.5.1. Current version is 1.0.1

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.