Skip to content

Rollman

一、游戏背景

  • 某种意义上,我的人生变成了一场游戏,而我——一名普通却又不甘平庸的北京某大学学生,成了游戏的主角。   
  • 刚进入这个“学术迷宫”时,我还以为自己在做梦。脚下是一条蜿蜒的小路,两旁的书架高得仿佛要撑破天花板,空气中飘着浓浓的咖啡香。我的背包里装满了勇气和好奇心,前方的路铺满了金灿灿的知识金币,散发着诱人的光芒。金币的闪耀让我瞬间明白:收集它们就是我的使命——它们象征着我对世界的理解和成长的每一步。
  • 但这可不是什么轻松的“跑酷游戏”。就在我刚捡起第一枚金币时,三个幽灵突然出现,吓得我差点把金币扔了!他们分别叫“课业”、“科研”和“社工”,个个都不是好惹的主儿。
  • “课业”幽灵一手拿着厚厚的课本,一手挥舞着试卷,眼神犀利得像能穿透我的灵魂。他总是堵在路的中间,冷不丁冒出来抛给我一道微积分难题或者一篇需要48小时内完成的论文。
  • “科研”幽灵则更加狡猾。他总是在我埋头专心收集金币时悄悄靠近,用一堆实验失败的数据打击我的信心。他是那种会用“再来一遍!”不断折磨你的类型。    “社工”幽灵看似人畜无害,但其实是个隐藏的“大杀器”。他手里拎着一大堆社团活动通知,嘴里念叨着“平衡学习与生活才能成为全能选手!”可是一旦答应他的邀请,时间就像被偷走了一样,学习时间也随之消失。
  • 我知道他们的目的,就是为了让我在学术迷宫中迷失自我,甚至选择放弃。但我绝不服输!
  • 一开始,我对这些幽灵还有点儿害怕,总觉得他们随时能把我“Game Over”。不过随着我捡到的金币越来越多,我感觉自己变强了!金币的光芒不仅点亮了周围的路,也点燃了我的自信心。现在,我学会了用机智和灵活应对挑战。
  • 每当我收集够一定数量的金币时,前方会出现一扇闪着蓝光的传送门,门内是通往下一关的未知世界。我总会在门前驻足片刻,思考一个“灵魂问题”:我是该继续留在这一关,尽可能多地收集知识金币,还是冒险进入下一关,迎接新的挑战? 
  • 留在这里,我能更扎实地提升能力,但也要承受幽灵们更激烈的追逐;穿过传送门,我将迎来全新的机会和风险,甚至可能遇到更厉害的幽灵。这种选择并不轻松,可每一次都让我更了解自己。 
  • 学术迷宫中的每一天都像是和自己的一场对弈。幽灵是我需要面对的挑战,但真正的敌人从来不是他们,而是那些躲在角落里的懒惰和逃避。每一次我战胜幽灵、收集金币,都是在突破自我,向更优秀的自己靠近。 
  • 如果这是一场游戏,那我一定要做到通关为止。谁说我不能成为一个冒险家呢?

二、场景设置

每个关卡的地图大小分别为 41×41、32×32 和 22×22,地图左下角的墙壁为坐标(0,0)。你在每一关中可行走的轮数是有限的,三个关卡的最大轮数分别为 500、400、300,如果达到最大轮数,将会强制进入下一关。

你可以拾取护盾,护盾可以抵挡一次幽灵的抓捕。但是如果被抓住时没有护盾则会被幽灵吃掉,然后重生在使得与三个幽灵的曼哈顿距离的最小值最大的空地位置。与此同时,你的所有特殊道具都会清空。你没有命数限制,但是每次被吃掉都会有一定的分数惩罚。

场景内共有多种金币和特殊道具,其中除普通的知识金币外其余的特殊道具数量较少:

  1. 知识金币每获得一个加 1 分。

  2. 双倍荣耀币:价值双倍的金币,每获得一个加 2 分,让你在知识的世界中快速积累更多的财富,一次成功收集,便能突破多个难关。

  3. 疾风之翼:拥有它,在接下来的 8 轮中,你的速度将变为原来的两倍,你将如风般迅速,疾速穿梭在学术迷宫中,迅捷躲避幽灵的追击。

  4. 智引磁石:拥有它,在接下来的 8 轮中,你可以吸引到经过路径中每一个单位格子周围 3*3 的所有金币与特殊道具,让你轻松收集,仿佛一块智慧的磁铁。

  5. 护学之盾:在命悬一线时,护学之盾将为你抵挡一次幽灵(同一轮内被多个幽灵同时抓住只算作一次抓捕)的抓捕,保护你在最危急的时刻安全脱离困境。

  6. 智慧圣典:一本神奇的书籍,开启智慧的传承,拥有它,在接下来的 8 轮中,你获得的分数将 x2,你将快速克服课业、科研与社交的困扰。

  7. 时间宝石:拥有它,在接下来的 2 轮中,幽灵将不能进行移动(幽灵依然需要发送操作信息,但会被视为不动)

  8. 在第一关和第二关中,地图中间区域存在通往下一关的传送门。当你在第一关行走超过 60 轮以及在第二关行走超过 50 轮时,传送门会开启,只要卷王在本轮的行走路径经过传送门,即视为卷王走进传送门,你可以通过进入传送门来直接进入下一关的挑战。但请注意,幽灵抓捕卷王先于卷王通过传送门结算,若在本轮中幽灵吃掉了卷王,则卷王不能通过传送门进入下一关。

