Skip to content

A Pac-man clone written in CircuitPython for the Seeed Wio

License

Notifications You must be signed in to change notification settings

scarolan/pac-wio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🕹️ Pac-Man Clone for Seeed Wio Terminal and Adafruit Fruit Jam

A pixel-perfect Pac-Man clone built for the Seeed Wio Terminal and Adafruit Fruit Jam using CircuitPython 10.

Seeed Wio Terminal Adafruit Fruit Jam
Pac-Man on Wio Terminal Pac-Man on Fruit Jam

✨ Features

  • 🎮 Authentic Gameplay - Classic Pac-Man mechanics including ghost AI, power pellets, and frightened mode
  • 👻 Four Unique Ghosts - Blinky, Pinky, Inky, and Clyde with arcade-accurate behavior patterns
  • 🍒 Bonus Fruits - Cherry, strawberry, orange, apple, and more appear as you progress
  • 🔊 Sound Effects - Waka-waka eating sounds, death melody, and startup jingle via the built-in buzzer
  • 📊 Scoreboard - Arcade-style display with 1UP, HIGH SCORE, lives, and current level fruit
  • 🎨 Custom Font - Press Start 2P retro arcade font
  • Optimized Performance - Runs smoothly on the Wio Terminal's limited resources

🎯 Gameplay

Control Action
Joystick Move Pac-Man
Button 1 Toggle Sound On/Off

Scoring

Item Points
Dot 10
Power Pellet 50
Ghost (1st) 200
Ghost (2nd) 400
Ghost (3rd) 800
Ghost (4th) 1600
Cherry 100
Strawberry 300
Orange 500
Apple 700
Melon 1000
Galaxian 2000
Bell 3000
Key 5000

🛠️ Hardware Requirements

  • Seeed Wio Terminal
    • ATSAMD51P19 (ARM Cortex-M4F @ 120MHz)
    • 192 KB RAM
    • 2.4" LCD (320x240, used in portrait mode: 240x320)
    • Built-in 5-way joystick
    • Built-in buzzer
  • Adafruit Fruit Jam
    • RP2350B dual 150MHz Cortex M33 microcontroller
    • 8 MB PSRAM
    • DVI video output on the HSTX port (landscape and portrait mode supported depending on display resolution)
    • USB keyboard input
    • I2S stereo headphone + mono speaker output

📦 Installation

1. Install CircuitPython 10

Download and install CircuitPython 10.x for Wio Terminal or Fruit Jam.

2. Install Required Libraries

Copy these libraries from the Adafruit CircuitPython Bundle to your CIRCUITPY/lib/ folder:

  • adafruit_bitmap_font/ (folder)
  • adafruit_display_text/ (folder)
  • For Adafruit Fruit Jam:
    • adafruit_imageload/ (folder)
    • adafruit_fruitjam/ (folder)

3. Copy Game Files

Copy the entire contents of this repository to your CIRCUITPY drive:

CIRCUITPY/
├── code.py
├── fonts/
│   └── press_start_2p.bdf
├── images/
│   ├── maze_empty.bmp
│   └── sprites.bmp
└── lib/
    ├── adafruit_bitmap_font/
    └── adafruit_display_text/

Additional file structure for Adafruit Fruit Jam

CIRCUITPY/
└── lib/
    ├── adafruit_imageload/
    └── adafruit_fruitjam/

Fruit Jam OS (Adafruit Fruit Jam only)

This application also supports installation within Fruit Jam OS. Install it using the same principles above but instead of using CIRCUITPY/ as the root directly, it can be installed into CIRCUITPY/apps/ and then opened from the launcher application.

4. Play!

The game starts automatically when you plug in the device. Enjoy! 🎮


🎨 Technical Details

Display

  • Original Pac-Man: 224x288 pixels
  • Wio Terminal: 240x320 pixels (portrait mode)
  • Game area is centered with a small border

Ghost AI

Each ghost has unique targeting behavior:

  • Blinky (Red) - Directly chases Pac-Man
  • Pinky (Pink) - Targets 4 tiles ahead of Pac-Man
  • Inky (Cyan) - Complex targeting using Blinky's position
  • Clyde (Orange) - Chases when far, scatters when close

Ghost Modes

  • Scatter - Ghosts retreat to corners
  • Chase - Ghosts actively pursue Pac-Man
  • Frightened - Blue ghosts flee (can be eaten)
  • Eaten - Eyes return to ghost house

🤖 Built with AI Assistance

This project was developed with assistance from GitHub Copilot (Claude) in VS Code. The entire game was built iteratively through conversation, from basic sprite rendering to full arcade-accurate gameplay.


📜 Credits

  • Pac-Man is a trademark of Bandai Namco Entertainment Inc.
  • This is a fan-made educational project, not for commercial use
  • Press Start 2P Font by CodeMan38
  • Built for the amazing CircuitPython community

📄 License

This project is provided for educational purposes. See LICENSE for details.


🙏 Special Thanks


Made with 💛 and lots of dots

About

A Pac-man clone written in CircuitPython for the Seeed Wio

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages