下载 App

与塔啦啦携手:没有编辑器的关卡编辑

精华03/30153 浏览开发交流 包含 AI 合成内容
做《觅光》的时候我遇到了一个很现实的问题:游戏需要多个关卡,但taptap制造只有对话框,没有没有TiledMap 之类的手动关卡编辑器,怎么办呢?后来我摸索出了一套"文档驱动"的关卡制作流程——我在 Markdown 文件里画 ASCII 网格当地图,写个表格摆放火把、敌人、钥匙,然后让 AI 把这些文档转成游戏能跑的代码。改关卡的时候也不用碰代码,直接说"把第三关的torch_01 移到 (25, 8)"就行。靠这套流程,我做完了《觅光》的 11 个关卡。
先简单说下背景吧,顺便给自己打个广告[表情_猫咪举手]。《觅光》是一款 2D 平台解谜游戏,玩家在黑暗洞穴里靠火把生存,核心玩法是点亮火把、在火把之间穿梭、收集钥匙开门通关。
而作为基于瓦片地图框架的2D游戏,每个关卡本质上就两样东西:
  1. 一张瓦片地图——哪里是地面、哪里是平台、哪里是空气
  2. 一堆实体——玩家出生点在哪、火把放哪、敌人在哪巡逻、钥匙和门的位置
如果纯靠自然语言和图片描述让塔啦啦理解我的关卡设计,那效率太低了,而且不够精准。

核心思路:一个关卡,三种文件

我的做法是让AI对每个关卡同时维护三种文件形态,各有分工:
level_protocol_*.md — 这是关卡的"存档",用 JSON 格式记录精确、完整的数据,主要用于存档和备份。它可以转换成可视化的 edit 文件,也能从 edit 文件反向生成。
level_edit_*.md — 这是我日常编辑关卡的入口,包含 ASCII 可视化网格和实体坐标表格,让人一眼就能看出地图长什么样。它可以从 protocol 文件生成,也能转换成游戏运行的代码。
levels.lua — 这是游戏实际运行时引擎直接读取的代码,由 AI 从 protocol 或 edit 文件生成。
这三种文件之间可以随时互相转换。我改了 edit 文件,就让 AI 同步到 levels.lua;如果在代码里直接改了数据,也可以让 AI 重新导出 edit 文件。level_protocol_*.md作为改坏了的存档点。

地图怎么表示:一个字符一格瓦片

觅光的地形非常简单,只有四种瓦片:
  • 0 代表空气,无碰撞,玩家可以自由穿过。
  • 1 代表实体方块,包括地面和墙壁,有碰撞,玩家无法穿过。
  • 2 代表木质平台,有碰撞,玩家可以站在上面,通常用于跳跃平台或浮空地形。
  • 3 代表装饰块,无碰撞,纯视觉效果,不影响玩家移动,用于丰富场景细节。
所以一个关卡的地形就是一个字符串数组,每行字符串代表一行瓦片,肉眼就能看出地图结构。经过处理以后的地形数据长这样:
TapTap
markdown文件可预览效果

level_edit 文件:我的"可视化编辑器"

光看数字可能还是不够不太直观,所以我让 AI 生成了带坐标标尺的可视化版本。这就是 level_edit
文件,它长这样:
TapTap
markdown文件可预览效果
下面跟一个实体表格:
TapTap
markdown文件可预览效果
第一步:用自然语言或者字符串表格描述基础设计
你可以自己先在脑内构思好,甚至在像画图一样把关卡用约定好的字符串画出来,直接把参考文件作为项目文档发给塔啦啦。或者使用模糊一点的描述:
右侧山体作为终点屏障,门置于山顶形成目标感;左侧开阔区域降低初始压迫感,出生点设于此引导玩家向右探索;中间平台层创造垂直移动节奏;两支火把形成接力关系,亮着的火把暗示安全路径;钥匙位置需要小幅绕行,增加一点探索感;底部深坑通道提供备选路线,敌人巡逻制造动态障碍。
描述的精细度可以灵活控制。模糊构思时,只需说明结构层次和核心挑战;明确想法时,再指定关键坐标。AI 会自主补足尺寸、地形细节和具体位置。总之,先构思关卡的大致内容——地形结构、起点终点、障碍与收集品——再让 AI 落实具体数据。
第二步:预览,发现问题
生成之后构建游戏,实际玩一遍。通常会发现一些问题:
  • 这个平台跳不上去,太高了
  • 钥匙太容易拿了,想藏得更隐蔽一点
  • 这个火把的距离不对,不能很好的衔接上另一个火把
  • 这段暗区太长了,LP 扛不住
第三步:微调——最高效的部分
这就是这套流程最舒服的地方了。微调的时候完全不需要碰代码,直接用自然语言说改什么就行。
移动一个实体:
  "Level3 的 key_01 从 (15, 9) 移到 (8, 12)"
改地形:
  "Level3 的 y=10 行,x=25 到 x=30 的实体块挖空改成空气"
