This is the client side part of Tenkiwi, which shows the user experience in the mobile apps or online. The bulk of the game rules live in the server component - https://github.com/therabidbanana/tenkiwi
Tenkiwi is a platform for playing storytelling games with friends online - a Virtual Tabletop (VTT) for a very specific kind of game.
The gameplay is most directly influenced by For the Queen, and there is a specific mode for playing Descended from the Queen games.
- Descended from the Queen (For the Queen) - seen in https://therabidbanana.itch.io/for-the-captain
- Debrief SRD - semi-competitive, with mini character creation, a spoiler character and three rounds of voting. Seen in https://therabidbanana.itch.io/culinary-contest
- Opera SRD - players solve mysteries - seen in https://therabidbanana.itch.io/this-mission-is-redacted
- Wretched and Alone SRD - solo, prompt driven games with unclear numbers of turns and unlikekly win conditions - seen in https://therabidbanana.itch.io/outsider-blues
Also some prototype work not ready for primetime.
Use the unlock code "custom" to unlock the above games with customizable spreadsheets. Note that there are currently not validations on the file to ensure you've formatted it correctly. Try starting from a template (all of my games directly share the prompt spreadsheets as a google sheet you can clone)
Game templates are TSV files available on the web - you can configure Google Sheets to output a TSV using the "Publish to Web" feature: https://gist.github.com/therabidbanana/c0145b650a5e02ab2ae79e778f423e13
The client only contains the necessary logic to display and interact with the game. Rules are built into the server and the client is intended to be as dumb as possible (making it easy to add new games without deploying to the app store).
Communication with the server is supported with Sente.
Go install the expo-cli: https://docs.expo.dev/get-started/installation
npm install -g expo-cli
yarn install
expo register
lein figwheel
yarn start
This will run "DEV=true expo start", using figwheel entry point.
Note that by default live reload will be enabled, which is bad. Turn the "production mode" toggle on to disable that while still having access to perf monitor.
lein clean
lein prod-build
Testing build
expo start --no-dev
Releasing build to Expo
eas update
Web build:
(clojurescript output creates wild warnings)
npx expo export:web 2>/dev/null
Testing web build directly:
npx serve web-build
Deploying web build to itch.io:
butler push web-build therabidbanana/tenkiwi:web
(From tenkiwi app:)
rm -rf resources/public/static
cp -R ../tenkiwi-client/web-build/* resources/public/
git add resources
git commit -m "Update web build"
git push # Does a heroku release
Takes 20-30 minutes to generate an ipa file you can download:
eas build --auto-submit
Then go to the app store to set it up. (If you're looking for them, builds are in a nonsensical place)
https://appstoreconnect.apple.com/apps/1571524662/testflight/ios
Release requires setting up a new version with the configured build after getting the test flight version out.
eas build --auto-submit
No other changes required
Copyright © 2021 David Haslem
This application adapts the X-Card, originally by John Stavropoulos
http://tinyurl.com/x-card-rpg.
Some games in this work are based on For the Queen , product of Alex Roberts and Evil Hat Productions, and licensed for our use under the Creative Commons Attribution 3.0 Unported license.
Some games in this work use material from the External Containment Bureau roleplaying game (found at https://mythicgazetteer.itch.io/external-containment-bureau), designed by Lexi Antoku, Eric Brunsell, Michael Elliott, Justin Ford, and Eli Kurtz, and published by Mythic Gazetteer LLC, pursuant to the open license available at mythicgazetteer.com/redacted-material