A 3D first-person shooter game built with Python and PyOpenGL. Players navigate an arena, defending against red/blue drones and tanks while collecting shields and medboxes to survive. Features include dynamic spawning, collision detection, and a HUD displaying health, score, and time survived.
- First-person and third-person views (toggle with 'v')
- WASD movement, mouse aiming, spacebar shooting
- Enemies: Red drones (low health), blue drones (aimed shots), tanks (high damage)
- Power-ups: Shields (5s protection), medboxes (health boost)
- Scoring: +10 for red drones, +100 for blue drones, +50 for tanks
- Pause ('p'), exit ('q' or 'esc')
- Python 3.6+
- PyOpenGL, PyOpenGL_accelerate, numpy
- FreeGLUT (OpenGL Utility Toolkit)
- Clone the repository:
git clone https://github.com/Basit890/NeonDefender.git cd NeonDefender
- Install dependencies:
pip install -r requirements.txt
- Install FreeGLUT:
- Windows: Download
freeglut.dll
and place in the project folder orC:\Windows\System32
- Linux:
sudo apt-get install freeglut3-dev
- Mac:
brew install freeglut
- Windows: Download
- Run the game:
python neon_defender.py
- WASD: Move
- Mouse: Aim
- Space: Shoot
- V: Toggle first/third-person view
- P: Pause
- Q/Esc: Quit
- Arena size: 100x100
- Player health: 100 max, reduced by enemy bullets
- Gun level: Increases every 100 points, boosting bullet damage
- Spawning: Tanks/red drones every 5s, blue drones/medboxes/shields every 10s
- Max entities: 10
MIT License