增删实体:
  "Level6 新增一支火把 torch05,放在 (15, 18),初始状态灭"
  "Level9 的 enemy
02 删掉"
改参数:
  "Level3 的 torch_02 改成初始点亮"
一次改多个:
  Level8 做以下修改:
  1. 地形:y=7, x=3~x=7 改成平台
  2. 实体:torch03 移到 (25, 15)
  3. 实体:新增 key
04 在 (30, 8)
  4. 实体:删除 enemy_02
AI 收到后直接改 levels.lua里对应关卡的数据,重新构建就能看到效果。

文档同步:代码和文档保持一致

改完关卡后,我会让 AI 把最新数据重新导出为文档:
  "把 Level3 的最终版本重新导出为 level_edit 和 protocol 文件"
AI 读取 levels.lua里的数据,重新生成带坐标标尺的可视化网格和 JSON 协议文件。这样三种文件始终保持一致。
反过来也行。如果改动比较大,我也可以直接编辑 level_edit
文件——在 ASCII 网格里加几行实体、在表格里改坐标——然后告诉 AI:
  "我修改了 leveleditlevel8.md,请读取它并更新 levels.lua"
甚至可以批量操作:
  "把所有关卡(Level3 到 Level9)重新导出为 level_edit 文件"

从零到完成一关的完整流程

把上面说的串起来,做一个关卡的完整过程是这样的:
第一步:描述设计
  "帮我做第三章,48×22,右边是山,门在山顶……"
      ↓
第二步:AI 生成三个文件
  · level_protocol_level3.md  (JSON 存档)
  · level_edit_level3.md      (可视化编辑视图)
  · levels.lua 里的对应数据  (运行代码)
      ↓
第三步:构建 & 试玩
  发现钥匙太好拿、深坑太窄……
      ↓
第四步:口头微调
  "key_01 移到 (8, 12);深坑通道拓宽到 x=22~x=31"
      ↓
第五步:再次构建 & 试玩
  满意 → 进入下一关;不满意 → 重复第四步
      ↓
第六步:同步文档
  "把 Level3 重新导出为 edit 和 protocol 文件"
实际做起来比写出来快得多。一个中等复杂度的关卡,只要自己提取构思好地图,用字符串从生成到最终定稿大概就是"说三句话 + 玩两遍"的事。

这套流程好在哪

回头看,这套"文档驱动"的做法有几个我很喜欢的点:
1. 零工具依赖
不需要 TiledMap、不需要 LDtk、不需要任何图形化编辑器。一个文本编辑器 + AI 就是全部工具链。Markdown 文件谁都能打开。
2. 改关卡不碰代码
最常用的微调方式就是说一句话:"torch_01 移到 (25, 8)"。不用找代码、不用数数组索引、不用担心改错格式。
3. 设计意图和数据分离
我描述的是"右边有座山,门在山顶"这种设计语言,AI 负责翻译成具体的在我限制范围内的网格数据。我不需要关心每个格子是 0 还是 1。
4. 改动可追溯
三种文件形态互相备份。protocol 是精确的 JSON,edit 是人类可读的可视化,levels.lua 是运行时代码。任何一个出了问题,都可以从其他两个恢复。
5. 批量操作很高效
一句"所有关卡重新导出 edit 文件"就能批量同步。做完一轮大改之后刷新所有文档,很方便。

总结

回顾做觅光这 11 个关卡的过程,最大的感受是:关卡编辑器不一定是一个软件,它可以是一套约定好的文档格式 + 一个能理解这套格式的 AI。
这套流程的核心就三件事:
  1. 定义清楚数据协议(哪些字符代表什么瓦片、哪些字段代表什么实体)
  2. 让文档可视化(ASCII 网格 + 坐标标尺,一眼看出地图结构)
  3. 用自然语言驱动修改("移到 (25, 8)"比在代码里找到对应行改数字快十倍)
