CPSC 4160/6160
Milestone 1 Presentation
Spicer Pagan
CPSC 4160
Game Title:
Timber Defender
Overview: Timber Defender is about a monkey protects its home tree from waves of lumberjacks by throwing bananas and using power-ups.
Genre:
Timber Defender is a 2D defense-style arcade game with light tower-defense mechanics.
The player experiences the game via two game screens: an overworld map and a defense level screen.
Game Description (1)
2
Game Objectives: ��The monkey must protect its home tree from waves of lumberjacks who are trying to cut it down.
To do this, the player has to throw bananas and other objects to stop the enemies before they reach the tree.
By surviving each wave, the player keeps the forest safe and unlocks new levels on the map to defend.
Game Description (2)
3
Game Objectives: ��Paths on the forest map connect to different defense zones (levels), each representing an area of the forest under attack.��Selecting a zone begins a defense stage, where waves of lumberjacks attempt to reach and cut down the monkey’s home tree.��The majority of the game takes place in these defense levels, where the player must aim and throw bananas to stop incoming enemies, protect the tree, and survive each wave to advance to new areas of the forest.
Game Description (3)
4
Skill Rating:�- 7+ years old��Required Skills:�- Basic aiming and clicking; no complex controls�- Ability to read short on-screen hints�- Quick reaction time for wave defense gameplay��Content Rating:�- Cartoon violence only (throwing bananas)�- No blood, gore, or mature themes��Audience:�- All genders ages 7+�- Casual players who enjoy quick, light 2D arcade or defense games
Game Information
5
Other games:
https://www.crazygames.com/game/bloons-tower-defense
Game References
6
Main character (Monkey)�
Entities - Player Character
7
Enemy (Lumberjacks)�
Entities - Enemies
8
Entities (Banana Bunch, Coconut Bomb, Banana Shield, Golden Banana)�
Entities - Items
9
NPC (The Sun)
Entities - Non-Player Characters (NPCs)
10
For the current version, the game takes place on a tropical beach zone, where the monkey defends its tree from lumberjacks arriving along the shore.
The setting uses bright sand tones, ocean blues, and palm tree greens to match the warm, cartoon-style color palette.
Future zones, which might not be seen in the scope of this project, such as the jungle and forest, will expand the island as development continues.
Environment
11
Game Mechanics (1)
12
Game Mechanics (2)
13
Modules:��GameManager controls all systems (Player, Enemy, PowerUp, Collision, Effects, UI, NPC).�Each system has its own update loop and handles one major function of gameplay.��Levels:��Currently one zone; the Beach Defense stage.�Future zones (forest, jungle) will use the same system structure with new visuals.��Effects:��Leaf bursts, splinters, and hit flashes on impact.�Potentially screen shake for heavy hits, possibly rain for some scenes.
Technical Description (1)
14
Collision Detection:��Grid-based checks (64px cells).�Projectiles use circular hit zones�Enemies and tree use sprite rect collisions��Physics:��Bananas use parabolic arcs with gravity = 1200 px/s^2; coconuts heavier with small splash radius.��Algorithms:��Fixed 60 FPS update loop for consistent timing.�Wave scaling: enemy speed +6% and HP +8% per round.�Object pooling for projectiles to reduce lag.
Technical Description (2)
15
Software Architecture
16
GameManager.cs controls update order:
Input → Player → Enemy → PowerUp → Collision → Effects → UI → NPC
10/15 – 10/18:��Create base project & main loop (GameManager, window, clock).�Add InputSystem and test throwing with placeholder sprites.��10/19 – 10/22:��Implement EnemySystem with one basic lumberjack type.�Basic CollisionSystem for bananas hitting enemies.�Add simple Tree HP counter.��10/23 – 10/26:��Add HUD (tree HP + timer).�Introduce one Power-Up (Golden Banana = faster throw).�Light EffectSystem (leaf burst or hit flash only).��10/27 – 10/30:��Tune difficulty & add short intro screen.�Small polish (sound, background image, text).�Prepare short gameplay demo for class.
Timeline
17