终章

出师报告:测试发布与问题对照表

第十二层 + 全部 · 发布运营/反外挂 “云间对决”上线之路

一、上线前的最后一关:测试、发布、运营

"云间对决"功能做完了:引擎、循环、场景、战斗、AI、网络、UI、性能,全都有了。王姐催着上线——但老周拦住了:

"王姐,上线前还有三道关:测试、发布、运营。 过不了这三关,游戏上架也是'翻车现场'。"

第一关:测试(QA)

游戏测试的类型:
  ① 功能测试:每个功能能不能用(英雄、技能、匹配)
  ② 平衡性测试:英雄数值平不平衡(强不强、弱不弱)
  ③ 兼容性测试:不同手机/系统版本都能跑
  ④ 网络测试:弱网、断线、高延迟下的表现
  ⑤ 性能测试:低端机帧率、发热、内存(第十一章)
  ⑥ 回归测试:改一个功能,别的功能别坏

  测试方法:
    手工测试(真机人手玩)
    自动化测试(单元测试 + UI 自动化)
    内测/封闭测试(小范围玩家体验反馈)
    崩溃监控(上线后持续收集崩溃日志)

  MOBA 特有的测试点:
    匹配系统(匹配到人了吗)
    对局公平(两边实力均衡吗)
    结算正确(胜负有异议吗)
    举报系统(挂机/送人头处理)

"游戏测试的终极问题:'玩家体验怎么样'——不只是'有没有 bug',还有'好不好玩、公不公平'。平衡性测试是 MOBA 的命根子:数值调不好,再美的画面也没人玩。"

第二关:多平台发布

发布流程(手游):
  Android:
    打包 APK/AAB → 签名 → 上架应用商店
    (国内:应用宝/华为/小米/OPPO/Vivo……每家审核)
    上架材料:包名、图标、截图、隐私政策、版号
  iOS:
    打包 IPA → 签名(开发者证书)→ 上架 App Store
    App Store 审核严格(隐私/权限/内容审查,1-7 天)

  合规(中国手游必须):
    ⚠️ 版号(游戏出版备案)—— 没有版号不能收费运营!
    ⚠️ 未成年人防沉迷系统(实名认证 + 时长限制)
    ⚠️ 隐私政策(收集了什么数据要公示)
    ⚠️ ICP 备案(运营资质)

  版本管理:
    版本号规范(1.0.0)
    渠道包管理(不同渠道不同包)
    灰度发布(先小范围,再全量)

  云间书店的发布计划:
    先 Android 内测(TapTap/TestFlight)→ 调平衡
    → 正式上架(版号 + 防沉迷 + 隐私合规)→ 双平台

"发布不是'点个上传',是一套'合规 + 渠道 + 版本'的工程——版号、防沉迷、隐私合规,国内手游的'生死线',缺一样都上不了架。小陈,别小看这些'非技术'的事——它们卡起人来,比 bug 狠多了。"

第三关:运营与反外挂

游戏运营(上线后):
  数据埋点:DAU/留存/付费率/对局时长
    每个关键行为埋点(进游戏/匹配/胜利/购买)
    → 用数据决定"改什么"(数值/活动/新英雄)
  版本迭代:按数据 + 玩家反馈持续更新
  活动运营:新英雄、节日活动、皮肤促销

反外挂(Anti-cheat):
  外挂类型:
    加速(移动/攻击速度异常)
    透视(看见迷雾后的敌人)
    自动操作(自瞄/自动连招)
    内存修改(改伤害/血量)
  防御:
    服务器权威(第八章:客户端上报的数值不可信)
    行为检测(速度/操作频率异常检测)
    客户端完整性校验(检测是否被修改)
    举报系统 + 人工巡查
  云间对决的务实方案:
    服务器校验核心数据(血量/伤害服务器算)
    基础行为检测(移速异常、操作频率异常)
    举报 → 人工/自动封号

"游戏上线不是终点,是运营的开始——'数据埋点'决定怎么改,'反外挂'保护玩家体验。MOBA 是竞技游戏,公平性是生命线:外挂不治,游戏必死。"


二、出师考试:王姐的 15 个"为什么"

