This is a simple Snake game implemented in Lua using the Love2D framework.
The project demonstrates core game programming concepts such as:
- Game State Management (Menu & Playing states)
- Entity-Component Pattern
- Modern Lua features (like file handling for high score)
- Custom Vector2 class with metamethods for vector math
- Input handling using Command Pattern
- Event system implementing Observer Pattern (bonus)
- Continuous snake movement with directional controls
- Randomly spawning food that increases score
- Collision detection with walls and self
- Saving and loading high score to file
- Clean and modular project structure
-
Requires Love2D installed
-
Run with command:
love .inside project directory
You can watch a short video demonstration of the project here:
Snake Game Demo Video