今日速览

  • 游戏平衡说白了就是决定游戏里用哪些数字——哪怕捉迷藏也有数字(跑多快、场地多大),只是没人去量它。
  • 单机游戏平衡要回答三个问题:难度适不适合目标玩家?难度增长跟不跟得上玩家变强?玩家变强的速度和敌人变强的速度比例对不对?
  • Flow 理论:太难 → 挫败,太简单 → 无聊,好游戏让挑战贴着玩家能力的上限走。
  • 成长曲线不只是”数值”,它决定游戏会在预期时间内结束:3 分钟的街机、3 小时的战棋、30 小时的 RPG,靠的都是曲线设计。
  • 经济系统(资源产生/消耗/交易)是数值平衡的高级形态,独立游戏最容易在这里翻车。

核心学习内容

1. 平衡三问:先定框架再调数字

Ian Schreiber 的《Game Balance Concepts》把单机进度平衡归纳为三个问题,做任何数值前先自问:

  1. 难度适配:整体难度对目标受众是太难还是太简单?Steam 上差评最多的就是”难度曲线离谱”。
  2. 难度增速:玩家水平在涨,游戏有没有跟着变难?涨太快 → 挫败,涨太慢 → 无聊。这就是 Flow 理论的落点。
  3. 成长比:玩家每升一级获得的力量,和敌人同期的成长是否匹配?玩家成长太快 → 中后期变割草;太慢 → 逼玩家重复刷已通关的内容(grinding)。

实操建议:每个数值改动都标注它回答的是哪个问题,避免”为了调而调”。

2. 伤害公式与成长曲线:从”感觉”到”函数”

常见公式套路:

  • 减法公式 伤害 = 攻击 - 防御:简单直观,但攻击必须压过防御才有输出,后期数值会膨胀(攻击 1000 vs 防御 900)。
  • 乘法/比例公式 伤害 = 攻击 × (1 - 减伤率),减伤率 = 防御/(防御+常数):后期成长平滑,是 RPG 主流。
  • 成长曲线:线性(每级 +10 攻)适合短游戏;指数/幂函数(每级 ×1.15)适合长线 RPG——曲线陡峭度直接决定玩家”爽感”出现的时间点。
  • 关键指标 TTK(Time To Kill,击杀时间):不用看单个数字,直接看”玩家打一个同级怪要几秒”。TTK 从 3 秒涨到 6 秒,比”伤害从 50 调到 55”有意义得多。

3. 用模拟代替感觉:数值表 + 战斗模拟器

独立游戏没条件大规模内测,但可以把平衡验证交给程序:把全部数值放进一张表,写一个模拟器跑 1000 次战斗,统计胜率、TTK、血量余量。发现某武器胜率 95%,不用等玩家吐槽,模拟器先告诉你。这正是 DeepSeek 最擅长的活——下面第三条提示词就是干这个的。

🎯 DeepSeek 提示词

① 数值策划:生成成长曲线数值表(适用:给 RPG/肉鸽定怪物与玩家成长表)

你是一位有 10 年经验的手游/独立游戏数值策划。我在用 Godot 做一款 [横版动作/肉鸽] 游戏,战斗采用减法公式:伤害 = 攻击 - 防御,玩家和怪物都有攻击、防御、生命值。
请为前 10 个关卡设计一套数值表:
1. 每关玩家的攻击/防御/生命值(假设玩家每关提升约 15% 战力);
2. 每关怪物的攻击/防御/生命值(要求:玩家 TTK 从第 1 关的 2 秒逐渐上升到第 10 关的 8 秒,同时玩家不会被小怪两下打死);
3. 输出为 Markdown 表格,列:关卡、玩家攻/防/血、怪物攻/防/血、预计 TTK、玩家承受几刀死亡;
4. 最后用 3 句话说明你的设计逻辑(曲线类型、为什么这样配)。
请先输出表格,再输出说明,不要写代码。

② 数值验证:让 AI 当”验算员”(适用:拿到数值表后先查一遍再进游戏)

你是资深数值策划。以下是我的角色属性表:[粘贴你的数值表]。
请检查并指出:
1. 哪些等级段存在"一刀秒"或"打不动"的断层;
2. 玩家战力增长曲线和怪物曲线是否有脱节区间(哪几关过难/过易);
3. 防御收益是否递减合理(减法公式下防御堆到多少会溢出);
4. 给出每处问题的修改建议(具体数字)。
要求:按"问题等级 → 现象 → 建议数值"的格式逐条输出,最后给一个 1-10 分的平衡性评分。

③ 战斗模拟器工程师:写 GDScript 平衡测试脚本(适用:让模拟代替手感,跑 1000 次战斗看统计)

你是 Godot 4 资深程序员。请用 GDScript 写一个纯命令行平衡模拟脚本(不依赖场景节点):
- 定义两个战斗单位 A 和 B,各含 attack、defense、hp、speed(速度决定先手,每回合轮流攻击);
- 伤害公式:max(1, attack - defense),暴击率 10% 造成 1.5 倍伤害;
- 模拟 1000 场 1v1,统计:A 胜率、平均回合数、A 平均剩余血量、B 平均剩余血量;
- 主函数接受命令行参数传入双方属性,例如:simulate(100, 50, 500, 80, 60, 400);
- 输出:一行统计结果(胜率 62.3%,平均 5.2 回合,A 余血 120.5,B 余血 0)。
只要一个 .gd 文件,带注释,可直接用 godot --headless 运行。

学习心得

数值平衡是”用 DeepSeek 做 Steam 游戏”这条路上性价比最高的一环:AI 不擅长判断”手感好不好”,但极其擅长算公式、生成表格、写模拟器、抓数值断层。正确的分工是——我定目标(TTK 多少秒、第几关该难),DeepSeek 负责把目标变成数字和验证代码。今天学到的”平衡三问 + TTK 指标 + 模拟验证”就是给提示词提供的分析框架,框架越清晰,提示词越能产出能直接用的结果。

明日关注

  • 把「平衡三问」套到当前游戏雏形上,列出 3 个最可能失衡的点
  • 用提示词①生成第一版数值表,并丢给提示词②审查
  • 让 DeepSeek 写出战斗模拟脚本(提示词③),跑通 1000 场模拟并记录基线数据

本文由自动化学习流水线每日生成,坚持即学即记。