上线前的内部考试,王姐坐在考官席。

为什么 1:做游戏为什么不用从零写引擎?

"因为引擎是'水电齐全的毛坯房'——渲染、物理、音频、输入这些基础设施引擎都做好了,我们专注做'内容'(玩法、数值、美术)。从零写引擎,光'画一个三角形'就要一个月,还只是'能跑',离'能玩'差十万八千里。"

为什么 2:游戏和普通软件最大的区别是什么?

"普通软件是'事件驱动'(你点它才动),游戏是'连续驱动'(每秒循环 60 次)——游戏循环:输入 → 更新 → 渲染,永远不停。游戏里的一切'动',都来自这个循环。"

为什么 3:60 FPS 是什么意思?为什么有时候会卡?

"60 FPS = 每秒渲染 60 帧 = 每帧只有约 16.7 毫秒的预算。超出预算就掉帧(卡)。渲染、逻辑、网络都在抢这 16.7ms——所以要做性能预算管理,让低端机也能稳定 30 FPS。"

为什么 4:场景、游戏对象、组件是什么关系?

"场景是'地图'(云间峡谷),游戏对象是'场景里的东西'(英雄/小兵/塔),组件是'给对象加的能力'(Transform/渲染/物理/脚本)。 组件式架构 = 拼积木:想加会飞?加 Fly 组件。复用性强。"

为什么 5:游戏里动画是怎么做的?

"帧动画 = 快速切换图片(翻页动画书原理),每秒 10-24 帧切换。再用动画状态机管理切换:待机/移动/攻击/施法,按条件跳转——英雄该走的时候走,该打的时候打。"

为什么 6:技能伤害是怎么算的?

"伤害公式:攻击力 × 技能倍率 - 防御 × 减伤系数,加上暴击(暴击率×2倍)和小浮动。数值放配置(数据驱动),代码只读不写死——调平衡不用改代码。MOBA 的好玩,一半在数值平衡。"

为什么 7:小兵和野怪"会思考"吗?

"游戏 AI = 规则脚本(感知→决策→行动)。小兵用有限状态机(前进→攻击→待机),复杂角色用行为树。走路用 A* 寻路(F=G+H 找最短路径)——'点击地面英雄绕墙走',就是 A* 在干活。"

为什么 8:5v5 联机,大家怎么看到同一个世界?

"网络同步。两种方案:状态同步(服务器权威,传最终状态,防作弊好)和帧同步(只传操作,本地自己算,省带宽但要求逻辑确定)。MOBA 主流用状态同步。配合预测/插值/延迟补偿,玩家才感觉流畅公平。"

为什么 9:为什么断线了还能重连?

"断线重连:服务器保留对局状态快照,重连时下发完整状态恢复画面。断线期间英雄由 AI 托管(自动回城/跟随)。超时不重连才判负——网络波动不能直接让玩家输。"

为什么 10:800MB 的游戏包怎么瘦身的?

"资源加载策略:初始包只放必装资源(100-200MB),其他按需下载(皮肤/语音/高清特效用到才下)。用 AssetBundle 把资源拆包 + 版本管理 + 热更新(改数值/换皮肤不用重新装 App,下个增量包就行)。"

为什么 11:手游为什么用摇杆和技能按钮?怎么保证好按?

"触屏没有键盘鼠标,拇指热区决定布局:摇杆放左下、技能放右下。摇杆细节:动态跟随 + 死区 + 平滑。技能按钮:CD 转圈、蓝不够变灰、范围指示。操作手感 = 布局 + 反馈细节。"

为什么 12:打击感是什么?怎么来的?

"打击感 = 特效 + 音效 + 伤害飘字 + 顿帧(命中停几帧)+ 屏幕震动的合成。一个技能打中:顿帧→飘字→受击动画→音效→微震屏——这一连串反馈就是'爽'的来源。是表现层细节的叠加,不是玄学。"

为什么 13:游戏为什么越来越卡?怎么优化?

"性能优化五大招:① 图集+合批降 Draw Call;② 对象池复用高频对象(小兵/飘字不创建销毁);③ 内存管理(资源卸载/防泄漏/压缩纹理);④ LOD+剔除(远处低细节、看不见不更新);⑤ 性能降级(低端机自动降画质)。目标:最低端手机 30 FPS 不烫不卡。"

