This repository was archived by the owner on Dec 23, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 37
This repository was archived by the owner on Dec 23, 2025. It is now read-only.
4 Evolve the Swarm: Design Enemies with Smarter, Deadlier AI #66
Copy link
Copy link
Open
Labels
SkilledenhancementNew feature or requestNew feature or requesteveryoneFor competitive issues, best PRs are only merged, no need to assign yourselfFor competitive issues, best PRs are only merged, no need to assign yourselfopen-for-allAny one can work on it without getting assigned, every PR can mergeAny one can work on it without getting assigned, every PR can merge
Description
🧠 Add New Complex Enemy Types with Modified Behaviors
🎯 Overview
We're looking to expand our enemy roster by creating derived enemy classes with more complex behaviors. These new enemies should inherit from existing base enemy classes while implementing unique attack patterns and abilities. (Pink Rectangle around Player is Just to show collision boundary.)
📁 Current Structure
- Base Classes in
enemy.py:- Basic:
Enemy,EvilWizard,FlyingEye,Goblin,Mushroom,Skeleton - Example derived classes:
DashingGoblin(lines 445-495): Regular enemy with dash attackBigFlyingEye(lines 263-443): Mini-boss example (for reference only)
- Basic:
📋 Requirements
🔧 Technical Guidelines
- Create new enemy classes by inheriting from existing basic enemy classes
- Focus on creating regular enemies rather than mini-bosses
- Implement unique behavior patterns by overriding base class methods
- Consider game balance parameters in your design
🎨 Available Resources
Special Effects and Projectiles Location:
Sprites/Sprites_Effect/Bullets/
- Available Assets: : Animated GIFs , Images (e.g.,
12.png) , Special effect spritesheets (requires parsing)
⚠️ Important: Always use forward slashes (/) in paths, not backslashes
🧪 Testing Implementation
-
Add imports in
main.py(line 5):from enemy import FlyingEye, Goblin, ..., NewEnemyClass
-
Include in wave data ( in main.py ) (lines 38-70):
waves = [ { 'enemies': [(NewEnemyClass, count, spawn_delay)], 'message': "Wave X: Your Message Here" } ]
3.How to Run project:
Open Root folder(Swarmshot folder) with V S code. Then, From the left Explorer panel , open the 'main.py' and run it .
⚖️ Game Balance Parameters
- Balanced for player health (100) and weapon damage (30 per bullet)
- Creative use of sprite effects
- Unique behavior patterns (Ex.Skeleton Using Shields , Mushrooms blasting after Death,etc )
- Clean, efficient code
- Good performance
💡 Tip: Check
DashingGoblinclass (lines 445-495) for implementation example
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
SkilledenhancementNew feature or requestNew feature or requesteveryoneFor competitive issues, best PRs are only merged, no need to assign yourselfFor competitive issues, best PRs are only merged, no need to assign yourselfopen-for-allAny one can work on it without getting assigned, every PR can mergeAny one can work on it without getting assigned, every PR can merge
