Tech Log

Engineering audit, sprint calendar & backlog — Group 7

✿ Two Core Challenges

Every game hides a handful of design problems that define the project. Here are the two that shaped every technical and creative decision we made on Park Street Survivor.

Challenge 01

Translating Poetry into Playable Mechanics

The Problem

Emily Dickinson's "Hope is the thing with feathers" is abstract — it speaks of perseverance through metaphor. How do you translate that into a game that must communicate the same feeling through player actions and rules, not just words? If the poetry is only decoration, the game is hollow.

Our Solution

We designed a Narrative State Machine that mirrors the player's physical struggle on the slope with curated lines from the poem. When stamina drops below 30%, the dialogue system surfaces "And sore must be the storm —". When a checkpoint is reached, "And sweetest — in the Gale — is heard." The poem becomes a mechanical reward layer, not decoration.

Challenge 02

Calibrating Difficulty to Emotional Tone

The Problem

A physics-based hill climb must feel hard enough to create genuine tension — but if it's too punishing, players disconnect from the narrative before they encounter any poetry. Too easy, and the "survival" premise feels hollow. The difficulty curve had to serve the story, not fight it.

Our Solution

We built a tunable physics model with gravity, friction, and momentum as exposed parameters. After structured user testing in Week 4, we found that 4 of 5 testers quit before the first poetry trigger. We reduced initial gravity by 15% and extended the stamina bar — bringing the run-completion rate to 80% without reducing the perceived sense of struggle.

✿ System Architecture

The game is built on a Finite State Machine (FSM) at its core, managing transitions between scenes, player states, and narrative events. All modules communicate through a centralised event bus to keep components decoupled and independently testable.

⚙️

State Machine

FSM governs all game-loop transitions, player states, and scene routing.

🔊

Audio Engine

Howler.js for ambient soundscapes and state-triggered narrative cues.

🗺️

Level Manager

Tile-based loader with event trigger zones, collision layers, spawn points.

💬

Dialogue System

JSON-driven engine with pacing control and branching narrative paths.

🖼️

Render Pipeline

HTML5 Canvas 2D with layered duotone pixel art rendering.

📡

Event Bus

Centralised pub/sub bus decouples all game modules for testability.

[ Architecture Diagram Placeholder ]
Upload architecture.png to assets/

"The tune without the words" — our system in motion.

✿ Sprint Calendar

Development timeline across five sprints. Each bar shows whether an epic was in active development or polish/review during that sprint.

Epic
Sprint 01 Weeks 1 – 4 [Date] — [Date]
Sprint 02 Weeks 5 – 8 [Date] — [Date]
Sprint 03 Weeks 9 – 12 [Date] — [Date]
Sprint 04 HCI & Narrative Integration 2 Mar - 16 Mar
Sprint 05 Documentation & Maintenance 16 Mar - 30 Mar
Core Mechanics
Level Design
Narrative System
Pixel Art
UI/UX Design
Audio Engineering
Tech Infrastructure
Active development
Polish & review
Active → review

✿ Development Backlog

All completed work items. Filter by assignee, sprint, epic, or type. Story points (SP) reflect complexity estimates agreed at sprint planning.

Assignee
Sprint
Epic
Type

Showing 28 of 28 items

Key Type Summary Epic Sprint Assignee SP
SCRUM-101 User Story As a player, I want to navigate the Park Street slope Core Mechanics Sprint 1 Charlotte 8
SCRUM-102 Task Implement finite state machine core Core Mechanics Sprint 1 Charlotte 5
SCRUM-103 User Story As a player, I want to explore the Park Street level Level Design Sprint 1 Kangrui 5
SCRUM-104 Task Design ramp collision geometry and trigger zones Level Design Sprint 1 Kangrui 3
SCRUM-107 Task Create player sprite sheet and walk animation Pixel Art Sprint 1 Lucca 3
SCRUM-108 Task Define colour palette and visual style guide Pixel Art Sprint 1 Lucca 2
SCRUM-109 Task Refactor collision detection module Core Mechanics Sprint 2 Charlotte 3
SCRUM-110 User Story As a player, I want audio cues to enhance immersion Audio Sprint 2 Layla 5
SCRUM-111 Task Integrate Howler.js audio engine and ambient tracks Audio Sprint 2 Layla 3
SCRUM-112 User Story As a player, I want a clear and readable HUD UI/UX Sprint 2 Layla 5
SCRUM-113 Task Redesign HUD layout in Figma and implement on canvas UI/UX Sprint 2 Layla 2
SCRUM-114 Task Polish ramp layout with user-testing feedback zones Level Design Sprint 2 Kangrui 3
SCRUM-116 Task Apply duotone filter pipeline to all sprite assets Pixel Art Sprint 2 Lucca 3
SCRUM-119 Task Implement in-game tutorial overlay UI/UX Sprint 3 Layla 3
SCRUM-120 Task Final audio mixing and ambient loop fix Audio Sprint 3 Layla 2
SCRUM-121 Task Build and deploy project website Tech Infra Sprint 3 Charlotte 3
SCRUM-122 Task Final QA pass and performance optimisation Tech Infra Sprint 3 Charlotte 3
SCRUM-123 Issue State machine fails to reset cleanly on game restart Core Mechanics Sprint 3 Charlotte 2
SCRUM-124 User Story As a player, I want clearer onboarding prompts for room and early-level interactions Core Mechanics Sprint 4 Charlotte 5
SCRUM-125 Task Rebalance Level 2 obstacle sequencing, starting positions, and item density Level Design Sprint 4 Kangrui 3
SCRUM-126 Task Refresh HUD palette, fonts, dialogue states, and backpack-to-HUD integration UI/UX Sprint 4 Layla 3
SCRUM-127 Task Update coffee, flyer, puddle, hospital, and destination assets for the polish pass Pixel Art Sprint 4 Lucca 3
SCRUM-128 Task Finalise collision SFX, library ambience, and typewriter feedback for dialogue scenes Audio Sprint 4 Layla 2
SCRUM-129 Task Refactor tutorial flow into click-through onboarding with dual dialogue controls Core Mechanics Sprint 5 Charlotte 5
SCRUM-130 Issue Fix Fantasy Coffee hitbox, door transition flow, and lane-switch sensitivity Level Design Sprint 5 Kangrui 2
SCRUM-131 Task Revamp tutorial visuals, darken hot-air-balloon UI, and prepare final presentation assets Pixel Art Sprint 5 Lucca 3
SCRUM-132 Task Edit the gameplay video, export the sequence diagram, and replace incorrect Level 5 BGM Tech Infra Sprint 5 Layla 3
SCRUM-133 Task Deploy the official project website and update final delivery-facing pages Tech Infra Sprint 5 Kangrui 3
✿ Download Full CSV