Skip to content

Repository files navigation

🕹️ PacMan for iOS

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.


🚀 Overview

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.

Key Features

  • 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.

🛠️ Tech Stack

  • Framework: SwiftUI
  • Core Strategy: WebKit (WKWebView)
  • Automation: Playwright for gameplay state captures and screenshot analysis.
  • Data Persistence: JSON-based state management for gameplay analysis.

📥 Getting Started

Prerequisites

  • macOS with the latest version of Xcode (15.0 or later recommended).
  • iOS 17.0+ for running on physical devices or simulators.

Installation

  1. Clone the Repository:

    git clone https://github.com/1mrajeevranjan/PacMan.git
    cd PacMan
  2. Open the Project: Open the PacMan/PacMan.xcodeproj file in Xcode.

  3. Build and Run:

    • Select your target device or simulator.
    • Press ⌘R or click the Play button in Xcode to build and run the application.

🧪 Development & Testing

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.json for replay and debugging.
  • Automated Screenshots: Visual verification is handled via Playwright, with captures stored in the output/web-game/ folders.

📜 License

This project is intended for educational and personal use. Pac-Man is a registered trademark of Bandai Namco Entertainment.


Made with ❤️ by Rajeev Ranjan

About

Remake of 80's one of the most viral Arcade Game now on iOS.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages