孙悟空大闹红楼梦:我做了一个普通人也可以玩的多智能体斯坦福小镇

0 阅读4分钟

先放我的仓库封面 image.png

缘起:一个“懒”玩家的执念

我是一个重度模拟经营游戏爱好者,沉迷于 WorldBoxRimWorld 和《监狱建筑师》。我最享受的就是看着地图上的小人们自主生活,而我偶尔像“上帝”一样插手干预。后面看到斯坦福小镇,感觉用智能体来做个这种游戏应该很好玩。

但是我发现,类似斯坦福小镇这种,token消耗太高了,而且感觉总是缺少了一些故事性。正好我研究生所在的实验室开发了一个Agent-Kernel框架,可以任意添加智能体,且通过时间换空间的方式(具体架构如果感兴趣以后我可以讲讲),让单机单卡的笔记本,接api就可以跑起来多智能体系统。

所以我就和我的导师商量,就把OpenStory当作我的毕设题目,以红楼梦为背景,做了一个。

前端设计

前端方面,我就参考我喜欢的监狱建筑师那种风格,做了类似监狱建筑师的俯视角(这样的话就不用做多帧小人动画了hhh(还是有点懒)),然后直接用Tiled瓦片,上网买了点素材,一比一还原了红楼梦的场景。

屏幕截图 2026-04-04 105739.png 屏幕截图 2026-04-04 105734.png

然后用banana做了一些小人素材

屏幕截图 2026-03-19 153401.png 最后的效果是这样的

屏幕截图 2026-03-22 172051.png

后端架构:从“烧钱”到“平衡”

弯路

一开始,我想给小人极高的自由度和拟真性,所以就设计得特别细:小人观察四周的格子,如果发现了人物,才可以去规划、执行。但是,这样的token消耗太高了,而且很难对齐(一个tick可能就要5块钱)。

大致设计

后面于是开始简化,每个小人一次规划12个tick(一天),然后一天之中,只能有个把个tick可以与其它小人交互,然后就出现了死锁问题,后面就再加入了预约机制,如果预约不上,就给那个被爽约的小人加上提示词“对方正忙”。

还给不同的任务设计了优先级,如果是自己独自的小任务,就一句话模拟带过,如果是多人参与的,设计它们的详细动作和对话。感觉还挺有趣 屏幕截图 2026-04-03 113735.png

玩家如何参与

受益于AgentKernel的插件机制,我们可以很简单地往正在运行的多智能体系统中添加角色,然后,我就加入了孙悟空,玩起了跨界,当然,因为都是profile,可以随意添加你想要的角色,奥特曼啊,葫芦娃啊什么的。

我做了一些官方素材,当然,只要你想,加啥都行。

屏幕截图 2026-04-03 113928.png

还可以指定任何你想要的任务给他们。

屏幕截图 2026-04-01 152502.png

意外的化学反应:孙悟空棒打王熙凤

我们其实生成了很多很有意思的剧情,这里就举一个,孙悟空棒打王熙凤。

我们加入孙悟空后,让他去找王熙凤聊天,然后孙悟空就质问王熙凤,为什么要贪赃枉法,然后把他打死了。

对,打死了,我们的系统有死亡机制。然后,我们发现,系统开始崩塌,大观园里的人们开始纷纷逃离,孙大圣以为的正义并没有到来,来到的只是更加荒凉的大观园。

这还蛮让我们惊讶的。

写在最后

哎毕竟是我的第一个开源项目,总想着到处去宣传,看着自己的star增长很爽。

但是发现让gpt写一些不痛不痒的稿子去宣传,反而适得其反,今天感觉特别烦躁,想了想确实有好多话想说,就写成了这个稿子,不知道大家能不能喜欢。

如果你对这个项目感兴趣,或者你对 AI Agent 游戏化感兴趣,欢迎来我的 GitHub 逛逛,点个 Star 也是对一个研究生小登最大的鼓励!

Github链接

欢迎大家提意见,我们的第二个故事是西部背景,coming soon~。 image.png