下载 App

100 关水排序,怎么保证程序 "随机生成的每一关都一定能解"

前天 11:4110 浏览开发交流
做关卡生成时最怕一件事:纯随机倒出来的布局可能是死局,这种是最致命影响体验的。
我的整体流程是:先用一条难度曲线定下每关参数(颜色数从 3 递增到 10、瓶子容量 4 到 5、空瓶 1~2 个),然后 随机切块 → 丢给内置求解器验证 → 存下布局;解不出来就重新 roll,直到可解为止。
所以核心是给自己写了一个水排序求解器: ・胜利判定:所有非空瓶都装满且颜色一致、颜色不重复; ・枚举合法走法:只能倒到同色顶部或空瓶,且不能超过容量; ・关键是给走法做启发式打分—— 凑满一个纯色瓶、同色聚合、把源瓶倒空都给更高分,引导搜索优先往 "更接近胜利" 的方向走; ・再配合 DFS、节点预算、局面去重(把局面序列化存表,避免反复搜同一个状态)和剪枝; ・用局面 hash 加伪随机数做种子、多跑几个种子,结果还能稳定复现。
这个求解器我做了两个版本:一个只判断 "能不能解",生成关卡时跑得快;另一个会返回具体通关路径—— 这样游戏里的 "提示" 和技能给出的下一步是真实可通关的,不会把玩家带沟里。顺带,求解器算出的最少步数直接拿来当三星标准,不用手工调。
前几关教学则用 "反向打乱":从完全归位的状态往回走若干步,天然又简单又可解。
直到后面颜色到 10 种、瓶子 12 个时状态空间爆炸,最初的 BFS 直接卡死;换成启发式 + 预算 + 去重后才压到毫秒级。
有没有大佬是直接用反向生成来保证可解的?或者有更优雅的做法,求指点。

#休闲游戏 #水排序 #游戏日常 #开发心得 #ai做游戏 #解谜游戏 #独立游戏
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
68 赞
21 回复
开发心得-界面布局心得截图
开发心得-界面布局心得
大家好,我正在用 TapTap 制造制作一款2D 治愈林间徒步旅行游戏《徒步荒野》。 我分享一下我的开发心得,希望能有用,下面是一些界面布局的心得。 第一步:定版式、操作 先确定游戏是横版还是竖版、需要哪些操作按钮,敲定整体玩法思路。 我的玩法灵感参考《边境之旅》,主打散步看风景、沿途触发随机事件。 原版是 3D,考虑到自己是新手,选择2D 横版街机式来做,制作更简单、好上手。 第二步:敲定全局美
6 赞
3 回复
如何提升你游戏中的UI美术水平截图
如何提升你游戏中的UI美术水平
一、请为你的游戏挑选一款合适的字体 很多开发者没有注意到其实UI界面中最重要的元素是字体,一款合适的字体能给整个游戏的界面感官带来蜕变。 请看案例 那么如何挑选适合自己的字体呢? 我总结出了一些小经验可供参考: 黑体:通用 宋体:古风、武侠、修仙 楷体:古风、武侠、修仙 圆体:卡通、动漫、Q版 科技:科幻、未来、电子 顺手分享一个免费可商用字体网站: 当然 如果你不知道自己的游戏适合什么风格
精华
124 赞
44 回复
03:06
为了不被斩杀,我只能做到这些了截图
为了不被斩杀,我只能做到这些了
之前一直申请不到计划3,之前说太花哨,后面说体量完成度不足,在我一番小作文下,编辑终于给了我解答,什么原生质感,玩家开局体验啥的。 本来计划2也够用,准备以后再优化了,结果计划2赠送的积分要砍半了,学生党实在消费不起,于是只能再冲一波计划3了 从周六中午到现在一天半时间,优化了一遍角色卡,战斗卡,还有抽卡界面,优化了新手教程,该说不说确实比之前要舒服些。 前半部分为新版,后半部分为旧版。 明天再次
45 赞
9 回复
【新游上线】末日100天截图
【新游上线】末日100天
大家好,我们是《末日100天》的开发者Paul~ 这是一款围绕「生存-经营-轮回」展开的废土策略小游戏:白天分配 3 点行动力经营据点,夜里迎接十天一循环的尸潮,每张地图第 100 天还有一场首领战等着你。五张地图、五大区域机制、可继承的轮回遗产,以及钻石商城里的抽奖机——我们希望每次重开都有一点点新意。 以下是游戏简单介绍: 1.游戏背景 废土历元年,未知病毒席卷全球,城市化为死地。幸存者们退守
9 赞
6 回复
2D 无限地图 Tilemap 实战指南截图
2D 无限地图 Tilemap 实战指南
2D 无限地图 Tilemap 实战指南 从一张图到无限世界 —— 如何用 AI 生图 + Tile 平铺 + 装饰散布,搭建一个可无限漫游的 2D 游戏地图。 为什么需要 Tilemap? 很多 2D 游戏一开始用一张静态背景图铺满屏幕就够了。但当你想做"无限地图"(比如吸血鬼幸存者那种可以自由走动的大世界)时,一张固定背景就不行了——玩家走到哪,地面就得铺到哪。 Tilemap 的核心思想很简
精华
20 赞
1 回复
2D 等轴测视角:完整理论截图
2D 等轴测视角:完整理论
2D 等轴测视角:完整理论 一、视角的本质 什么是等轴测 人站在高处斜着往下看地面,地面上的方格子不再是正方形,而变成了菱形。这就是等轴测的视觉本质。 俯视(正上方看下去): 等轴测(斜上方看下去): ┌──┬──┬──┐ ◇ ├──┼──┼──┤ ◇ ◇ ├──┼──┼──┤ ◇ ◇ ◇ └──┴──┴──┘ ◇ ◇ ◇ 正方形网格经过旋转 + 压缩,变成了菱形网格。 为什么是 2:1
6 赞
【游戏上新】——宅男打丧尸截图
【游戏上新】——宅男打丧尸
这是一款横向俯视角射击生存游戏,主打"轻松上手、越玩越爽"的爽快体验。游戏目前已包含: 四种核心模式:挑战、防守、生存、无尽,满足不同玩家口味 多种枪械,从手枪到重型火力,打出自己的风格 地雷,手雷,枪架多种不同军火自由选择,给敌人造成最大伤害 完整的成长体系:角色等级、军火系统、被动技能,越肝越强 丰富的敌人设计:普通丧尸到多种 Boss,战斗层次感明显 未来会制作更多不同的角色,天赋,军火,玩
4 赞
12 回复
创作资源申请,荒岛避难所截图
创作资源申请,荒岛避难所
申请积分计划三。末日荒岛避难类型的,玩家需要自己求生,攒了资源循环修起来后,可以收留更多幸存者,派遣幸存者种植,采集,探索,做菜等等。还有很多需要完善的功能,修bug维护需要积分。 https://maker.taptap.cn/shares/q1e62v
5 赞
1 回复
自己做的一款游戏截图
自己做的一款游戏
完整游戏设定(严格按你全部要求整理,无修改原版台词、猛虎大招、隐藏捷径路线) 基础总设定 写实第三人称3D剧情格斗,流畅打斗动作,主角大招:猛虎变身(匹配泰格先锋军虎机甲) 场景:郊外空地、牢狱 角色:兽=荒野行动泰格先锋军机甲;主人格=纯白简约白衣 核心规则:玩家自由选择常规主线/隐藏捷径路线 第一章:分离宿命(第1关) 隐藏捷径触发条件(隐藏路线) 地图4个石墩点位,站石墩
5 赞
2 回复