A choose-your-own-adventure game written in Python, inspired by Indiana Jones and the Last Crusade. The player takes on the role of Indiana Jones on a quest to find the Holy Grail and rescue his father, navigating five stages of decisions. Built as a class project in my Master of Science in Management at Hult International Business School. The objective was to design a complete text adventure using core Python — functions, loops, conditionals, lists, and error handling — to demonstrate command of the fundamentals.
The story unfolds across five stages, each a different puzzle mechanic:
- Venice Catacombs — Identify the right sarcophagus to recover Sir Richard's shield and the clues for the trials ahead
- The Breath of God — The first trial. Survive the corridor of swinging blades
- The Word of God — The second trial. Spell the name of the Lord, one letter tile at a time
- The Path of God — The third trial. The leap of faith across the chasm
- The Grail Chamber — The final test. Choose the true Grail from five chalices A wrong choice at any stage triggers a narrative death scene and an option to restart. Survive all five and you win
Locally: Download the file, open it in Jupyter Notebook, JupyterLab, or VS Code, and run the cell. In Google Colab: open the notebook URL through Colab to run it in the browser without installing anything.
- Modular function design — one function per stage, with each stage calling the next on success and fail() on failure
- Input validation with while loops — re-prompts the user on invalid input instead of ending the game prematurely
- Tolerant input parsing — answers accept multiple forms using lists of valid inputs & .lower().strip() normalization
- Nested conditionals — outer checks input validity, inner evaluates the actual choice
- for loops with enumerate — used in the Word of God stage to walk through the letter sequence one tile at a time
- try/except — protects against ValueError on numeric input conversion and acts as safety for unexpected errors
- time.sleep() — short pauses between scenes for dramatic pacing
- ASCII art via print formatting — the win scene displays a chalice, the fail scene a skull, both purely text-based