Case study 08/08 // Game · First logic
Snake, with enemies
The first project where programming logic truly clicked: a vintage Snake with roaming enemies.

The write-up
The first time logic felt alive
This was the first thing I built where programming stopped feeling like isolated syntax and started feeling like a system. A key press changed direction. Time moved the snake. Food changed the score and the body. A collision ended the run. Every rule had an immediate, visible consequence.
It is not a polished game-engine showcase—and that is exactly why I keep it. This is the original deployed build from the point when I was learning how to make a program remember, react, and move.
What I was learning
The board is made with CSS Grid and the game logic is vanilla JavaScript. Building it made ideas such as state, timed updates, input handling, coordinate-based movement, and collision detection tangible for the first time.
I also added roaming enemies and difficulty choices. They began as small experiments: what happens when another object has its own movement rules, and how does a simple rule change alter the feeling of the whole game?
Why the original stays playable
There are things I would structure differently today, but replacing this build with a cleaner remake would erase the point of showing it. Its rough edges are part of the record. It captures the moment I realised that code could become behaviour—and that I wanted to keep building things with it.

