Skip to content
Alex Burr edited this page Jun 6, 2018 · 4 revisions

How to collaborate

  • Fork the repo and send us a pull request!
  • Send an email to dev@kano.me with your feedback, ideas or suggestions.
  • Visit the forum: http://world.kano.me/forum

All contributors will receive swag, our thanks and most importantly their name in the code!

Suggested areas for contribution

Adding more chapters

Out of the 8 chapters we've planned for Terminal Quest, we've released 4. If you are interested in helping implement the future chapters, or want to suggest your own ideas of how the story should continue, please get in touch!

Improving how the story is made

We currently the story is written as a strict set of classes. These initially were designed so that a specific command would pass the challenge. If the user enters the wrong command, a hint is automatically typed. However this structure can feel a little strict as it doesn't encourage the user to look around the file system (which is a mistake, as there's a lot of ascii art located around the place. It also doesn't encourage the user to solve the problem in a different way.

Translation

We need to touch several areas of the repo to make it suitable for translations. The bulk of the story text is tightly integrated with the code, and uses a non standard method of choosing the colour of the text. We also need to translate the contents and names of the files used in the file directory.

UI

When we started building Terminal Quest, all the input and output was shown in one terminal. This included the story text, terminal prompt, hint text and terminal command output. However when we started testing it on children, we found users were overwhelmed with information after entering the command. As a result, we decided to split up the application across two screens. The left screen is the narrative or "story-side" which prints the story and hint text, as well as informing the user if they've been awarded XP. The right is an embedded terminal (a Vte.Terminal). The terminal communicates to the window via a server. This means the UI can be updated accordingly when the user has entered some text.

There have been talks about maybe adding more functionality to the UI, either by creating an Inventory, showing your current location, and more information about the commands you've unlocked and the weapons (aliases) you have.

If you have feedback on any UI issues or suggestions, please get in touch.

Migrate to the web

The application has been implemented using Python GTK 3.10 toolkit, so this requires a lot of work.

Clone this wiki locally