Modular Text Adventure
A downloadable game for Windows and Android
This is a text adventure game built to be fully customizable with minimal effort.
How to customize:
Open either "objects.toml" or "use.toml" in a text editor
objects.toml
To create a new object, choose a unique id and name:
[0] <- object id name = "basement door"
That's it! Unless you wanted to look at it. In that case, put it in a room:
[1] name = "basement" children = ["basement door"]
Object names and ids are interchangeable internally:
children = ["0"]
And objects can exist in multiple rooms at once:
[1] name = "basement" children = ["basement door"] [2] name = "hallway" children = ["basement door","vase"]
You can assign variables to the objects, so long as the values aren't text:
[3] name = "vase" some_number = 3.1415926535 some_list = ["basement","hallway"] some_table = {"some_value" = 3}
Why not text? Well, that's how you define directions:
[1] name = "basement" north = "hallway" [2] name = "hallway" south = "basement" in = "vase" [3] name = "vase" out = "hallway"
But of course, you'll want to play the game you've created:
[4] name = "me" player = true
And to pick stuff up:
[3] name = "vase" item = true
There's more in the provided objects.toml file, but for now, you want to do something other than move and grab stuff, right?
uses.toml
This file specifies how objects interact with the "use" command.
First, specify which objects are being used:
[0] <- use id objects = ["rock","vase"]
Then you determine the outcome:
destroy = ["vase"] print = "You broke the vase."
Which may involve creating things:
[0.create.0] name = "vase shard 1"
And that involves the same format as above!
Version Differences
- Version 1.0 - Initial release
- Version 1.1 - Bugfix, should not crash upon startup.
- Versions 1.0 and 1.1 were built on Android, and thus have only been tested there.
- Version 2.0 - Windows version released.
- Version 2.0 allows you to load your own modules written in Python.
- Version 2.1 - Fixed some bugs
Crashes and other bugs
Crashes, or bugs that would otherwise crash the game are stored in the "exceptions" folder. If one does not exist, it will be created. The created file contains the traceback - that and a rough explanation of what you were doing when it happened would be greatly appreciated!
Other notes
- You can use the command "boot [objects filename] [uses filename]" to load any new file in the same folder (or subfolder or sub-subfolder...).
- Read the "new_objects.toml" and "new_uses.toml" files. They have a little more information regarding how to create your own text adventure.
- I may have specified "room", but the program absolutely doesn't. You can put a rock inside a knife if you wanted.
- In version 1.0, not specifying a player object causes an endless cycle where you'll never get your turn, even to quit. This is fixed in later versions which simply raise an error.
- Versions 1.0 and 1.1 were built on Android, not Windows.
- For Android, the python interpreter I suggest is "PyCode" on the Google Play Store.
Updated | 25 days ago |
Status | Released |
Platforms | Windows, Android |
Author | arachnidev |
Genre | Simulation |
Tags | Indie, Moddable, Modular, Singleplayer, Text based |
Download
Click download now to get access to the following files:
Development log
- Modular Text Adventure 2.1Jun 22, 2024
- Modular Text Adventure 2.0 Is FinishedJun 18, 2024
- Modular Text AdventureJun 01, 2024