🐺 The Revelation of Little Red Riding Hood
In this project, we re-imagined the classic fairy tale as a multi-level interactive adventure. This guide covers the narrative journey of Red and the technical systems we implemented to bring the woods to life.
Level 1: The Gathering
Story: Red is getting everything ready for Grandma, but the forest terrain is working against her.
Goal: Collect all the cookies without falling into the gaps.
How it works: Red uses jump physics to cross the forest floor.
Tech Implementation: ShooterPlayer extends Character to inherit basic movement, and we use super() to handle gravity.
Level 2: The Haunted Woods
Story: The path is narrow and the woods are getting dark—Red has to stay focused.
Goal: Follow the wooden path to the cabin without wandering into the trees. And watch out for the wolf!
How it works: The player is locked onto a spline path that acts as a boundary.
Tech Implementation: We used Piecewise Polynomials for smooth curves, and the spline acts as an “allow list” for movement.
Level 3: The Wolf’s Battle
Story: You’ve reached the cabin, but the Wolf is inside grandma’s house!.
Goal: Defeat the Wolf and save grandma.
How it works: Use projectiles to damage the Wolf while watching for dialogue cues.
Tech Implementation: handleGrandmaClick() manages the dialogue state, and we use destroy() to clean up everything when the fight ends.
Level 4: The Hunter’s Challenge
Story: The Wolf is gone, but the forest is still testing your reflexes.
Goal: Hit every target with precision timing.
How it works: High-speed combat testing.
Tech Implementation: We set the hitbox and overrode handleCollision() for accurate hits.
🐺 The Final Chapter: Grandma’s Cabin
With the Wolf defeated and the forest trail finally safe, Red reaches Grandma’s cabin. The once-dangerous woods fall silent at last.
Ending: Red delivers the basket, completing her mission and restoring peace to the forest. Through skill, courage, and precision, you conquered every challenge and defeated the lurking threat. Grandma is safe, the journey has come to an end, and the legend of the Red-Hooded hunter will be remembered for generations.
📊 CS111 Rubric Evidence Summary
| Requirement |
Evidence / Implementation |
| OOP Architecture |
ShooterPlayer.js, Wolf.js (Extends Character) |
| Method Overriding |
update(), draw(), handleCollision() |
| Constructor Chaining |
super(data, gameEnv) calls |
| Physics/Math |
Piecewise Polynomial Splines (Minimizing bending energy) |
| API Integration |
fetch calls for NPC AI and Game State |
| State Management |
handleGrandmaClick() dialogue logic |
| Memory Cleanup |
destroy() methods for event listener management |
| Debugging |
DevTools (Console/Network) |