Connect hazards to movement
Black holes attract, white holes repel, and wormholes relocate the player. Environmental objects affect navigation as well as the scene.
03 / CASE STUDY Singularity-Wars
A little physics. A lot of space. A Python and OpenGL space-combat project that connects movement, hazards, enemies, and rendering in one game loop.
CSE423 coursework · Collaborative project
Concept & game enhancements

01 / THE PROBLEM
Movement, collisions, enemies, and gravity must respond together. A small change in one system can change the whole flight and combat experience.
02 / THE APPROACH
GLUT callbacks handle input, updates, and drawing. Python updates the simulation; OpenGL renders it. Player actions and environmental forces feed the next update.
A conceptual view of the implemented callbacks. Simulation and rendering live in the main Python game file.
03 / KEY DECISIONS
Black holes attract, white holes repel, and wormholes relocate the player. Environmental objects affect navigation as well as the scene.
First-person and third-person views give players different ways to judge position and threats.
Difficulty settings and progression affect combat. Upgrades and enemy scaling give continued play a changing rhythm.
04 / THE RESULT
The build includes flight, enemies, weapon upgrades, gravitational hazards, and score tracking.
Parts of the physics use an assumed frame rate. Measured elapsed time would be a useful next step toward more consistent simulation across machines.
05 / EXPLORE THE CODE
Follow the implementation behind the decisions.