为什么 14:游戏做完了就能上架吗?

"不能,还有三关:测试(功能/平衡/兼容/性能/弱网)、发布(版号+防沉迷+隐私合规+渠道审核)、运营(数据埋点+版本迭代+反外挂)。国内手游没有版号不能收费运营;没有防沉迷会被下架。 这些'非技术'的关卡,卡起人来比 bug 狠。"

为什么 15:最后——做一款手游,你觉得最重要的是什么?

小陈想了想,说:"王姐,做手游最重要的,是把'好玩'翻译成'技术'。策划说'要有打击感',翻译成技术就是'特效+音效+顿帧+震屏';策划说'要对战公平',翻译成技术就是'服务器权威+延迟补偿+反外挂';策划说'手机要流畅',翻译成技术就是'Draw Call+对象池+性能预算'。游戏开发 = 把'感觉'翻译成'系统',再用'系统'造出'感觉'。"

王姐带头鼓掌。老周在后排默默点头。


三、完整对照表:麻烦 → 游戏开发技术

你遇到的麻烦 对应的游戏开发技术 云间书店的落地
从零写游戏太慢 游戏引擎(根) Unity:毛坯房,专注内容
游戏和普通软件不一样 游戏循环(第一层) 输入→更新→渲染,60 次/秒
不知道选什么引擎 引擎选型(第一层) Unity(手游之王)
地图怎么搭、对象怎么组织 场景与组件(第二层) 场景/对象/组件 + 预制体
英雄怎么动起来 渲染与动画(第三层) 帧动画 + 动画状态机
英雄不听指挥 脚本与逻辑(第四层) 组件脚本 + 生命周期 + 数据驱动
打不掉血、没手感 战斗系统(第五层) 伤害公式 + 技能 + Buff + 反馈
峡谷太冷清 AI 与寻路(第六层) FSM/行为树 + A* 寻路
两台手机世界不一样 网络同步(第七层) 状态同步 + 预测/插值/补偿
包太大、加载慢、更新难 客户端架构(第八层) AB 包 + 按需加载 + 热更新
不好按、没打击感 UI 与表现(第九、十层) 摇杆 + 技能按钮 + 特效音效
手机发烫掉帧 性能优化(第十一层) Draw Call + 对象池 + LOD
上不了架、被外挂毁掉 测试发布运营(第十二层) 版号合规 + 反外挂 + 数据埋点

四、最后一课:游戏开发的"北极星"

"云间对决"上线,首周 DAU 破万。庆功宴上,老周和小陈坐在机房外的台阶上。

"师傅,这三个月我学了一整套游戏开发……但您一直没告诉我:游戏开发的'北极星'是什么?"

老周望着远处商场大屏上自家游戏的广告,说:"小陈,你记得你第一次让英雄动起来的那一刻吗?"

小陈笑了:"记得,按了方向键,英雄走了两步,我差点跳起来。"

"对。那个'跳起来'的感觉,就是游戏开发的北极星——让玩家感受到'快乐'。 游戏的一切技术——引擎、循环、战斗、AI、网络、优化——都是手段,目的是'给玩家造一个值得沉浸的世界'。"

他递给小陈一张纸,上面是那棵家族树,最下面多了一行字:

游戏开发的技术,本质是"把想象力变成可运行的体验"——每一层都在回答:怎么让玩家玩得开心、玩得公平、玩得流畅。 越往上,越从"让画面动起来",走向"让玩家留下来"——从引擎、战斗,到网络、运营,整个旅程都在服务同一个目标:好玩。

"记住这句话。"老周说,"然后去把下个版本的新英雄做出来吧——玩家已经在催了。"

楼下传来小圆的声音:"小陈!运营数据出来了!新英雄'云间剑客'的胜率有点超标,需要调平衡!"

小陈站起来,朝机房跑去,回头喊:"师傅!数值我马上调!这次不用改代码,改配置就行!"

老周笑着摇头,看着他的背影:"这小子……数据驱动,学得真快。"

全系列完。

✌ 语言