2d-Graphics

Billiard Club
A full 2D pool game built from scratch in Python, complete with its own physics engine, an AI opponent, and a full menu system.
- Full 8-ball rules: turn tracking, fouls, potting, win detection
- Wrote my own physics engine for ball-to-ball and ball-to-wall collisions
- Bank-shot aim assist that projects the cue ball's path off the rails
- A basic AI opponent, plus Player vs Player and Sandbox modes

Pygame Games
A small collection of games built in Pygame while I was learning Python and game dev: a brick-breaker and a from-scratch Tetris.
- Ballz: an aim-and-fire brick-breaker with combo scoring and coin pickups
- Tetris: full piece rotation and row-clearing, built entirely from scratch
- Each one was a way to practise a different concept: sprite groups, collisions, grid logic