注意:

1. 所有特殊道具均从获得的下一轮开始起作用,即在第i轮获得特殊道具,则第i+1轮为特殊道具起作用的第一个轮次。传送门在开启后的下一轮才能进入。

2. 特殊道具不能叠加使用,如果你在具有某一特殊道具的情况下再次获得该特殊道具,则该道具的剩余轮次将被重置。

3. 进入新的一关,所有特殊道具将被清除。

4. 你可以同时拥有多个护学之盾。

三、加分规则

卷王

如果卷王在同一关内连续 100 轮没有被幽灵抓住(没有被吃掉且没有被摧毁护盾),则会获得额外的 50 分加分(智慧圣典无法使该分数x2),同一关内可以有多次连续 100 轮没有被幽灵抓住。

如果卷王把本关地图中所有的知识金币和双倍荣耀币全吃完了,会获得 50 分的加分(智慧圣典无法使该分数x2)。

如果卷王被幽灵吃掉了一次,会被减掉 60 分(智慧圣典不会使该分数x2)。

如果卷王提前通关(包括传送门传送或者吃掉所有知识金币和双倍荣耀币),会获得大小为 \(\lfloor(MaxRound(level) - CurrentRound) \times 0.43\rfloor\) 的时间因子加分(智慧圣典无法使该分数x2)。

幽灵

幽灵吃掉卷王,则吃掉卷王的幽灵获得 50 分的加分。

幽灵摧毁了卷王的护盾,则摧毁卷王护盾的幽灵获得 10 分的加分。

若幽灵在同一关内吃掉5次卷王(不包含摧毁护盾),则每个幽灵都将获得20分的加分,同一关内可以有多次“吃掉5次卷王”。

若卷王没有进入传送门且没有吃掉本关所有的知识金币和双倍荣耀币(即卷王没有提前通关),那么每个幽灵都将获得 25 分的加分。

操作幽灵的玩家的最终得分为三个幽灵的得分之和。

幽灵抓住卷王的判定

每一轮中判断幽灵走过的路径和卷王走过的路径(不包含起点,包含终点),若两者的路径有重合,则判断为幽灵和卷王在此轮相遇,即幽灵抓住了卷王。

两条路径重合的具体判定算法:

  1. 对每条路径,设其起点和终点分别为 \((x_1, y_1)\)\((x_2, y_2)\),取其中点 \((\frac{x_1+x_2}{2}, \frac{y_1+y_2}{2})\)

  2. 对终点和中点,分别计算两条路径的各对应点的曼哈顿距离(终点和终点的距离,中点和中点的距离),若存在两对应点之间的曼哈顿距离小于等于 0.5,则路径有重合;

  3. 若卷王的路径和任一幽灵的路径有重合,则此轮幽灵与卷王相遇。

破盾后卷王将获得一轮无敌时间,复活后卷王将获得三轮无敌时间。

注意事项:

  1. 若在拥有疾风之翼的情况下走一格撞墙,则路径的中点是走一格时的点而非走半格时的点。

结算顺序

  1. 卷王进行移动并结算其获得的金币

  2. 幽灵进行移动(若卷王拥有时间宝石,则幽灵被视为不移动)

  3. 判断卷王与幽灵的相遇

  4. 判断卷王是否进入传送门

  5. 判断本关卡是否结束

  6. 进行大加分的结算:即卷王是否吃完了本关地图中所有的金币和是否提前通关

四、时间空间限制

AI初始化限制运行时间 20s ,操作限制运行时间 1s ,空间 512MB ,超过限制直接判负。

五、AI SDK

Rollman SDK仓库:https://github.com/PacMan-Logic/PacmanSDK-python

幽灵 SDK仓库:https://github.com/PacMan-Logic/GhostsSDK-python

逻辑仓库:https://github.com/PacMan-Logic/PacmanLogic

六、通信协议及游戏流程

通信流程

  • 逻辑给双方发送初始化信息
  • 逻辑接收到先手玩家操作
  • 逻辑接收到后手玩家操作
  • 结算双方玩家操作并更新游戏状态
  • 如果中途游戏结束,则对局直接终止

操作码

操作名称 操作码
停留在原地 0
向上移动 1
向左移动 2
向下移动 3
向右运动 4

初始化信息及回放文件格式

通信文档

七、关于地图的生成

  • 地图中共有五种障碍物,十字,L型,反L型,盒子型,反盒子型。
  • 生成地图时各种障碍物随机生成。第一关共有16个障碍物,第二关共有9个障碍物,第三关共有4个障碍物。
  • 每关开始时,卷王与三个幽灵会随机生成在地图的四个角落。

八、培训讲座

第 29 届智能体大赛第一次培训交流会

第 29 届智能体大赛第二次培训交流会