主页 > 游戏技能 >
正文

游戏成就系统怎样设计实现?

来源:天和游戏  作者:天和游戏  时间:2024-09-23 10:44

一、游戏成就系统怎样设计实现?

最近在设计游戏的成就系统,直接贴出Lucas Blair的游戏成就设计理论,共三章。

Lucas Blair对游戏成就系统设计的建议(一)Lucas Blair对游戏成就系统设计的建议(二)Lucas Blair对游戏成就系统设计的建议(三)

关注公众号,游戏创业。

二、类DOTA游戏如何设计多样化的技能系统?

这个嘛,我觉得我还是能答的,因为我曾经设计了DOTA2的一款RPG,虽然未完(逃

有道云笔记有道云笔记有道云笔记有道云笔记

当然没翻译完,因为弃坑了233

以上是数据驱动类型的技能,还有脚本驱动类型的技能。

===========================================================

上面很多答主讲的其实都是数据驱动类型的技能,也就是data-driven,简单的来说,就是把通用的技能肢解成若干方面。

一个数据驱动的技能是一串键值的集合。键值是单一的、基于树的结构,用于储存包含了键/值对的嵌套部分。

一个典型的数据驱动类型技能框架是这样定义的,当然指的是dota2:

"datadriven_skeleton"{ // General // ---------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityTextureName" "spellicon" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityType" "DOTA_ABILITY_TYPE_BASIC" "MaxLevel" "7" "RequiredLevel" "-4" "LevelsBetweenUpgrades" "7" "AbilityCastPoint" "0.0" "AbilityCastAnimation" "ACT_DOTA_ATTACK" "AnimationPlaybackRate" "1" "AnimationIgnoresModelScale" "1" // Stats //---------------------------------------------------------------------------------------- "AbilityDamage" "0 0 0 0" "AbilityManaCost" "0 0 0 0" "AbilityCooldown" "0.0 0.0 0.0 0.0" "AbilityCastRange" "0" "AbilityCastRangeBuffer" "250" "AbilityChannelTime" "0.0 0.0 0.0 0.0" "AbilityChannelledManaCostPerSecond" "30 35 40 45" "AbilityDuration" "0.0 0.0 0.0 0.0" "AoERadius" "250" // ...}

可以看到,一个技能被拆分成了很多很多各自独立,相辅相成的部分,目标选取限定、图标资源、技能类型、最高等级、升级等级要求、升级等级间隔要求、施法点、施法动画、目标阵营限定、目标类型限定、粒子效果、伤害、CD、耗蓝、施法时间、施法前摇、施法后摇、持续时间、AOE范围……

这些部分又各自有各自的关键字,将他们依据自己的创意组合在一起,可以快速地组合出非常非常多的技能,就是数据驱动类型技能存在的最大意义。

第二个意义在于,数据驱动类型技能是一个框架,它的存在是最通用的一个模板。就拿非常有特点的,冰魂的大招来说。冰魂大招的具体实现压根不是在数据驱动类型所能实现的,但是如果你解包了文件之后你会看到,冰魂大招确确实实存在于数据驱动类型技能表里头。为什么?就是因为数据驱动类型给了你一个框架,你先把数据给我填上去,再去谈脚本实现。

脚本驱动的技能确实给力,它相对于前者更底层,控制更多的东西,甚至可以一定意义上改变游戏的规则(在冰魂大招里体现为禁止生命回复),但是如果所有的东西都拿脚本来写,整个代码会变得混乱不堪,充斥着这样那样的变量和语句,无法提炼出技能的核心数据。

因此,数据驱动往往和脚本驱动统一在一起,有纯数据驱动的技能,也有数据驱动里包含脚本驱动的技能,还有少数纯脚本驱动的技能,不过前两者占大多数。数据驱动提供技能最基本的类型和框架设定,同时为脚本提供了接口,怎么实现,由脚本提供者去考虑。

==============================================

因此,你说一个普适的技能系统是不存在的,即时战斗的和回合制的能一样吗?宝石迷宫和暗黑破坏神能一样吗?这跟2D\2.5D\3D没关系,画面跟系统不是一回事(大多数情况下,你说fez我也没辙)

你先要选定一个游戏类型,仔细思考其职业、系统上会涉及到的东西,然后用一个尽可能大而全的框架把你的构思框住,细细肢解,最后非常特殊的再单独使用脚本实现。因此不要急着去做这个通用的框架,把能想到的都想了,把框不住的东西问了程序看能不能单独实现,再去肢解。肢解也不要一次就弄完,反复想想,能不能分得更细,更科学,更有结构性,你在架构上多花一个小时,或许后期实现能省十个小时。

三、如何设计一个易扩展的游戏技能系统?

我个人对这个问题非常感兴趣,因为我花了至少5年在设计和实践(我自己经历了大小7个项目,虽然大多最后因为其他原因都没上)这样一套机制并且可以说基本解决了这个问题!我并不想藏着他,我也和很多朋友分享了,同时也感谢他们提出了很多意见,包括细节和优化等方面,正因为互相之间的借鉴和交流,我到今天已经把这套机制归纳的非常好了,还是想把它分享给更多想做好游戏的人,希望大家能进一步交流,把它更完善化,以形成一种规范,这套机制适用于任何类型的游戏开发,因为他是一个很棒的思路。

首先分析一下可扩展性:我从一个设计师的角度来看,所谓的可扩展性是——你并不知道策划下一个设计的是什么,但是你需要在尽可能不改动核心代码的基础上去把它实现了,并且在调试的时候(甚至是上线之后要做调整的时候),你可以并不伤筋动骨的去修改它。这里除了你要有好的代码规范外,还需要抽象一套机制来实现它。

最早开始想这套机制的动力是因为我在起凡工作,看了代码之后我感觉是完全无扩展性的,当我想要设计一个新的英雄的时候,要去修改代码已经几乎是不可能的了,于是我便思考,如果我要做一套WoW的技能、buff系统,应该是怎样的呢?于是我总结、归纳、抽象了这样一套东西,并且最早在三国争霸2项目中投入实际使用。

2年前我在GameRes发过相关的帖子:

[技术交流] Buff机制及其实际运用AOE机制的DSL及其实际运用[技术交流]不要用海量表项压垮“技能流程”

实际上,好的策划的脑洞是非常大的,你真不知道他会设计出什么样的技能,但你并不能说一些设计因为无法实现就理所应当被埋没了,(我对策划设计Dota类游戏的思路要求是开放的,发挥想象力的:

[设计思想] 游戏系统设计思路的牢笼 一味追求实用性

)因此我想了这样一个机制,他们的核心在于:

1,明确区别了AOE\Buff和技能3块,策划应该从这个角度出发思考问题。

2,这既然是一套机制,你可以把它用在任何游戏的框架当中。比如我要做一个Dota传奇的卡牌游戏,一样可以用这套机制,但是核心在于——你的策划要有能力归纳出游戏中的回调点。

当然我们在使用这套机制的时候,逻辑上实现并没有任何问题,但是我们一样会遇到一些从逻辑变成动画的困难,尤其是当我们的战斗在服务器上一瞬间完成了,但是要把结果告诉客户端吗,并且有客户端重新验算一遍的时候,因此我在之后有总结了一套作法,来完成这个事情:

[技术交流]手游回合制游戏战斗机制归纳式设计

这个解决的是,当你有各种有趣的buff,但是又想不大改客户端的时候,你应该这样去建立这个框架。你可以想象如果你做一个MT类型的游戏,战斗是服务器一瞬间的,但你又要客户端重演,我们举个例子:

比如我门设计了在MT类型游戏中加入地形因素:可以有火海,火海每回合开始的时候对所有场上敌我英雄造成火焰伤害。

然后有个英雄是一只凤凰,凤凰有2个被动效果:

1,受到火焰伤害的时候变成治疗自己相当于伤害值的血量。

2,战斗中第一次死亡可以复活,回复最大生命值50%,如果在火海中则回复100%。

这样一个英雄和地形,我们如何实现呢?如果你看了我上面的几套机制,并且理解了,那基本没有难度,你根本不需要硬编码。但这里有个问题,我如何让客户端重现?这就是上面这篇说的关键了。

希望以上这些我多年的经验总结能够对游戏人有所帮助!

——————————2015 08 15 更新一条 ——————————————

看来感兴趣的人还是不少的,于是我发了一些关于这套机制的实际运用方式在GameRes上,主要是想说——这套东西核心还是离不开策划的设计的,同时放开脑洞去思考,才是最重要的

[技术交流]通用型buff机制在实战中的运用

四、系统的实现流程?

操作系统的设计和实现过程

本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。设计目标系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬件和系统类型:批处理、分时、单用户、多用户、分布式、实时或通用。除了最高设计层外,需求可能很难说清。不过,需求可分为两个基本大类:用户目标(user goal)和系统目标(system goal)。用户要求系统具有一定的优良性能:系统该便于使用、易于学习和使用、可靠、安全和快速。当然,这些规范对于系统设计并不特别有用,因为如何实现这些没有定论。研发人员为设计、创建、维护和运行操作系统,也可定义一组相似要求:操作系统应易于设计、实现和维护,也应灵活、可靠、正确且高效。同样,这些要求在系统设计时并不明确,并可能有不同的理解。总之,关于定义操作系统的需求,没有唯一的解决方案。现实中,存在许多类型的系统,这也说明了不同需求会产生不同解决方案,以便用于不同环境。例如,VxWorks(一种用于嵌入式系统的实时操作系统)的需求与 MVS(用于 IBM 大型机的多用户、多访问操作系统)的需求相比,有很大不同。操作系统的分析与设计是个很有创意的工作。虽然没有教科书能够告诉我们如何做,但是软件工程(software engineering)的主要原则还是有用的。现在就来讨论这些。机制与策略一个重要原则是策略(policy)与机制(mechanism)的分离。机制决定如何做,而策略决定做什么。例如,定时器是一种保护 CPU 的机制,但是为某个特定用户应将定时器设置成多长时间,就是一个策略问题。对于灵活性,策略与机制的分离至关重要。策略可随时间或地点而改变。在最坏情况下,每次策略的改变都可能需要改变底层机制。对策略改变不敏感的通用机制将是更可取的。这样策略的改变只需重新定义一些系统参数。例如,现有一种机制,可赋予某些类型的程序相对更高的优先级。如果这种机制能与策略分离开,那么它可用于支持 I/O 密集型程序应比 CPU 密集型程序具有更高优先级的策略,或者支持相反策略。微内核操作系统(后续章节会详细介绍)通过实现一组基本且简单的模块,将机制与策略的分离用到了极致。这些模块几乎与策略无关,通过用户创建的内核模块或用户程序本身,可以增加更高级的机制与策略。例如,看一下 UNIX 的发展。起初,它采用分时调度。而对最新版的 Solaris,调度由可加载表来控制。根据当前的加载表,系统可以是分时的、批处理的、实时的、公平分享的或其他任意组合。通用调度机制可以通过单个 load-new-table 命令对策略进行重大改变。另一极端系统是 Windows,它的机制与策略都已编码,以确保统一的系统风格。所有应用程序都有类似界面,因为界面本身已在内核和系统库中构造了。Mac OS X 操作系统也有类似功能。对于所有的资源分配,策略决定非常重要。只要决定是否分配资源,就应做出策略决定。只要问题是“如何做”而不是“做什么”,就要由机制来决定。实现在操作系统被设计之后,就应加以实现。操作系统由许多程序组成,且由许多人员在较长时间内共同编写,因此关于实现很难形成通用原则。早期,操作系统是用汇编语言编写的。现在,虽然有的操作系统仍然用汇编语言编写,但是大多数都是用高级语言(如 C)或更高级的语言(如 C++)来编写的。实际上,操作系统可用多种语言来编写。内核的最低层可以采用汇编语言。高层函数可用 C;系统程序可用 C 或 C++,也可用解释型脚本语言如 PERL 或 Python,还可用外壳脚本。事实上,有的 Linux 发布可能包括所有这些语言编写的程序。首个不用汇编语言编写的系统可能是用于 Burroughs 计算机的主控程序(Master Control Program,MCP)。MCP 采用 ALGOL 语言的变种来编写。MIT 开发的 MULTICS 主要是采用系统程序语言 PL/1 来编写的。Linux 和 Windows 操作系统内核主要用 C 编写,尽管有小部分是用汇编语言来编写的用于设备驱动程序与保存和恢复寄存器状态的代码。采用高级语言或至少系统实现语言来实现操作系统的优势与用高级语言来编写应用程序相同:代码编写更快,更为紧凑,更容易理解和调试。另外,编译技术的改进使得只要通过重新编译,就可改善整个操作系统的生成代码。最后,如果用高级语言来编写,操作系统更容易移植(port)到其他硬件。例如,MS-DOS 是用 Intel 8088 汇编语言编写的。因此,它只能直接用于 Intel X86 类型的 CPU。(注意,虽说 MS-DOS 只能本地运行于 Intel X86 类型的 CPU,但是 X86 指令集模拟器可允许它运行在其他 CPU 上——会更慢,会使用更多资源。正如前面所提到的,模拟器(emulator)程序可以在一个系统上复制另一个系统的功能。)而 Linux 操作系统主要是用 C 来编写的,可用于多种不同 CPU,如 Intel X86、Oracle SPARC 和 IBM PowerPC 等。采用高级语言实现操作系统的缺点仅仅在于速度的降低和存储的增加。不过,这对当今的系统已不再是主要问题。虽然汇编语言高手能编写更快、更小的子程序,但是现代编译器能对大程序进行复杂分析并采用高级优化技术生成优秀代码。现代处理器都有很深的流水线和很多功能块,它们要比人类更容易处理复杂的依赖关系。与其他系统一样,操作系统的重大性能改善很可能是来源于更好的数据结构和算法,而不是优秀的汇编语言代码。另外,虽然操作系统很大,但是只有小部分代码对高性能是关键的;中断处理器、I/O管理器、内存管理器及CPU调度器等,可能是关键部分。在系统编写完并能正确工作后,可找出瓶颈程序,并用相应汇编语言程序来替换。

五、kdd系统怎么实现?

KDD(Knowledge Discovery and Data Mining)系统的实现需要从多个方面考虑,如数据预处理、数据挖掘算法、模型选择等。

首先需要对数据进行清洗、处理和转换,为后续的挖掘做准备。然后根据应用场景选择合适的数据挖掘算法,并通过实验评估模型的性能和效果。最后将得到的知识应用到实际问题中。因此,KDD系统的实现需要综合运用数学、统计学、计算机科学等多个学科的知识,同时也需要经验和创新。

六、游戏武神的技能怎么系统自己点的?

现在技能是用技能经验升级的,你可以打练功房副本和升级得到技能经验升级技能,貌似现在是没有洗技能的东西,无字天书更新以后没法用了

七、如何游戏实现多开?

你需要安装一个多开工具,就能实现这一功能了,在手机的应用宝里搜索这种软件还是比较方便的,应用宝的搜索栏搜索多开,就可以在搜索结果里查找适合自己的那款手机多开软件。电脑游戏多开操作:电脑上使用安卓模拟器挂机的流程非常简单,只需要简单的几步下载安装,就可以将安卓模拟器最小化至后台全自动挂机了,365*24 小时不间断工作,电脑上多开多个账号一起挂机。

八、带着游戏系统穿越抗日:有带着游戏技能穿越的么?

这个是带着CF游戏商城穿越的《抗日之精英特战队》

这个是带着特种大队穿越回东北的,和你的要求差不多《穿越火线之抗日》,这个是带着CS功能穿越到东北抗战的没见过有带有灵性的枪…下面是几个穿越到抗战的小说《抗战之反恐精英》,文章还不错《国破山河在》

这个精典《抗日之神鹰天降》

这个是一个特种小队穿越抗战,加入了国民党

九、怎么实现游戏双开?

游戏双开的实现方法因游戏而异,以下是一些常见的方法:

使用游戏自带的双开功能。有些游戏支持在同一账号下登录两个角色,可以通过游戏内的设置来开启。

使用第三方软件。有些第三方软件可以帮助你在同一台电脑上登录多个账号,例如游戏多开器、窗口管理器等。

使用虚拟机。你可以在电脑上安装两个不同的操作系统,分别登录不同的账号,但是这种方法需要较高的电脑配置和操作技巧。

无论使用哪种方法,都需要注意游戏的封号政策,避免被封号。同时,双开游戏可能会影响电脑的硬件和软件性能,需要合理配置电脑硬件和软件。

十、vr游戏如何实现?

VR游戏研发的开发可以用Unity和Cardboard把一款3D游戏变成VR游戏的方法,他在文章最后还表示,你甚至可以用这种方法把游戏转化为AR游戏,或者从头开始做新的VR游戏,把Cardboard摄像头集成到你的游戏中;调整UI元素以适应VR模式;做VR模式下可以选择的按钮;在游戏运行的时候程序化地把游戏在常规和VR模式下进行切换。

相关推荐

res在游戏里是什么?

一、res在游戏里是什么? RES:复活Resurrect / Rescure的缩写,指复活暂时死亡的角色。 其他意思: 1、ATK:攻击 在游戏中ATK代表攻击力,是attack的缩写。 2、DEF:防守、物理防御力 DEF - De

2024-09-23

类似耻辱的游戏?

一、类似耻辱的游戏? 这你还问着了,耻辱的游戏制作商几年前的作品:黑暗弥赛亚。 和耻辱是一个游戏类型的。升级了盗贼的技能就可以暗杀,当然你也可以升级战士类技能一路砍

2024-09-23

电子游戏格式?

一、电子游戏格式? 单机游戏一般可分为: ACT 动作类 动作类 A-RPG 动作角色扮演类 AVG 冒险类 EDU 养成类 ETC 其它类 FPS 第一人称射击类 FTG 格斗类 FREE 完全反射视点类 MUG 音乐类 PUZ 方块

2024-09-23

网易大神怎么启动游戏,网易大神怎么打开游戏?

一、网易大神怎么启动游戏,网易大神怎么打开游戏? 1、打开网易大神后,在底部菜单选择中,点击首页右边的发现选项。如图所示。 2、点击打开发现页面后,在软件的上面,左右滑

2024-09-23

《英雄联盟》游戏中飞机的技能全面介绍

一、《英雄联盟》游戏中飞机的技能全面介绍 飞机技能介绍 在《英雄联盟》游戏中,飞机(Jhin)是一位以远程射手为定位的英雄。他以独特的风格和技能在比赛中脱颖而出。下面将为

2024-09-23

热门文章

王者荣耀黄忠二技能怎么放?

一、王者荣耀黄忠二技能怎么放? 王者荣耀黄忠技能使用技巧被动技能“炮手燃魂”,让老将黄忠将自己百步穿杨的神技发挥到极致; 一技能“追击潜能”让黄忠短时间增加自己的机动

孙策技能?

一、孙策技能? 一技能——劈风斩浪 孙策向前冲锋,对路径上敌人造成物理伤害。冲锋到终点后造成一次范围物理伤害,1秒后这个范围喷发波涛,再次造成相同伤害,并对命中敌人造

孙尚香技能介绍?

一、孙尚香技能介绍? 一技能翻滚突袭:孙尚香朝前放翻滚,并强化下一次普攻,对一条直线敌人造成330点物理伤害,附近有敌方英雄将获得,短暂大量移速加成。 二技能红莲炮弹:

梦幻西游门派技能介绍?

一、梦幻西游门派技能介绍? 关于这个问题,梦幻西游是一款非常受欢迎的角色扮演游戏,共有六大门派,分别是天宫、南海普陀、狮驼岭、龙宫、无底洞和魔王宫。每个门派都有不同

蔡文姬技能?

一、蔡文姬技能? 被动技能长歌行:蔡文姬受到伤害后以音波反击攻击者造成法术伤害,并降低其百分之九十的移动速度,持续1秒,这个效果每10秒只会触发一次。 1技能思无邪:蔡文