A Journey Through Code and Combat
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.
This project has evolved through multiple iterations, each representing our growth as developers:
Lead Developer: Ewen Cheung (@EwenCheung)
- Complete game overhaul and optimization
- Enhanced user experience and performance improvements
- Modern codebase architecture
- Fix Bug from Legacy-v2
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.
- 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
- 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
- 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
- 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
- Currency: Earn money and diamonds through gameplay
- Rewards: Get bonuses based on performance and star ratings
- Pricing: Dynamic pricing for upgrades and purchases
- 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
- 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
- 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
- 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
Experience the game instantly: Play on GitHub Pages
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.
- Start: Create account or play as guest
- Choose Mode: Select between Stick of War or Bokemon vs Stick
- Play Levels: Progress through increasingly difficult challenges
- Earn Rewards: Collect money and diamonds for upgrades
- Upgrade: Improve troops, spells, and castle in the store
- Repeat: Continue advancing through all 10 levels
- 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!