Branching Narrative Mystery Game · FP016 Computer Science · Group Project · Python
A desktop mystery game built in Python where the player investigates a suspicious death at Victor's Manor. Choices branch the narrative across 40+ scenes and lead to four distinct endings. Built as a group project for FP016 Computer Science, where I served as team lead and core systems developer.
The game features a full tkinter GUI with a dark theme, per-scene background images, a live evidence panel, and an algorithm analysis dashboard that exposes the underlying data structures to the player.
Object-Oriented Programming
typed classes & inheritance
Custom Data Structures
Stack · Priority Heap
Graph Algorithms
DFS · BFS · Topological Sort
Branching Narrative Engine
40+ story nodes · 4 endings
tkinter GUI
dark theme · tab views · popups
Agile Development
Scrum-based · 4-person team
Implemented core game systems using OOP, custom data structures, state management, clue tracking, evidence analysis, and team coordination.
Story System
Designed the object-oriented architecture used to represent and manage 40+ branching story scenes — each scene a typed class guaranteeing consistent structure across the codebase.
Data Structures
Implemented a custom Stack powering the rewind mechanic (LIFO, O(1) undo) and a Priority Heap for clue management, ensuring the most important evidence always surfaces first.
Analysis Dashboard
Built an interactive four-tab dashboard visualising DFS reachability, BFS shortest paths to each ending, evidence timelines, and topological clue ordering.
Technical Report
Design decisions, implementation details, and testing evidence for the components I built.
User Guide
Step-by-step guide covering installation, controls, and gameplay mechanics.
Source Code
Full Python source (~1800 lines). My contributions are Sections 1 and 5, clearly marked in comments. Requires Python 3.12+ and Pillow.