Disclaimer: This is an unofficial fan project and is not affiliated with, endorsed by, or connected to Bandai Namco Entertainment. Pac-Man is a trademark of Bandai Namco Entertainment Inc.
A couch competitive twist on the classic arcade game.
- Classic Pac-Man gameplay with all four ghosts (Blinky, Pinky, Inky, Clyde)
- Up to 4 simultaneous local players (up to 2 on the same keyboard)
- Player profiles with persistent high scores per level with a leaderboard
- Customizable levels via JSON board files
- Keyboard and gamepad support
Pre-built binaries are available on the Releases page.
| Platform | File |
|---|---|
| Windows | Pac-Man-windows.zip |
| macOS (Apple Silicon) | Pac-Man-macos-arm.zip |
| macOS (Intel) | Pac-Man-macos-x64.zip |
| Linux (GCC) | Pac-Man-linux-gcc.zip |
| Linux (Clang) | Pac-Man-linux-clang.zip |
macOS will block the binary by default since it isn't code-signed. To run it:
xattr -cr Pac-Man
chmod +x Pac-Man
./Pac-ManIf macOS still blocks it, go to System Settings → Privacy & Security and click Open Anyway.
- On the profile selection menu, select Create Profile and enter a username
- Press
Enterto activate the text box (it turns blue when active) - Press
Enteragain to unselect the textbox
- Press
- Press Continue to proceed to the Main Menu
- Each player needs their own profile
- The currently logged in profile becomes Player 1
- Player 1 should press the join key first - see below
- After selecting Play, additional players join by pressing the movement key for their chosen control scheme:
- Press
Wto join with WASD - Press
↑to join with arrow keys - Press the
Middle Left Buttonto join with a controller
- Press
⚠️ Mouse input is not supported. All navigation and selection must be done with a keyboard or gamepad — clicking buttons with a mouse will not work.
In-game movement:
| WASD (left side) | Arrow Keys (right side) | Gamepad | |
|---|---|---|---|
| Move | W A S D |
↑ ← ↓ → |
D-Pad |
Joining & profile selection (after selecting Play):
| WASD (left side) | Arrow Keys (right side) | Gamepad | |
|---|---|---|---|
| Join | w |
↑ |
Middle Left Button |
| Confirm / Select | Left Shift |
Right Shift |
A / Cross |
| Back / Deselect | Left Ctrl |
Right Ctrl |
B / Circle |
- A C++20 compatible compiler (GCC, Clang, or MSVC)
- CMake 3.20 or newer
# 1. Clone the repository
git clone https://github.com/chanuka-williams/Multiplayer-Pac-Man.git
cd Multiplayer-Pac-Man
# 2. Configure
cmake -S . -B build
# 3. Build
cmake --build build
# 4. Run
# Linux / macOS:
./build/game/Pac-Man
# Windows:
.\build\game\Pac-Man.exeOn Ubuntu/Debian, install the following before configuring:
sudo apt-get install -y \
libasound2-dev libx11-dev libxrandr-dev libxi-dev \
libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev \
libxinerama-dev libwayland-dev libxkbcommon-devBoard layouts are defined as JSON files in resources/boards/. Add your own .json file there, and it will appear in the map selection menu automatically.
This is still in its early stages so the codebase is still evolving — contributions and improvements are very welcome!