Quest World is a text-based adventure game with an observability twist. In this game, you'll embark on a journey through a mystical world, interacting with characters, exploring locations, and making choices that shape your destiny. The game is designed to teach you about observability concepts while you embark on an exciting quest.
Checkout our blog post here to learn more about the game.
You can play Quest World in a sandbox environment. The online VM is pre-configured with all the necessary components to run the game. Click the button below to launch the VM and start playing.
And follow the instructions here.
You can run Quest World on your local machine using Docker. Follow the instructions below to get started.
-
Clone the repository
git clone https://github.com/grafana/adventure.git
-
Navigate to the
adventuredirectorycd adventure -
Spin up the Observability Stack using Docker Compose
docker compose up -d
Instead of using a python virtual environment, you can run the game in a Docker container with the following steps.
-
First build the Docker image:
docker build -t adventure:latest .Note: Make sure you are in the top level of the
adventuredirectory. -
Run the container:
docker run -it --network=adventure_adventure --name adventure -e SETUP=docker adventure:latest
Once up, check the gameplay instructions
Once you finished playing, to clean up your environment run:
docker stop adventure
docker compose downIf you prefer to use a python virtual environment, follow the instructions below.
-
Clone the repository
git clone https://github.com/grafana/adventure.git
-
Navigate to the
adventuredirectorycd adventure -
Spin up the Observability Stack using Docker Compose
docker compose up -d
Quest World runs as a python application our recommended way to install it is to use a virtual environment.
-
Create a virtual environment
python3.12 -m venv .venv
-
Activate the virtual environment
source .venv/bin/activate -
Upgrade pip
pip install --upgrade pip
-
Install the required dependencies
pip install -r requirements.txt
-
Run the application
python main.py
- Upon starting the game, you will receive a description of your current location and a list of available actions.
- Type the command corresponding to the action you want to take and press Enter.
- The game continues based on your inputs and choices.
- This game involves checking Grafana dashboards to progress. You can access the Grafana dashboard at
http://localhost:3000. Check the dashboard for hints and clues.
At any point, you can type list actions to see the available commands in your current location.
Some universal commands include:
quitorexit: End the game.list actions: Display available actions.
Sample Actions:
- Movement:
go northgo southgo to town
- Interactions:
request swordpick herbexploreaccept questlook at swordpray
- Special Commands:
cheat(to obtain a sword immediately; not recommended).
Note: Not all actions are available in every location. Some actions may require certain conditions to be met or prerequisites to be fulfilled.
- Explore Thoroughly: Don't hesitate to try different actions to discover hidden elements.
- Manage Your Items: Keep track of items like swords and herbs; they can affect your interactions.
- Interact with Characters: Talking to NPCs like the blacksmith, wizard, or priest can open new paths.
- Monitor Forge Heat: When at the blacksmith, you'll need to manage the forge's heat to get your sword.
- Beware of Choices: Some decisions, like accepting the wizard's offer, have consequences.
-
Starting Out:
- You're at the starting point with the option to
go northorcheat. - Typing
go northtakes you to the forest.
- You're at the starting point with the option to
-
In the Forest:
- Options include
go northto the cave,go southback to start,go to town, orpick herb. - You might choose to
pick herband thengo to town.
- Options include
-
In the Town:
- Several locations to explore:
blacksmith,mysterious man,quest giver,chapel. - Visit the
blacksmithtorequest sword.
- Several locations to explore:
-
At the Blacksmith:
- After requesting a sword, you'll need to
heat forgeandcheck swordperiodically. - Adjust the forge heat using
heat forgeandcool forgeuntil the sword is ready.
- After requesting a sword, you'll need to
-
Getting the Sword:
- Once the forge is at the correct temperature,
check swordwill let you obtain it. - With the sword, you can interact with other characters differently.
- Once the forge is at the correct temperature,
-
Meeting the Wizard:
- Return to town and choose
mysterious manto meet the wizard (requires having a sword). - Decide whether to
accept his offerordecline his offer.
- Return to town and choose
-
Accepting a Quest:
- Visit the
quest givertoaccept quest. - Your ability to complete the quest may depend on previous choices.
- Visit the
-
Visiting the Chapel:
- Go to the
chapelandlook at swordto interact with the priest. - The priest can bless your sword, especially if it's been cursed.
- Go to the
Remember, the game is dynamic, and your choices can lead to different outcomes. Enjoy the adventure!