Solo 24-hour hackathon project built for the 2025 Global Game Jam, (Utah State University).
This project is a terminal-based narrative game implemented in Python using the curses library. The primary goal was to design and ship a complete, playable experience under extreme time constraints, prioritizing a functional game loop, branching state management, and terminal UI responsiveness over long-term extensibility.
Status: Feature-complete hackathon demo; no active development.
Within the 24-hour constraint, this project focused on:
- Implementing a responsive terminal UI using
curses - Managing game state and branching narrative logic
- Designing a simple, reusable event system for encounters
- Handling input and screen redraws cleanly in a CLI environment
Testing, content breadth, and long-term extensibility were explicitly deprioritized in favor of shipping a stable, playable demo.
Due to the 24-hour solo constraint:
- The game currently has no explicit win condition
- Content depth is limited in favor of replayable branching
- The codebase favors clarity and speed of iteration over abstraction
A natural future extension would be introducing a win condition centered around seed propagation and sapling growth.
- Python 3.x
curseslibrary (typically included with Python on Unix-like systems)
- Clone the repository:
git clone https://github.com/SearParsley/branching-out.git- Navigate to project directory:
cd branching-out- (Optional) Set up a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateRun the game with the following command:
python src/main.pyMake sure you are in the project directory (branching-out).
To exit the game, press Q or Ctrl+C.
The controls are very simple. Each text box will have a message followed by one or more numbered options. To choose an option, simply press the key of the number associated with that option. For example, pressing the 2 key would select option number 2. To exit the game, press Q or Ctrl+C
ASCII assets are credited below for completeness; they are not central to the technical focus of the project.
