Skip to content

It is a text-based adventure game where players embark on a dungeon quest, engage with dynamic dialogues, and make choices that influence the game's narrative and their character's attributes. It's a school project for Introduction to Programming course at BCIT.

Notifications You must be signed in to change notification settings

jasper-th-wang/jasper_single_user_dungeon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

116 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Underworld Single User Dungeon

📍 Overview

A terminal-based dungeon adventure featuring a custom text-to-dialogue parser that transforms structured text files into interactive narrative experiences. The game combines ASCII-rendered maps, character progression mechanics, and branching dialogue trees to create an immersive story-driven experience.

Core Technical Features

  • Custom Dialogue Parser: Transforms text files with special syntax (-> for options, @ for NPCs, $ for players) into interactive dialogue trees with branching narratives
  • Terminal Rendering Engine: Real-time typewriter effects, color-coded text output, and ASCII map visualization
  • Dynamic Character System: Stats (Wisdom, Fury, Essence) that evolve based on player choices throughout the narrative
  • JSON Configurable Game Worlds: JSON-based level configuration with procedural monster encounters and goal validation
  • Elimination-based Dialogue System: Dynamic option removal where dialogue choices disappear after selection, creating evolving conversation trees that adapt to player decisions
  • ASCII Map Rendering with Live Updates: Real-time coordinate-based ASCII visualization system using symbol mapping (@ for player, ! for NPCs) with dynamic grid generation
  • Procedural Scenario Distribution: Algorithmic environmental generation using dictionary comprehension to randomly distribute narrative descriptions across coordinate-mapped game boards

The narrative follows an amnesiac soul navigating the underworld, uncovering forgotten memories through encounters with mythological figures like Thanatos, Eirene, and other inhabitants of the realm.


🚀 Getting Started

🔧 Installation

  1. Clone the jasper_single_user_dungeon repository:
git clone https://github.com/jasper-th-wang/jasper_single_user_dungeon
  1. Change to the project directory:
cd jasper_single_user_dungeon

🤖 Running jasper_single_user_dungeon

python game.py

🧪 Tests

python -m unittest

About

It is a text-based adventure game where players embark on a dungeon quest, engage with dynamic dialogues, and make choices that influence the game's narrative and their character's attributes. It's a school project for Introduction to Programming course at BCIT.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages