推荐合成
小游戏玩法知识分享---之---合成
撑握此知识,可实现任何合成小游戏
0
玩法拆解
玩法目标
- 把低级物品通过合成升级为更高级物品,最终解锁最高等级/稀有物品
- 在有限格子与时间/体力约束下最大化产出效率(单位时间收益)
- 通过任务/订单驱动产出路线:先产A再合B,满足订单获得货币与推进
核心循环(Core Loop)
- 产出:点击/建筑生成基础物品(可叠加冷却、体力、产量)
- 合成:拖拽两件同等级物品 -> 升级为下一等级(+1)
- 消耗:交付订单/解锁区域/升级建筑,回收格子并获得奖励
- 成长:用奖励提升产出速度、格子数量、合成效率或解锁新链条
合成规则(关键点)
- 匹配条件:同 type 同 level 才能合成(或允许同稀有度合成)
- 结果:生成 level+1 的新物品;原物品被消耗
- 失败/禁止:不同等级不可合成;目标格子占用或锁定时禁止
- 保护:拖拽过程中实时预览合成结果,松手确认;撤销可作为付费点
产出与生成(Spawn)
- 产出点(Generator)按冷却生成基础物品,或点击消耗体力生成
- 掉落可配置权重:常见物品/稀有物品/事件物品
- 产出受升级影响:冷却减少、产量增加、解锁更高初始等级
经济系统(订单/货币)
- 订单需求:提交指定物品(可跨多个合成链)
- 奖励结构:基础货币 + 经验 + 里程碑奖励(箱子/钥匙)
- 订单刷新:定时刷新/手动刷新(付费点),保持目标感
卡点与节奏(平衡)
- 格子压力:前期格子少导致必须交付/整理;后期通过扩容缓解
- 冷却压力:产出点冷却迫使玩家规划合成路线
- 链条深度:越高等级所需合成次数指数增长,配合加速/倍增道具
UI/交互细节
- 拖拽:命中同类同级显示“可合成”高亮;否则显示“交换/放置”
- 提示:长按查看物品信息、合成链预览与下一等级产物
- 防误触:合成确认阈值(拖拽距离/停留时间)或撤销一步
可扩展点(内容生产)
- 多条合成链:食物链/工具链/装饰链,订单跨链组合
- 事件与Buff:限时双倍产出、合成暴击(跳级)、稀有掉落周
- 地图区域:解锁新区域开启新合成链与新订单池
关键代码
数据结构:物品与格子
ts· 14 行
合成判定与结果生成
ts· 13 行
拖拽落点处理(合成 / 交换 / 放置)
ts· 19 行
生成器:冷却产出基础物品
ts· 20 行
Demo
MVP:Demo 先留 iframe 占位。
文章
文章以 Markdown/MDX 文本子集渲染(不支持自定义组件)。
合成玩法(Merge)从 0 到 1:规则、数据结构与可扩展架构
> 本文目标:用“可复用的实现方式”把合成玩法跑通,并给出后续扩展(订单/产出器/付费点/平衡)的落点。
1. 玩法概览(玩家视角)
合成玩法的核心体验是: 产出 → 合并升级 → 腾出空间/交付目标 → 获得成长。
一个最小可玩的循环: 1) 生成基础物品(点击/产出器) 2) 拖拽两个相同物品合成升级 3) 用更高级物品完成订单或解锁 4) 用奖励升级产出/格子/规则
2. 规则设计(MVP 先定死)
本期只做最基础规则(可扩展但先不做):
- 匹配条件:
type相同且level相同才可合成 - 合成结果:生成
level + 1的新物品,消耗两件旧物品 - 落点行为优先级:合成 > 交换 > 移动到空格
- 禁止条件:目标格锁定 / 源格为空 / 目标格不可交互
2.1 为什么要“优先级”
拖拽交互如果不定优先级,玩家会感到随机: 同样的操作有时合成、有时交换,有时还移动失败。 因此落点规则一定要写成代码层面的明确判断。
3. 数据结构(最小但可扩展)
我建议把“玩法数据”拆成三层:
3.1 物品 Item
id:唯一标识(用于动画/追踪)type:合成链(比如 flower / weapon / animal)level:等级- (可选)
rarity:稀有度(后期扩展)
3.2 格子 Cell(棋盘/背包)
iditem: Item | nulllocked?: boolean(未来可做区域解锁)
3.3 配置 Config
- 合成链表:每个
type的最大等级、展示名、icon 等 - 合成规则:是否允许跳级、是否允许“合成暴击”
- 生成器规则:产出间隔、产出物、初始等级、掉落权重
4. 合成核心逻辑(最重要)
下面的逻辑建议做成纯函数,便于测试与复用:
ts· 22 行