This is a template to create interactive fiction games using the Ink language.
Features:
- Publish your games on Android, iOS and Desktop (Windows, Mac and Linux) with no effort.
- No coding is necessary.
- Fully customizable fonts, colors and images.
- Download Inky and write your story.
- If you don't know Ink, you can read the tutorial Writing with Ink.
- Make sure you have installed the JDK 17
- Download the Blade Ink Template.
- Export your story to JSON from Inky as
story.ink.json
and copy it to theassets
folder in the Blade Ink Template. - You can now test your story with
./gradlew desktop:run
in Mac and Linux, orgradlew.bat desktop:run
in Windows.
- Edit the
ui/ui.json
with your text editor and customize the skin of your game. - Overwrite the images in
ui/1
with yours. - Change the
title
property in theinkplayer.properties
with your app title.
- Overwrite all icons in
android/res/drawable-*
with your app icons. - Put your app. name in the
android/res/values/strings.xml
file. - Change the
applicationId
property in theandroid/build.gradle
file with yours.
- Overwrite all icons in
desktop/src/main/resources/icons
with your app icons.
- Overwrite all icons in
ios/data/Media.xcassets/AppIcon.appiconset
with your app icons. - Overwrite all launch images in
ios/data
with your app launch images. - Change
app.name
andapp.id
properties in theios/robovm.properties
file with yours.
Releasing your game is very easy with the release.sh
script.
Unfortunately this is an Unix script and only works on Macos and Linux. Windows users can install a bash shell to execute the script or use the gradlew.bat
directly to generate the packages. More info about using gradlew
here.
The first step is to edit the release.sh
script and set the next parameters:
# The destination folder for the packaged application
DIST_DIR=$HOME"/PACKAGES"
# IOS signing
IOS_SIGN_IDENTITY="iPhone Distribution"
IOS_PROVISIONING_PROFILE="your app provisioning profile"
# Android signing
ANDROID_KEYSTORE=$HOME/folder/to/the/android.keystore
ANDROID_KEY_ALIAS=androidkeyalias
And now you can:
Generate a .ipa
for iPhone and iPad:
./release.sh ios
Generate a .apk
for Android:
./release.sh android
Generate a runnable .jar
for desktop:
./release.sh desktop
The normal way to distribute desktop applications is to embed the Java VM inside the package to not force the user to install Java.
There are several tools to create native executables for Windows, Macos and Linux with your runnable .jar. Some examples: