CompletedSoftware Systems & Full-Stack

Rakkhosh Must Die — Tower Defense Game

A from-scratch 3D tower-defense game in OpenGL/GLUT: seven escalating waves, weapons, traps, auto-turrets, timed power-ups and a boss fight, with hand-built physics, animation and HUD.

Rakkhosh Must Die 3D OpenGL tower defense game scene
Visual story

Defend the core

Scroll to watch it unfold. Each beat is one documented step of the project.

  1. 01

    Build

    Place traps and auto-targeting turrets along the enemy path.

  2. 02

    Wave

    Enemies march toward the central core.

  3. 03

    Defend

    Weapons, traps and turrets wear them down.

  4. 04

    Power-ups

    Collectible power-ups give a short advantage.

  5. 05

    Core holds

    Hold the core and the next, harder wave begins.

  6. 06

    Outcome

    Survive seven escalating waves and the final boss to win.

An illustration of how the system works, drawn from the write-up below. It is not recorded output.

Overview

A complete 3D tower-defense game written from scratch in OpenGL/GLUT — no game engine. You defend a central core from seven escalating waves of enemies using a mix of weapons, placeable traps, auto-targeting turrets and collectible power-ups, building up to a final boss fight.

Gameplay

Three weapons (a fast pistol, a piercing crossbow and a spread-fire shotgun) pair with slow/damage traps and turrets that upgrade as the waves progress. Three timed power-ups — a speed boost, a super-jump and a 'roundhouse' auto-fire spin — spawn on the map to collect and trigger. Four enemy types, from fast fodder to a 20-HP boss, each pathfind toward the core but switch to attacking the player when you get close, and speed up wave by wave.

How it's built

Every object — player, enemies, turrets, arena and HUD — is assembled from raw OpenGL primitives (spheres, cylinders, cubes, quads). Under the hood are custom systems for bullet physics and collision, sine-driven walk/idle/float animations, a timer-based wave spawner with difficulty scaling, switchable first-/third-/global-person cameras, and a 2D orthographic HUD drawn over the 3D scene — all driven by hand-written trigonometry and vector maths for movement, aiming and hit detection.

Scope

Seven waves, four enemy types plus a boss, three weapons, three power-ups, and full trap/turret/HUD systems — a complete game loop with proper win and lose conditions.

By the numbers

7 wavesEscalating difficulty
4+1Enemy types + boss
0Game engines — built from scratch

Tech stack & key skills

Core tools, methods and skills demonstrated in this project:

PythonPyOpenGL / GLUT3D graphics from scratchGame physicsCollision detectionReal-time animationState machines