惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

机核

游戏性能旗舰最强之选,一加 Ace 6 至尊版国补到手价2999元起 6元钱自己更换电动车刹车线 《生化危机9:安魂曲》编剧Haris Orkin专访 摸金游戏?音乐游戏!暗区新赛季这把能弹的琴有何来历? 好评国产武侠SRPG《息风谷战略》免费DLC现已推出 | 机核 GCORES 碎片 《生化危机:安魂曲》将于5月实装首个免费更新内容 | 机核 GCORES 新锐东方游戏,谱写世界新章! 沉浸式恋爱视觉小说游戏《心象演算》免费试玩版现已正式上线 | 机核 GCORES 互动影游《代号三国:龙起》上线!穿越三国与曹操并肩、与佳人同行、与权谋博弈! 《老头收集梦想生活》,游戏酒桌会6,录音笔VOL.689 | 机核 GCORES 破界·共生——《白日梦:无限世界》五大核心游戏特点解析 价格已到史低,锐龙5 9600X/锐龙7 9700X正适合抄底 时间循环之旅即刻启程!《归环》一周目测试今日开启 热门在线韩游变魂游,洛奇衍生作能否打破“花瓶”魔咒? LG UltraGear evo 全新高端显示器系列:当“5K”遇见“AI”,不止强大,更懂热爱 反套路三国互动影游《代号三国:龙起》今日上线! 愿望单登记人数突破10万!备受瞩目的“女儿养成游戏” 《梦幻魔法公主》今日于Steam平台上线!限时八折优惠中 《黑神话:悟空》全球音乐会2026巡演将于4月29日12时开票 | 机核 GCORES “Snowguelike”生存肉鸽挖矿新作《蛙穿雪境》公布发售日期,5月7日正式上线 | 机核 GCORES 重塑移动办公、AI创作新境!全新华硕灵耀Air系列、ProArt 骁龙版震撼首发,创芯未来 均分88:《Saros》媒体评分汇总 | 机核 GCORES 上海烛龙公布合作遗迹探险游戏《吉时已到》首支预告片 | 机核 GCORES 首个独立游戏《萝薇日记》已上线Steam! 烛龙新IP《吉时已到》首曝,打造国内首款中式合作遗迹探险游戏 喜加一:《暗黑破坏神Ⅳ》国服现已开启限时免费领取本体活动 | 机核 GCORES 新版《生化危机》电影定于9月18日上映,官方网站现已上线 | 机核 GCORES 《冲就完事模拟器2》“星球大战”联动DLC正式宣布 | 机核 GCORES SteamController将于5月4日发售,售价99美元 | 机核 GCORES 事已至此,内存这么用也算省钱了,“2+1”非对称双通道应用实测
《匹诺曹的谎言》其三·系统分析示例
Neplight · 2024-03-07 · via 机核

这次我们来讨论一些没那么有趣,但是至关重要、与执行息息相关的话题。在游戏的原型体验达到设计预期后,就算正式开始投入制作了。在这一步,通常会需要将各类系统的结构和数据流清晰的整理出来。这一步是非常重要、但是经常被人忽视的。在投入制作之前,将系统结构清晰的整理出来,有助于多线程的推进进度,还可以降低后期维护和更新的成本(前提是能够坚持每次能进行结构整理)。所以这一次我们就尝试把匹诺曹的战斗系统的核心部分抽象地剥离出来,并且进行一些说明。

本文所展示的内容并不是完整的匹诺曹战斗系统,仅仅只是作为一个示例,讲述一下构建系统的基本方法。

战斗顶层系统

要确认第一个要点是:从不同层级来观察系统,关注的侧重点也不同。如果在最顶层讨论战斗系统,那么我们就会更加关注模块之间的沟通和数据流动;对于涉及到模块内部的沟通,可以暂且忽略不计,然后在下一层级中考虑。例如,在匹诺曹的武器系统中,最有特色莫过于武器组合功能。玩家可以将武器拆分为刃和柄,并且可以自由地将不同武器的刃和柄组合起来,构成一把独特的武器。刃会决定武器的基础属性和处决模组;柄会影响武器的加成类型和攻击模组。但是在讨论顶层系统的时候,其他系统并不需要了解这些数据是从何而来的。对于伤害计算的模块来说,它只需要了解武器所产生的攻击数值,再从怪物模块中获得抗性,就能够得到最终的伤害。所以在这一层级进行讨论的时候,武器系统只需要对外提供攻击这一数据。

那么到底要如何开始呢?首先可以将注意力集中在某个最出挑的系统上。以匹诺曹为例的话,就会选择武器系统上。除了上面提到的伤害数值,武器系统中还可以抽象出以下的几个数值。

在这些数值里,我们暂时可以将“耐久度”、“加成类型”、“攻击模组”和“处决模组”放到一边,重点关注顶层层级的数据沟通。“重量”将会影响角色的负重,进一步影响精力恢复的效率。“虚构技”消耗虚构值;“虚构恢复”恢复虚构值。这样我们就能引出战斗资源的模块。战斗资源的最大值又受到角色属性的影响。这样就基本上能够将战斗系统的主要部分。

随后再从图中已有的数据出发,反推其影响因素就能够得到战斗系统的核心部分。例如武器的重量会累计在角色负重上,那么还有什么其他的系统会影响角色负重呢?这样就能引出防御零件系统和义手系统。以此类推,就能逐渐完善系统的结构。

子系统-武器

然后我们再以武器系统为例,做一个子层级的系统图。首先将刃和柄的概念带入。然后简单调整一下刚刚提到的几个数据,就能得到下面的图。可以看出来的是,在子层级的视角下,模块内部的数据沟通是关注的重点。其次就是对外的数据接口,也就是“该系统需要给其他系统提供什么信息”。

在武器系统里,武器面板和最终伤害的计算相对复杂一点。首先,刃提供基础数值,柄提供加成类型,再根据加成类型获取对应的角色属性,得到加成数值。基础数值和加成数值相加,就得到武器的面板数值。除此之外,游戏将攻击的动作分为“斩击”和“戳刺”。武器的刃也有一个叫做攻击类型的参数,用于表示刃对不同攻击动作的适应程度。如果刃的攻击类型的柄的攻击动作不匹配的话,那么就会降低最终伤害。

总结

如果设计者对整个系统是有完整的想象和预期的,那么完成系统构建本身其实并没有什么难度。因此拆解一个完整的系统其实就是在描述已知的规则和交互,我们是站在一个完整的视角去看待系统的。只要对这个游戏足够的了解就能够一点一点的理出系统结构。但是实际工作中的难点在于一边调整设计目的和结构性内容,一边还需要维护系统稳定、推进工作流程。尤其是当需求通过表层的现象被提出来的时候,就可能因为图方便,随意地从表层修改,相当于在系统中搭上手脚架。搭着搭着,日积月累,整个系统就开始变成黑盒了,没有人知道完整的逻辑和系统之间的影响,每次微小的改动都可能有极高的风险。这种情况还是希望能尽量避免的。

内容因剧透、敏感不适等原因被隐藏

点击查看

真的能避免吗……