<!-- title: 《pacman-canvas》四只幽灵各怀鬼胎 -->
<!-- domain: games -->
<!-- repo: Plattenschieber/pacman-canvas -->

# 《pacman-canvas》四只幽灵各怀鬼胎

> 说明：本期写作时在线核对通道受限，仓库精确 Star 数与最近提交时间未能实时核实，文中相关数据一律标注“据仓库页面”，只做定性描述，不做编造。

## 一、仓库档案

- **仓库**：`Plattenschieber/pacman-canvas`
- **内容**：一个用原生 JavaScript + HTML5 Canvas 实现的吃豆人复刻（据仓库页面）
- **语言**：JavaScript，无游戏引擎、无框架依赖（据仓库页面）
- **License**：开源许可，细节以仓库页标注为准
- **作者**：Plattenschieber，个人开发者（据仓库页面）
- **在线试玩**：仓库 README 提供了可直接打开的网页 Demo 入口（链接见文末）

把这个仓库放进这个栏目里，理由很直白：它是“经典街机复刻”这个品类的标准样板——一个人、一个 Canvas、几千行原生 JS，把人类商业游戏史上被研究得最透的一条迷宫跑道搬进了浏览器。对想搞副业的开发者来说，这种仓库的价值不在代码量，而在它把“一款街机游戏为什么让人停不下来”的答案，直接写成了可阅读的源码。

顺带说一句选它的私心：最近几期我们写过棋牌、卡牌、放置、roguelike、文字冒险，唯独“迷宫追逐”这个最古老的街机品类一直没碰过。pacman-canvas 正好补上这块拼图。

## 二、这游戏是什么

一句话：**你在一个对称迷宫里吃豆子，四只性格完全不同的幽灵追你；吃到大豆子，猎人和猎物当场互换，反手把幽灵吃掉赚大分；清空全场豆子过关，速度加快，直到被抓光三条命。**

没有商店、没有装备、没有剧情，全部玩法浓缩在一个屏幕里，一局三五分钟。但就是这套东西，1980 年在街机厅收割了全世界，理论满分 3333360 分，成为无数职业玩家的圣杯。

它的核心循环画出来是这样的：

```mermaid
flowchart TD
    A[开局：满迷宫豆子，四鬼压境] --> B[玩家动作：规划路线，吃豆躲鬼]
    B --> C{吃到能量豆？}
    C -- 是 --> D[系统反转攻守：鬼变蓝，可反杀得分]
    C -- 否 --> E[分数上涨，鬼持续施压]
    D --> E
    E --> F{被鬼抓到？}
    F -- 是 --> G[掉一条命，回到出生点]
    F -- 否 --> H{豆子清空？}
    G --> B
    H -- 否 --> B
    H -- 是 --> I[过关：移速提升，难度上调]
    I --> J[分数进排行榜：下一局要打得更好]
    J --> A
```

注意这个循环里有两个关键的分岔点：**能量豆**制造“权力反转”的爽点，**排行榜**制造“再来一局”的理由。后面我们会看到，这两样东西几乎可以平移到任何小游戏上。

## 三、为什么上头

吃豆人是被游戏设计圈解剖得最彻底的街机，没有之一。社区流传多年的《Pac-Man Dossier》把它的机制逐帧拆过。对照 pacman-canvas 的实现，可抄的上头机关至少有五个：

**1. 四只幽灵四种人格——最伟大的“假智能”设计**

这是整个游戏最值得抄的一笔。四只鬼颜色不同，行为逻辑完全不同：

- **Blinky（红）**：直接朝你当前所在格子追，贴身狗斗；
- **Pinky（粉）**：瞄准你前方几格的位置——它不追你，它**堵你**；
- **Inky（青）**：以 Blinky 的位置为向量基准做包抄，和红鬼形成钳形攻势；
- **Clyde（橙）**：距离远时追击，一旦贴近反而掉头回自己的角落溜达，像个社恐。

玩家未必说得出机制，但一定感觉得到“红鬼凶、粉鬼阴、橙鬼憨”。四段简单到只有几十行的 AI，组合出“被围剿”的错觉。这就是廉价而高级的游戏智能：**不需要神经网络，几个向量运算就能让玩家心跳加速。**

**2. Chase / Scatter 节奏器——压力要有呼吸**

幽灵并不是全程追杀。原版设计里，追击模式和分散模式（各回各家角落）按时间表交替。玩家的体验是：紧张一小段，获得喘息，再紧张一小段。这种“压力波浪”是让人不知不觉玩下去的生理学基础——一直高压会劝退，一直低压会无聊。pacman-canvas 这类复刻普遍保留了这套状态机（据仓库页面），源码里就能看到模式切换的计时逻辑。

**3. 能量豆——稀缺的权力反转**

全场只有四颗能量豆，吃了之后短短几秒，天平倒转：幽灵变蓝、减速、可被吃。连续吃鬼分数翻倍（200/400/800/1600），这就是随机奖励的前身——**你知道它会来，但什么时候敢用它，永远是个决定**。好的小游戏都应该找得到自己的“能量豆”：一个让玩家瞬间从守转攻的稀缺道具。

**4. 迷宫设计——每个危险都有解**

原版迷宫左右对称、中央幽灵屋、两侧穿越隧道（幽灵过隧道会减速，玩家多一条逃生阀）。关键在于：**任何位置被包围，理论上都存在至少一条活路**。绝望感来自“你以为没路了”，而不是“真的没路”。做窄屏小游戏时这条照样成立——地图可以小，但不能死。

**5. 街机式分数攀比——排行榜是免费的留存**

没有存档、没有进度，最高分就是全部尊严。一局五分钟、死了立刻重开、分数挂在墙上被人看——这三件事凑在一起，就是 1980 年代版的“社交攀比”。今天不过是把街机厅的粉笔榜换成了 localStorage 或云端排行榜，心理机制一分没变。

## 四、技术拆解

pacman-canvas 的技术栈朴素到令人感动，而这恰恰是它对副业开发者最有用的地方（以下据仓库页面与同类实现通例）：

- **零依赖原生 JS + Canvas**：没有 Phaser、没有构建工具，clone 下来双击 HTML 就能跑。意味着你改皮、改数值、部署到任意静态空间的成本都趋近于零。
- **迷宫即数据**：整个地图用二维数组（或字符画式的字符串数组）表示，`0` 是路、`1` 是墙。改一张新迷宫，就是改一个数组——这是做“关卡编辑器”和换皮最舒服的数据结构。
- **格子逻辑 + 像素表现分离**：实体在格子坐标系里做寻路与碰撞，渲染时再映射到像素。这套分离是所有格子类游戏（俄罗斯方块、推箱子、贪吃蛇）的通用骨架。
- **幽灵 AI 就是状态机**：chase / scatter / frightened 三个状态加一个计时器，每个幽灵一个目标格函数。想入门游戏 AI，读这几十行比读任何教程都快。
- **精灵动画**：吃豆人张嘴闭嘴、幽灵眼睛朝向移动方向，都是简单的帧切换，素材用免费精灵图或几行 Canvas 绘图就能替代。

可直接复用的组件清单：二维数组地图加载器、网格移动控制器、三状态幽灵 AI、键盘+触控输入适配、最高分本地存档。这五件套拼起来，就是 90% 复古街机小游戏的底盘。

## 五、变现观察

先泼一盆必要的冷水：**吃豆人的形象、名字、美术归万代南梦宫所有**。开源仓库给的是“机制实现”，机制本身不受版权保护，但你要是原样搬一个黄色大嘴加四个彩色鬼上线，法务函不会迟到。复刻的正确姿势是**换皮换名**：迷宫追逐的骨架保留，题材完全重做。

然后说钱从哪来：

- **HTML5 游戏平台分成**：CrazyGames、Poki、GameDistribution 这类平台的商业模式就是把休闲游戏分发给流量方，广告收入与开发者分成。街机迷宫类是它们欢迎的常青品类——规则三秒看懂、一局三五分钟、天然适配 Web 嵌入。这是 pacman-canvas 这类仓库最顺的变现路径。
- **微信小游戏 + 激励视频**：迷宫品类在微信生态里常年有盘子，死亡后“看广告原地复活一次”这类点位与玩法天然契合（注意别做得太脏）。
- **itch.io 意愿付费**：把换皮版做成有风格的完整小作品（新美术、新关卡、排行榜），挂 itch.io 让玩家自选价格，赚不到大钱但能验证题材。
- **历史彩蛋，也是信心来源**：Ms. Pac-Man 最初压根不是官方作品，而是一家叫 GCC 的公司拿街机改装套件做出来的“魔改版”，因为太受欢迎，最后被官方收编成了正作；2015 年手游《Pac-Man 256》把经典迷宫和无尽跑酷一融合，又是千万级下载的产品。**这套机制四十六年了一直有人靠它的新变体赚钱**，你要做的只是找到下一个变体。

这个仓库本身没有变现痕迹（个人作品、开源分享），它的价值是给你一台“机制解剖台”。

## 六、给我的灵感

**点子一：把“追”换成中国式题材，做 H5 排行榜小游戏（MVP 约 2 周）**

保留四鬼四人格的 AI 骨架，题材换成“实习生躲避甲方”：红甲方正面追、粉甲方预判你去厕所、青甲方绕后堵门、橙甲方快追到就怂回去。清完“需求文档”过关。技术直接复用本仓库五件套，挂 GameDistribution 或微信小游戏，靠广告分成吃量。工作量主要在美术皮，AI 和地图逻辑几乎白送。

**点子二：把幽灵人格做成“收集+抽卡”钩子（MVP 约 3-4 周）**

每关额外解锁一只新性格的幽灵（或反过来——解锁一只帮你吃豆的宠物鬼），人格可以组合出成百上千种追击风格。核心循环不变，额外叠一层收集欲和“下一只是啥”的随机奖励。这种版本适合挂 itch.io 意愿付费或 Steam 小体量上架，风格化美术是加分项。

**点子三：非对称对抗——第二个人来当鬼（MVP 约 4 周）**

一人吃豆、一人操作幽灵围剿，开房间联机。任天堂早在 NGC 时代就用《Pac-Man VS》验证过这个方向的快乐浓度，而 Web 实时联机 nowadays 用 WebSocket 几百行就能搭。派对场景（朋友、情侣、直播间水友）意味着天然的传播和打赏点，参考本栏目之前写过的联机派对玩法，社交本身就是留存。

三个点子共同的下钩点都一样：**四段几十行的幽灵 AI，是这个仓库里最值钱的东西**。美术会过时，引擎会换代，但“让玩家觉得对面有心眼”的手艺，到哪一年都稀缺。

## 七、上手

- 仓库：https://github.com/Plattenschieber/pacman-canvas
- 在线试玩：README 页提供 Demo 入口，打开即玩
- 阅读顺序建议：先玩一局找回手感 → 看迷宫数据结构 → 重点读幽灵 AI 的状态机与目标格计算 → 最后看输入与渲染分离的方式

把四只鬼的心眼读明白，你就免费上完了一节价值不低的街机设计课。剩下的，是给这副骨架换一身属于你自己的皮。
### 1. 完成摘要（What was done）

### 2. 下一步计划（What's next）

- 若需精确 Star/License/更新时间，可在网络权限恢复后补核仓库页（约 1 分钟）
- 下轮选题建议方向：养殖/宠物养成（拓麻歌子类）、你画我猜派对类、华容道/数独益智类，均未覆盖

### 3. 注意事项（If applicable）

- 本文 Star 数、License、更新时间未在线核实，均已按规则标注“据仓库页面”，未编造具体数字
- Pac-Man 形象 IP 属万代南梦宫，文章已在变现节明确提示“必须换皮换名”，避免读者踩坑
- 文中 Ms. Pac-Man（GCC 魔改被收编）与《Pac-Man 256》为公认公开掌故，未涉及未证实收益数字

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
