A modern remake of the legendary 1980s arcade classic, reimagined for the iOS ecosystem. This project combines the timeless gameplay of PacMan with a sleek SwiftUI-driven interface.
PacMan for iOS is a hybrid application that bridges the gap between classic web-based gaming and native iOS performance. It encapsulates a high-performance web core within a robust SwiftUI wrapper, providing a seamless and responsive gaming experience on modern iPhones.
- Authentic Gameplay: Experience the original mechanics, from the iconic pellet-chomping to the strategic ghost avoidance.
- Classic Cast: All your favorite ghosts are here—Blinky, Pinky, Inky, and Clyde—each with their signature AI behaviors.
- Modern Interface: A clean, intuitive dashboard built with SwiftUI for a native feel.
- Score Tracking: Keep track of your high scores and progress through 256 levels of increasing difficulty.
- Automated Analysis: Integrated with Playwright for gameplay recording, state tracking, and automated testing.
- Framework: SwiftUI
- Core Strategy: WebKit (WKWebView)
- Automation: Playwright for gameplay state captures and screenshot analysis.
- Data Persistence: JSON-based state management for gameplay analysis.
- macOS with the latest version of Xcode (15.0 or later recommended).
- iOS 17.0+ for running on physical devices or simulators.
-
Clone the Repository:
git clone https://github.com/1mrajeevranjan/PacMan.git cd PacMan -
Open the Project: Open the
PacMan/PacMan.xcodeprojfile in Xcode. -
Build and Run:
- Select your target device or simulator.
- Press
⌘Ror click the Play button in Xcode to build and run the application.
This project includes sophisticated tools for monitoring and analyzing gameplay behavior:
- State Captures: The
output/directory contains JSON snapshots of the game state during various phases (e.g.,state-0.json). - Gameplay Recordings: Actions are logged in transition files like
actions-gameplay.jsonfor replay and debugging. - Automated Screenshots: Visual verification is handled via Playwright, with captures stored in the
output/web-game/folders.
This project is intended for educational and personal use. Pac-Man is a registered trademark of Bandai Namco Entertainment.
Made with ❤️ by Rajeev Ranjan