Project Case Study

Reflectix

A multi-level 2D DX-ball style game built with Python and OpenGL to explore reflections, collisions, and progressive gameplay.

PythonOpenGLComputer Graphics
Reflectix

Problem

Computer graphics concepts can stay abstract when they are only discussed theoretically. A more engaging way to understand them is to build an interactive system where the behavior is visible and testable.

Context

Reflectix was created for the CSE423 Computer Graphics course as a DX-ball inspired game project. It was an opportunity to turn graphics ideas into a playable experience rather than a static demonstration.

Goal

Design a multi-level 2D game that could showcase object reflections, collision handling, and progressive challenge while staying enjoyable to use.

Solution

The game was built around a few core mechanics:

  • Paddle and ball interactions with collision checks.
  • Reflection logic to drive believable bounce behavior.
  • Multiple levels to introduce progression and pacing.
  • Increasing difficulty to make the project feel more like a game than a pure technical demo.

Process

I approached the work by first stabilizing the core mechanics, then layering difficulty and level structure on top of them. That sequence helped keep the project playable throughout development instead of waiting until the end to test the full experience.

Challenges

The hardest part was tuning collision and reflection behavior so the game felt responsive rather than arbitrary. Graphics assignments can become technically correct but awkward to play if the underlying interactions are not refined carefully.

Outcomes

  • Delivered a complete multi-level 2D game using Python and OpenGL.
  • Applied graphics course concepts in a concrete, interactive format.
  • Built a project that improved both implementation discipline and debugging skills.

Links

Reflection

Reflectix reminded me that projects become more meaningful when they transform theory into something that can be experienced directly. Interactivity creates a different kind of understanding.