๐Ÿ’ Yet Another Pacman Clone

A Pixel-Perfect, Arcade-Accurate Pac-Man Clone built from scratch.

๐Ÿง‘โ€๐Ÿ’ป Are you a developer/recruiter? Check out the full source code and architecture deep-dive on GitHub.


๐Ÿ•น๏ธ Controls

ActionKeyboard Key
Move UpW / Up Arrow
Move DownS / Down Arrow
Move LeftA / Left Arrow
Move RightD / Right Arrow
Pause GameESC

โœจ Technical Highlights

This project is not just a visual clone, but a meticulously engineered replica of the original 1980 arcade mechanics, built with solid software engineering principles in Godot 4:

  • ๐Ÿ•น๏ธ Pixel-Perfect Arcade Physics & Input Buffering: Implemented a custom lookahead collision detection system using `PhysicsShapeQueryParameters2D`. This allows for authentic input buffering (cornering), matching the precise feel of the 1980 original without locking the player rigidly to a grid.
  • ๐ŸŽฏ Authentic 1980 Target-Based Pathfinding: Completely bypassed standard A* or built-in Navigation regions. The AI rigidly follows the classic arcade logic: ghosts evaluate intersections using `RayCast2D` and choose the adjacent tile with the shortest Euclidean distance to their dynamic target. 
  • ๐Ÿ›๏ธ Decoupled Architecture via Event Bus & State Pattern: Engineered a highly scalable architecture utilizing Godot's Signal system to completely decouple the Game Master from the entities. Ghost AI is driven by a formal Finite State Machine with unique OOP overrides per ghost personality.
  • ๐Ÿš€ Modern Godot 4 Practices: Fully utilized Godot 4 features like complex `TileMapLayer` structuring and strict typed GDScript, maintaining a robust, performant, and type-safe codebase.

๐ŸŽจ Credits & Disclaimer

  • Disclaimer: Pac-Man is a registered trademark of Bandai Namco Entertainment. This project is a non-commercial, open-source clone created strictly for educational and portfolio purposes. No copyright infringement is intended.
  • Sprites: Sourced from The Spriters Resource.
  • Audio: Sourced from The Sound Resource.
  • Font: Emulogic.

Comments

Log in with itch.io to leave a comment.

that clone is great :)