Skip to content

๐ŸŽฎ Comprehensive tower defense game featuring Stick of War campaign mode and Bokemon vs Stick survival mode. Built with Python and Pygame, showcasing complete user management, progression mechanics, and cross-platform deployment. Built by a first-year programming student, testament to their capabilities.

Notifications You must be signed in to change notification settings

EwenCheung/Dual-Defence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›ก๏ธ Dual-Defence

A Journey Through Code and Combat

About This Project

Dual-Defence (also known as Stick Defend) represents our first major coding adventure - a tower defense game born from curiosity, countless debugging sessions, and the excitement of bringing our ideas to life. Built with Python and Pygame, this project showcases what passionate first-year programming students can create when they put their minds to it.

What started as a simple learning exercise evolved into a comprehensive gaming experience featuring two distinct game modes, complete user management, and an engaging progression system. Every line of code tells the story of our growth as developers.

Contributors & Development History

This project has evolved through multiple iterations, each representing our growth as developers:

๐ŸŒŸ Current Version (Legacy-v3 - Main Branch)

Lead Developer: Ewen Cheung (@EwenCheung)

  • Complete game overhaul and optimization
  • Enhanced user experience and performance improvements
  • Modern codebase architecture
  • Fix Bug from Legacy-v2

๐Ÿ“š Previous Versions

Legacy-v1 & Legacy-v2 Branches

  • Ewen Cheung (@EwenCheung) - Lead Developer, core game mechanics, feature development, and overall architecture and game features
  • DAKHINESWARAN (@DAKHINESWARAN) - Timing systems, spell mechanics, art design, and game features
  • mo12k (@mo12k) - Ninja mechanics in Bokemon vs Stick, art design, store system, and game features

This game represents our collective journey as first-year programming students, learning to code while building something we're genuinely proud of.

Game Features

๐ŸŽฎ Two Game Modes

1. Stick of War (Main Campaign)

  • Objective: Defend your castle while attacking the enemy castle
  • Levels: 10 progressive levels with increasing difficulty
  • Troops: Deploy various stick figure warriors including:
    • Warrior: Balanced melee fighter
    • Archer: Long-range attacker
    • Sparta: Heavy armored unit
    • Wizard: Magical ranged attacker
    • Giant: Powerful tank unit
  • Spells: Use special abilities:
    • Rage: Increases troop damage and speed
    • Healing: Restores troop health
    • Freeze: Slows down enemy troops
  • Resources: Manage gold and diamonds for troop deployment and spells
  • Star Rating: Earn 1-3 stars based on completion time
  • Progression: Unlock new levels by completing previous ones

2. Bokemon vs Stick (Survival Mode)

  • Objective: Survive waves of ninja attacks using Pokemon-style defenders
  • Pokemon Defenders:
    • Machine: Generates poke balls (resources) and has 300 health
    • Pikachu: Long-range attacker (25 damage, 180 health)
    • Squirtle: Balanced defender (18 damage, 200 health)
  • Enemy Ninjas:
    • Naruto: 20 damage, 120 health
    • Sasuke: 15 damage, 110 health
    • Kakashi: High-speed ninja (25 damage, 110 health)
  • Wave System: Difficulty increases every minute with faster spawning
  • Resource Management: Use poke balls to deploy Pokemon defenders

๐Ÿช Store & Upgrade System

  • Troop Upgrades: Enhance health, damage, and special abilities
  • Castle Improvements: Upgrade health and mining speed
  • Spell Enhancements: Improve spell effectiveness and unlock new abilities
  • Equipment System: Equip and manage your arsenal

๐Ÿ‘ค User Management

  • Account System: Sign up, sign in, or play as guest
  • Progress Saving: All progress automatically saved to database
  • User Profiles: Track individual player statistics and unlocks

๐Ÿ’ฐ Economy System

  • Currency: Earn money and diamonds through gameplay
  • Rewards: Get bonuses based on performance and star ratings
  • Pricing: Dynamic pricing for upgrades and purchases

Gameplay Mechanics

Stick of War Mechanics

  • Real-time Strategy: Deploy troops strategically while managing resources
  • Castle Health: Protect your castle while destroying the enemy's
  • Time-based Scoring: Faster completion earns better rewards
  • Progressive Difficulty: Each level introduces new challenges

Bokemon vs Stick Mechanics

  • Tower Defense: Place Pokemon defenders to stop ninja waves
  • Resource Generation: Machine Pokemon generate poke balls over time
  • Wave Progression: Enemies get faster and more numerous each wave
  • Survival Focus: No win condition - survive as long as possible

Controls

  • Mouse: Point and click for all interactions
  • Drag & Drop: Deploy units by dragging cards to battlefield
  • Hotkeys: 'H' for help menu in Bokemon vs Stick mode

Technical Features

  • Built with Love: Developed using Python and Pygame during our first year of programming
  • Database Integration: Persistent data storage keeps your progress safe
  • Immersive Audio: Background music and sound effects enhance the gaming experience
  • Smooth Graphics: Custom sprite animations and visual effects at 60 FPS
  • Cross-Platform: Runs on desktop and web browsers

Getting Started

๐ŸŽฎ Play Online

Experience the game instantly: Play on GitHub Pages

๐Ÿ’ป Run from Source

Want to explore the code? Here's how to get started:

git clone https://github.com/EwenCheung/Dual-Defence.git
cd Dual-Defence
python main.py

Make sure you have Python and Pygame installed on your system.

Game Progression

  1. Start: Create account or play as guest
  2. Choose Mode: Select between Stick of War or Bokemon vs Stick
  3. Play Levels: Progress through increasingly difficult challenges
  4. Earn Rewards: Collect money and diamonds for upgrades
  5. Upgrade: Improve troops, spells, and castle in the store
  6. Repeat: Continue advancing through all 10 levels

Tips for Success

  • Resource Management: Balance spending between troops and upgrades
  • Strategic Deployment: Different troops excel in different situations
  • Timing: Use spells at crucial moments for maximum impact
  • Upgrades: Invest in castle and troop improvements early
  • Star Collection: Aim for 3-star ratings for maximum rewards

Enjoy defending your realm in this epic stick figure battle!

About

๐ŸŽฎ Comprehensive tower defense game featuring Stick of War campaign mode and Bokemon vs Stick survival mode. Built with Python and Pygame, showcasing complete user management, progression mechanics, and cross-platform deployment. Built by a first-year programming student, testament to their capabilities.

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •