假设有人给你下了个死命令:做一个"宝可梦",但不许画一张图,不许配一段音频,美术预算为零,运行环境只有一扇黑乎乎的终端窗口。听起来像惩罚,但对开发者来说,这恰恰是把"游戏到底为什么好玩"扒到骨头上的最好实验。德国开发者 lxgr 交出的答卷叫 Pokete——一个纯 Python、纯字符的宝可梦式回合制收集 RPG,在 GitHub 上攒起了千星量级的人气(据仓库页面;本次调研外网抓取受限,未取到实时精确值,发稿前建议复核一遍)。它没花一分钱美术,却把过去三十年被反复验证过的那套"上头配方"原样装了进去。
放在"个人开发者能参考的样本"这个维度看,它的含金量不在星光,而在于:这是一份把收集类 RPG 的最小可玩骨架完整摊开的源码。
一句话:你在终端里扮演训练师,走地图、钻草丛、遇怪、打架、扔球捕捉、攒图鉴、打道馆、拿徽章、解锁新区域——宝可梦主线的完整循环,一个不少,全靠字符阵列渲染出来。一百多种精灵(据仓库页面)、上百种技能、十余种属性克制、数个大区域地图、进化链、训练师 NPC、治疗点和商店,全部由数据定义驱动,而不是散落在代码里的硬编码。
它的核心循环画出来长这样:
flowchart TD
A[在地图上行走] --> B{钻进草丛/水面}
B -->|概率触发| C[遭遇野生精灵]
B -->|未触发| A
C --> D[回合制战斗:选技能或扔精灵球]
D -->|打赢| E[获得经验与金币]
D -->|捕捉成功| F[图鉴 +1 新精灵入库]
D -->|打输| G[回治疗点 几乎零惩罚]
E --> H[升级 学新技能 逼近进化线]
F --> I[补图鉴缺口 凑克制体系]
H --> J[挑战道馆]
I --> J
J -->|拿徽章| K[解锁新区域 出现更强野生精灵]
K -->|更大的图鉴缺口| A
G --> A
注意这个环的关键接口:"行走"是输入,"随机遭遇"是抽奖,"战斗"是兑现,"图鉴与徽章"是账本。玩家每一分钟都在这四个接口之间过账,而账本永远差几笔——这就是它让你坐下一局的理由。
把 Pokete 拆开看,它用的每个钩子都是宝可梦系列三十年前就调好的参数,只是换成了字符皮肤:
1. 草丛就是斯金纳箱。 每走一步都可能遇怪,遇什么怪、稀不稀有,全随机。行为心理学里管这叫可变比率强化——奖励什么时候来、来多大,玩家自己说了不算,于是停不下来。对比一下:固定奖励的游戏(打十个怪必掉一件)玩半小时就腻,因为你的大脑把日程表背下来了。草丛的可怕之处在于它永远"下一步也许有"。
2. 图鉴永远缺几只。 蔡格尼克效应:人对"未完成"的记忆远强于"已完成"。Pokete 的图鉴界面上,那些灰色的未捕获条目会一直挂在你视野里,像购物车里没结算的东西。捕捉成功率还故意不满——扔球会失败,稀有精灵更是连扔十次都可能溜走。失败本身成了"再来一次"的引信。
3. 进化是最强的进度条。 等级到线,精灵当着你的面变形,名字一换、能力一涨、外观重画(在 Pokete 里是字符画重画)。这个"迟到大奖"的反馈周期设计极其毒辣:升级是分钟级的反馈,进化是半小时级的反馈,道馆徽章是小时级的反馈,三层嵌套,你总能在任意时刻感受到"我在变强"。
4. 属性克制表把学习成本变成护城河。 火克草、水克火、电克水……十几乘十几的克制矩阵,新手期觉得复杂,学会的那一瞬间就成了优越感的来源——你看,克他了吧。这类"可习得的深度"是回合制游戏留存的核心:上手三分钟,精通三星期。
5. 回合制等于零手速门槛。 不需要反应速度,通勤、排队、开会摸鱼(不是)都能玩。Pokete 跑在终端里反而把这个优势放大了:它能在任何一台能开 SSH 的机器上玩,包括你公司那台只装了命令行的服务器。
6. 打输几乎没有惩罚。 战败回治疗点,精灵还在、经验还在。宝可梦系列早就算明白了:收集类游戏里,挫败感是收集欲的溶解剂,惩罚要轻到可以忽略,重开循环才转得动。
把这六条写下来你会发现:全部和画面无关。这就是 Pokete 这个"零美术实验"最有价值的结论——上头是结构问题,不是渲染问题。
对想自己做游戏的人来说,这个仓库比大多数教程都值得读,因为它用的是最朴素的材料,把该有的架构一件不落搭齐了:
体量上,整个项目是几千行 Python 的量级(据仓库页面),没有任何一行代码是"魔法"。它给你的可复用清单非常具体:战斗状态机、数据驱动实体表、克制矩阵、字符渲染器——这四件套几乎能组装出市面上一切回合制小游戏的骨架。
先把丑话说完:Pokete 本身没有任何变现痕迹。README 里没有赞助链接式的强引导(据仓库页面),它更像一份作品集和一枚简历放大器——但对 lxgr 这种还在读书阶段的个人开发者,这个项目的"变现"其实已经发生在了别处:GitHub 千星、技术社区曝光、求职时的硬通货。这是开源小游戏的第一条真实路径,只是不是今天讨论的重点。
重点是这个品类的吸金能力,公开报道里的数据是碾压级的:
变现路径的具体建议:这类回合制收集游戏的天然主场是移动端小游戏平台——微信/QQ 小游戏、抖音小游戏,用激励视频广告嵌进循环的三个点位:捕捉成功后"看广告双倍经验"、稀有精灵刷新提示、战败复活。捕捉那一下的多巴胺和"再看一次"的按钮是天作之合。其次才是 itch.io 付费下载和 Steam 走量。Pokete 用 GPL 开源,意味着你不能直接拿它代码做闭源商业版——抄结构、抄循环、抄数据表设计,代码自己写,这既是法律边界,也不吃亏:它的价值本来就在架构示范,不在代码本身。
点子一:两周 MVP——网页版字符捉宠。 完全复刻 Pokete 的结构:精灵表、技能表、克制矩阵、遭遇表四张数据表,加一个回合制战斗状态机,前端用等宽字体+Canvas 或干脆纯 DOM 渲染,不画一张图(这个决定还能顺便做出传播点:"零美术宝可梦"本身就是话题)。工作量 2-3 周。变现:微信小游戏+激励视频广告,接入成本低,捕捉场景天然适合"看广告得双倍"。
点子二:换题材——给程序员做一只"抓 Bug 图鉴"。 精灵改成 Bug 和异常:NullPointer 幼虫、SegmentationFault 龙、栈溢出蛇,属性克制表做成生态梗("Java 克 C++"、"注释克祖传代码")。图鉴叫"故障百科",捕捉叫"复现"。这个题材在 GitHub、掘金、V2EX、HN 有天然传播势能,写这篇文章的人都想玩。工作量 3-4 周。变现:不急着收钱——用它涨星、涨粉、给付费课程或咨询服务导流,开发者向产品的正确打开顺序。
点子三:加钩子——收集循环上叠一层肉鸽。 每局随机初始精灵、随机遭遇路线、战败即重开、局内成长不带走,局外解锁图鉴和初始池。这个组合已被 PokeRogue 用流量验证过,而 Pokete 的数据表结构恰好是肉鸽随机化的理想底座(随机=从表里抽,架构零改动)。工作量:在点子一基础上加 1-2 周。变现:网页广告打底,itch.io 付费版+Patreon 上限更高。
三个点子共用同一句话总结:宝可梦循环是最不依赖美术的印钞机结构,Pokete 用零张图片证明了这一点,并把骨架图纸免费摊开给了你。
pip install pokete 即可开跑,据仓库页面),或克隆源码用 Python 直接运行;Windows 用户需按 README 补装 windows-curses。数据说明:本文的 Star 数、协议、维护状态等信息,因本次调研外网抓取受限,均为"据仓库页面"的记忆口径,未含实时精确值;发布前建议对仓库页面做一次快速复核,若 Star 或协议有出入以仓库为准。
[!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 等场景全覆盖。
