Skip to content

Commit 9bdc5ca

Browse files
committed
feat: add README and commentary for Skyline Sprint game project
1 parent c7bd7ec commit 9bdc5ca

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Skyline Sprint - Final Game Project
2+
3+
A side-scrolling game built with p5.js as a final course submission.
4+
5+
## Features implemented
6+
7+
### Base game requirements
8+
- Player movement and jump interaction
9+
- Canyon interaction with plummeting/fall state
10+
- Collectable (coin-orb) interaction with scoring
11+
- Scrollable world with world-position tracking
12+
- Lives and score counters
13+
- Win state (flagpole reached)
14+
- Game over state (lives depleted)
15+
16+
### Extensions
17+
- Sounds: procedural jump, collect, hit, and win effects using `p5.sound`
18+
- Platforms: implemented using a factory function pattern
19+
- Enemies: implemented using a constructor function with patrol AI and collision
20+
21+
## Controls
22+
- Move: `A` / `D` or arrow keys
23+
- Jump / Start / Restart: `Space`
24+
25+
## Run
26+
Open `index.html` in a browser with internet access (CDN scripts for `p5.js` and `p5.sound`).
27+
28+
## Submission note
29+
A draft commentary is included in `commentary.md` and can be exported to PDF for the second upload area.

commentary.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Game Project Commentary
2+
For my final game project, I created a side-scrolling platform game called **Skyline Sprint**. My main goal was to make sure the base game mechanics were stable and working properly before adding extra features. The core game includes player movement and jumping, canyon interactions where the character falls if they step into one, collectable coins, a scrolling world, a score counter, and a lives system. The player wins when they reach the flagpole, and the game ends when all lives are lost.
3+
4+
After getting the base game working smoothly, I implemented the three extensions from the final topic: platforms, enemies, and sound effects. **Platforms** were created using the factory pattern, which allowed each platform object to draw itself and check if the player is standing on it. **Enemies** were implemented using a constructor function, which creates patrol enemies that move back and forth and detect collisions with the player. I also added **sound** using the p5.sound library, including effects for jumping, collecting coins, taking damage, and winning the level. These sounds helped make the game feel more responsive and engaging.
5+
6+
One of the hardest parts of the project was getting the jump physics and collision detection to work consistently across different elements like the floor, platforms, canyons, and enemies. I also had to debug issues related to world scrolling, making sure interactions still worked while the camera moved.
7+
8+
Overall, this project helped me improve my ability to structure larger pieces of code, keep variable names consistent, and debug interactive gameplay systems. It was a good opportunity to combine programming logic with game design to create a complete and playable game

0 commit comments

Comments
 (0)