Hi! I'm Piper Inns Hall
CS Student @ Victoria University of Wellington

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.