博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复杂问题的简单抽象:魔兽世界中的兔子们
阅读量:4361 次
发布时间:2019-06-07

本文共 1653 字,大约阅读时间需要 5 分钟。

无论是复杂精妙的 BOSS 战,还是丰富多样的任务系统,《魔兽世界》都让当时的玩家大开眼界,但《魔兽世界》里有不少新颖的游戏机制,都建立在一个出人意料的东西上面——那就是兔子。还是看不见、点不了的隐形兔子。

我们可以先从 BOSS 战聊起。

尽管不少玩家误以为“熔火之心”是《魔兽世界》的首个 40 人团队副本,但老资历的玩家都知道,“奥妮克希亚的巢穴”才是第一个正儿八经的团队副本,此后加入的成就“上痛!上诅咒!上钉刺!”和“最少扣你 50 DKP”都得梗于此。作为全游戏的第一个团本 BOSS,技能自然要高端大气上档次。

其中最让玩家印象深刻的技能莫过于:“奥妮克希亚深深地吸了一口气……”

在战斗的第二阶段,奥妮克希亚会飞到场地边缘,随后沿着对角线,喷吐出覆盖大半个场地的火焰,只有躲到对角线两侧的边缘区域才能免受伤害。由于该技能随机出现、位置飘忽、伤害高、范围广(现版本已缩小范围),如果没有火抗药剂或者自保技能,下场就是减员乃至团灭。

可《魔兽世界》当时的引擎,压根不支持 BOSS 对某个区域凭空施展 AOE 技能,BOSS 必须要指定一个目标后才能施放技能。那么,要怎么实现这个狂霸酷拽强、自顾自美丽的技能呢?

方法简单粗暴:在攻击路径上生成一大堆隐形的兔子,然后奥妮克希亚飞过去把兔子都喷死。换而言之,尽管你和你的 39 名队友都自认为是独挂龙头的高玩,但空中的奥妮克希亚高贵冷艳,如同冰山女神一般,根本就不屑于看地上的宅男一眼,她的目标只有那些可爱的小兔子。而没有躲掉技能被团长骂得狗血喷头的你,只是不巧被她雨露均沾了……

隐形兔子最广泛的运用之处,则是任务系统。

《魔兽世界》一开始并没有把任务作为贯穿始终的核心玩法,在设计之初也只考虑到了两种最原始的网文套路任务:杀人和夺宝。因此系统追踪任务进度的时候,只看两个参数:

1、是否杀死任务怪物(如:杀死狗头人)

2、背包里是否有任务道具(如:背包里是否有狗头人的头……不,徽记)

结果到了测试的时候,玩家表示任务好顶赞,无任务不魔兽,大伙儿这才乱了手脚,急忙把原计划里的 600 个任务,扩展到了上线时的 2400 个,任务种类也大幅提升。

这就引出了一个问题,杀人夺宝以外的任务类型要怎么追踪呢?比如最常见的任务类型之一“和某人谈一谈”就记录不下来。没任务记录,就意味着系统不知道这个任务完成与否,没法给出后续任务,任务链也就无从谈起。可要全是杀人夺宝也忒单调了,那还叙哪门子的事呐!

那么谁能拯救《魔兽世界》的任务系统呢?(卡德加:“我可以试一试!”众人:“滚!”)

面对废社危机,勇(tǎng)于(zhe)献(zhòng)身(qiāng)的兔子又一次登场了。

大家想出了一个绝妙的主意:当你点击 NPC 聊天时,游戏就会生成一只隐形兔子,然后把它干掉。这样一来,你的任务进度就以“杀死怪物”的形式记录下来了,真是卡德加般的天才创想!

其他类型的任务也全都仰仗隐形兔子:

如场景互动任务,就是你点击场景里的物件,系统生成一只兔子,然后把它干掉。

如护送任务,就是跟着 NPC 抵达指定地点,系统生成一只兔子,然后把它干掉。

如探索任务,就是你自己抵达指定地点,系统生成一只兔子,然后把它干掉。

如技能使用任务,就是你对 NPC 使用技能,系统生成一只兔子,然后把它干掉。

如物品使用任务,就是你在某地使用道具,系统生成一只兔子,然后把它干掉。

在 2005 年看起来无比高端的任务系统,就在兔子的尸体上被简单暴力地被搭建了起来。一直到 2011 年的“大地的裂变”资料片,《魔兽世界》才从程序层面改变了这一模式(其实还部分存在),顺便还引入了在右侧任务栏直接点击完成任务等新系统,从此挽救了无数兔子的生命。

回顾早年《魔兽世界》的任务史,这场对兔子的大屠杀依旧让人心有余悸。

请大家默哀三秒,一同缅怀为《魔兽世界》而牺牲的兔子们吧!

 

转载于:https://www.cnblogs.com/alan-W/p/5950616.html

你可能感兴趣的文章
HDU 5025Saving Tang Monk BFS + 二进制枚举状态
查看>>
Web Magic 总体架构
查看>>
Scikit-Learn机器学习入门
查看>>
完美解决IE8有两个进程的问题
查看>>
jq的链式调用.end();
查看>>
不要怂,就是GAN (生成式对抗网络) (五):无约束条件的 GAN 代码与网络的 Graph...
查看>>
单击浏览器右上角的X弹出提示窗口
查看>>
BZOJ1734: [Usaco2005 Feb]Aggressive cows 愤怒的牛
查看>>
开始python之旅
查看>>
Python进阶06 循环对象
查看>>
Python补充06 Python之道
查看>>
.net压缩文件夹
查看>>
MS SQL 分页存储过程
查看>>
2016年,我的和自己谈谈
查看>>
创建一个自己的GitHub,创建自己的开源项目
查看>>
Topcoder SRM 648 (div.2)
查看>>
Constructor总结
查看>>
HttpClient使用之下载远程服务器中的文件(注意目录遍历漏洞)
查看>>
JAVA UDP网络编程学习笔记
查看>>
反素数 -- 数学
查看>>