A 3D arcade-style shooter game built with Python and OpenGL. Defend against relentless enemies while managing your ammo and lives!
Assignment 03 โ 3D Game Development Project
Course: CSE423 (0.75 credit)
Supervised by: Farhan Feroz [FHZ] & Arian Nuhan [CARN]
Control a 3D character in an arena-style environment. Shoot incoming enemies to score points while avoiding collisions. Features multiple camera angles, pulsating enemies, and cheat modes.
Key Mechanics:
- Limited lives (5) and bullet allowance (10 missed shots)
- Progressive difficulty with faster enemies as score increases
- First-person and third-person perspectives
- Auto-aim cheat system
- ๐ฎ 3D character with articulated arms and rotating gun
- ๐พ 5+ pulsating enemies with pursuit AI
- ๐ซ Projectile bullet system with collision detection
- ๐น๏ธ Two camera modes (FPS style and orbiting third-person)
- ๐ฃ Cheat mode with auto-rotation and auto-fire
- ๐ Real-time HUD showing score/lives
- ๐ฏ Simple physics-based movement
| Key | Action |
|---|---|
| W | Move forward |
| S | Move backward |
| A / D | Rotate character/gun |
| Mouse Left | Fire bullet |
| Mouse Right | Toggle camera |
| C | Toggle cheat mode |
| V | Camera mode (cheat only) |
| R | Reset game |
| Arrows | Adjust camera angle/height |
-
Requirements:
- Python 3.x
- OpenGL/GLUT libraries
-
Install dependencies:
pip install PyOpenGL PyOpenGL-accelerate
This project is part of a series of lab-based assignments in CSE423: Computer Graphics, where students implement core graphical concepts using Python and OpenGL. The labs are designed to reinforce theoretical concepts through practical application.
- ๐ข Assignment 01: 2D Transformations & Clipping
- ๐ข Assignment 02: Catch-the-Diamond
- ๐ฎ Assignment 03: Bullet Frenzy 3D (this project)
โ ๏ธ Academic Integrity Notice:
These resources are provided strictly for educational and reference purposes. Please do not copy directly for submissions. Always try solving assignments on your own before consulting these materials.
For suggestions or assistance:
๐ง monowar@monowar.me
๐ง monowarhusainomi@gmail.com