Java Game Dev
Over the course of one month, I built a series of small Java projects to strengthen my understanding of object-oriented design, state management, and algorithmic problem-solving. Each project explored a different core concept, from real-time game loops and collision detection to recursive algorithms and rule-based systems. The sprint includes Platformer, Snake, Minesweeper, Battleships, and Chess, all developed from scratch.
Status
-
Platformer
GitHub
A small 2D platformer exploring physics, tile-based collision, and a custom game loop. -
Snake
GitHub
Classic grid-based game with dynamic tail growth, input handling, and game-loop timing. -
Minesweeper
GitHub
Implemented recursive reveal and flood-fill logic, plus mine placement and board generation. -
Battleships
GitHub
Turn-based board game with hit detection, state management, and win-condition logic. -
Chess
GitHub
Rule-based movement validation, piece interactions, and game-state tracking using OOP patterns.
Challenges
Rapidly building multiple projects in a single month required quickly switching between different design patterns and problem domains. Key challenges included implementing reliable game loops, handling input and collisions, managing turn-based logic, applying recursive algorithms, and maintaining clean object hierarchies. Ensuring correctness while keeping each project simple and readable was a consistent focus throughout the sprint.
Learning
This sprint strengthened my Java fundamentals and programming intuition. I gained experience structuring projects using OOP principles, separating logic from presentation, and managing state effectively. Working on multiple projects in quick succession improved my ability to prototype ideas rapidly, prioritize clarity and simplicity, and identify patterns and abstractions that apply across different types of systems.