Pacman - Classic Arcade Clone

Personal Project
Pacman - Classic Arcade Clone

Overview

Developed a complete clone of the classic Pac-Man arcade game from scratch using Processing and Java. Structured the project with a clean, modular Object-Oriented architecture, separating entities like Hero and Ghosts from the core game loop and rendering logic. Implemented an intelligent ghost AI using algorithmic pathfinding (A* / BFS) to provide challenging and dynamic gameplay. Created a custom text-based level parsing system that seamlessly reads and renders complex mazes from simple .txt files, enabling easy map creation and multi-level progression. Built a robust state management system to handle smooth transitions between the main menu, active gameplay, and game over screens. Engineered a comprehensive save/load system using File I/O to persist game progress and maintain a continuous high score leaderboard across different play sessions. Handled precise grid-based movement and collision detection to emulate the authentic arcade feel.

Key Features

  • Intelligent Ghost AI & Pathfinding
  • Custom Text-Based Level Parsing
  • Multi-level Progression System
  • Save & Load Game Progress
  • Persistent High Scores Tracking
  • Dynamic Game Menu & UI
  • Grid-based Movement & Collision Detection
  • Modular Entity Management (Hero, Ghosts)

Technical Challenges

  • Implementing efficient and bug-free pathfinding algorithms for multiple ghosts to dynamically chase the hero simultaneously.
  • Designing a robust level parser capable of accurately translating text file character grids into solid walls, paths, and collectable dots.
  • Managing complex game state transitions between the start menu, gameplay loop, pausing, and the game over sequence.
  • Handling precise grid alignment and fluid entity movement to ensure the hero and ghosts don't overlap or sequence break through walls.
  • Reading and writing persistent data cleanly without performance drops to handle the saveed states and high score logs.
2025

Technologies Used

ProcessingJavaObject-Oriented Programming (OOP)Pathfinding AlgorithmsFile I/O
View Source Code

Screenshots

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5