有问题欢迎交流!也欢迎试玩我的《觅光》!
03:06
为了不被斩杀,我只能做到这些了截图
为了不被斩杀,我只能做到这些了
之前一直申请不到计划3,之前说太花哨,后面说体量完成度不足,在我一番小作文下,编辑终于给了我解答,什么原生质感,玩家开局体验啥的。 本来计划2也够用,准备以后再优化了,结果计划2赠送的积分要砍半了,学生党实在消费不起,于是只能再冲一波计划3了 从周六中午到现在一天半时间,优化了一遍角色卡,战斗卡,还有抽卡界面,优化了新手教程,该说不说确实比之前要舒服些。 前半部分为新版,后半部分为旧版。 明天再次
45 赞
9 回复
【新游上线】末日100天截图
【新游上线】末日100天
大家好,我们是《末日100天》的开发者Paul~ 这是一款围绕「生存-经营-轮回」展开的废土策略小游戏:白天分配 3 点行动力经营据点,夜里迎接十天一循环的尸潮,每张地图第 100 天还有一场首领战等着你。五张地图、五大区域机制、可继承的轮回遗产,以及钻石商城里的抽奖机——我们希望每次重开都有一点点新意。 以下是游戏简单介绍: 1.游戏背景 废土历元年,未知病毒席卷全球,城市化为死地。幸存者们退守
9 赞
6 回复
如何提升你游戏中的UI美术水平截图
如何提升你游戏中的UI美术水平
一、请为你的游戏挑选一款合适的字体 很多开发者没有注意到其实UI界面中最重要的元素是字体,一款合适的字体能给整个游戏的界面感官带来蜕变。 请看案例 那么如何挑选适合自己的字体呢? 我总结出了一些小经验可供参考: 黑体:通用 宋体:古风、武侠、修仙 楷体:古风、武侠、修仙 圆体:卡通、动漫、Q版 科技:科幻、未来、电子 顺手分享一个免费可商用字体网站: 当然 如果你不知道自己的游戏适合什么风格
精华
124 赞
44 回复
本地部署 AI 对接 TapMaker 指南 —— 以 CodeBuddy 为例V1.1截图
本地部署 AI 对接 TapMaker 指南 —— 以 CodeBuddy 为例V1.1
写在前面 大家好,我是橘猫,和你一样也是TapMaker的萌新玩家。在"全能神"天哥的悉心指导下,我顺利完成了本地开发环境的部署。经过这段时间的实战测试,已经成功打通了「本地开发 → 同步至TapMaker」的完整流程。 以下内容全部来自我的个人实操经验,旨在为同样在探索本地部署的朋友提供一个参考。每个人的电脑环境、网络情况、AI工具版本都不尽相同,文中的步骤仅供交流学习。如果你照着操作后遇到问题
36 赞
16 回复
01:07
我给制造开发了一个半自动的开发工作流截图
我给制造开发了一个半自动的开发工作流
随着多模态模型识图能力增强,尝试一下AI 是否能自己修复bug,自己检查。 1,基于画面修复代码 2,点击TapTap制造 菜单,切换屏幕显示 3,截图验证 刚跑通一个小闭环,给大家分享一下 随着模型能力增强,Token费用走低,这种半自动开发是未来常态了
1 赞
2 回复
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
68 赞
21 回复
永恒虚空持续开发日记1——关于游戏中的新名词:场频截图
永恒虚空持续开发日记1——关于游戏中的新名词:场频
写在前边:首先感谢TapTap制造版主大大@汪崽 对于作品潜力的肯定,给与了我积分计划二的权限[表情_不好意思]。这边也在加紧开发改进各种功能中,期望尽快给大家带来成熟的版本。[表情_猫咪举手] 大家好,我是永恒虚空的制作人黑猫不详,大家叫我黑猫就好。从今天开始我将以后置开发日记的形式给大家分享我在TapTap制造中制作的游戏永恒虚空的开发过程,新人希望大家多多关照! 今天先给大家介绍我作品中最重
投票
3 赞
01:29
官方阅,申请积分计划2,希望官方继续支持我完成这款游戏,截图
官方阅,申请积分计划2,希望官方继续支持我完成这款游戏,
视频内容只是一部分, 本游戏耗时3个月,目前完成进度百分之80, 是生存游戏,进入修仙界,走剧情找到宗门加入, 这时游戏才是真正开始, 提升实力境界后就可以变强,获取功法法术法宝, @视频内是游戏里挑战妖族入侵一种主流玩法,游戏就是围绕着这个来进行, 还有很多地方可以战斗,获得资源修炼变强,比如去藏书阁学习功法, 去法宝楼抽法宝,每一个宗门数十个法宝抽取 去修仙界探索,获得各自的资源,可能遇见妖兽
1 赞
3 回复
开发心得-界面布局心得截图
开发心得-界面布局心得
大家好,我正在用 TapTap 制造制作一款2D 治愈林间徒步旅行游戏《徒步荒野》。 我分享一下我的开发心得,希望能有用,下面是一些界面布局的心得。 第一步:定版式、操作 先确定游戏是横版还是竖版、需要哪些操作按钮,敲定整体玩法思路。 我的玩法灵感参考《边境之旅》,主打散步看风景、沿途触发随机事件。 原版是 3D,考虑到自己是新手,选择2D 横版街机式来做,制作更简单、好上手。 第二步:敲定全局美
6 赞
3 回复
【Tap make 塔拉拉之立项干货】萌新看过来!截图
【Tap make 塔拉拉之立项干货】萌新看过来!
题外话:本人也是tap make 使用者之一。塔啦啦忠实信徒、天哥忠实拥护者、八年游戏策划经验的低级策划。但是!我已经做出来一款5000+热度、且稳定可更新的框架、并且还在持续产出更多游戏内容的橘猫! 这几天正好在开新坑。我是3月初加入的tapmake大家庭。两周时间于3月25日将这个作品上架。当时的全凭感觉摸索。如今,自己也是一个有自己项目的小菜鸡了。今天,就来分享一下,如何高效的制作一款高大上
投票精华
69 赞
24 回复