撰写了文章 更新于 2017-03-16 11:22:50
自古深情留不住 唯有套路得人心——那些包裹在套路里的Roguelike游戏
NOTE:本文未将roguelike和roguelite进行区分,统称为roguelike,涉及的众多游戏大部分不能严格的归类为roguelike游戏,抠字眼强迫症患者和原教义rogue玩家请放下手中熊熊燃烧的火把
最近在编写《MY三国志》的随机地图生成系统时
较为深入的了解了一下roguelike类游戏
的源码。。。
这类游戏其实玩和看源码已经差距不大了,甚至可以说看源码甚至还简单点,
你至少知道函数指向哪里,但是在游戏里,踢开一扇门之后会发生什么,鬼都不知道
没有个十天半个月,连快捷键都用不熟
多年以前,我其实就接触过roguelike,那是一个夜黑风高的夜晚
我不知道在哪下载了一个神作“矮人要塞”
号称是世界上仿真程度最高的游戏,有人在里面做出来了CPU!(我在现实生活中都做不出来CPU)
打开一瞧
fuck!我游戏没下全吧,这乱码闹的
后来我上网一查。。。这游戏的画面就是这样。。。
我当时心说这啥啊。。。遂丢弃一边
结果多年以后,《饥荒》《泰拉瑞亚》《我的世界》《环世界》这些影影绰绰带着《矮人要塞》风格的游戏依次火起来了
我才发现这款游戏的意义
说句极端的,《矮人要塞》是一个程序员的终极追求,每个程序员都应该尝试着实现一款自己的《矮人要塞》
当你开发一款游戏时,程序员的意义表现在哪里?策划是你做的么?文案是你写的么?美术是你做的么?
大部分的程序员在游戏开发这个领域做的不过是把别人设计好的东西,翻译成了计算机语言罢了,大部分人翻译的还语法不通,结构混乱,自己过两天都忘了
但是《矮人要塞》有美术的事么?(如果有,这个美术也应该被吊死),有策划和文案的事么?(都是计算机按照一定规则自动生成的)
程序员在这样的游戏里,“把程序能做的事情,在不受外力掣肘的条件下,发挥到了极致”
它拓展了“电子游戏”的外延,让别的游戏”可能做不到“或者“做不起”的事情在ASCII码的画面里做到了
打个比方”我现在要做一款3A游戏“,要开放世界,要全地图无缝链接,要模拟人生式的互动,要无限的事件和物品扩展(想想你要多少建模吧),要近乎无限的人物自动生成, 要万人团战(听着怎么那么耳熟)
你就试试看吧,没有200人,3年时间你做的出来?(诶?)
但是如果按照矮人堡垒的方式进行开发。。。嗯
ppt都不用写了,你就差一个程序员了
跑题跑到这里为止(这已经快一篇文章了。。。)
我不是来夸roguelike的
事实上,以我浅薄的roguelike游戏经验,这个游戏虽然玩进去挺有意思,但是对没有看过100页使用说明文档(这文档大部分还是英文的。。。)的新人实在是太不友好了
按照柏林协议,roguelike应该包含以下几点
1、生成随机性。每一次新开局游戏都会随机生成游戏场景,敌人,宝物等不同事物。而玩家的每一次冒险历程也都将是独一无二,不可复制的。更有甚者,只要玩家愿意的话,可以让玩家连扮演的角色都设置成随机生成的。例如敌人,武器,甚至只是一个角色的皮肤或者场景中的河流等。
2、进程单向性。当你在玩一款Roguelike游戏时,存档功能的唯一作用就是记录你当前的游戏进度,每当存档被读取时,对应的进度就会被清空,直到你进行下一次存档。这种存档机制确保玩家无法利用"S/L大法"来降低游戏难度。更甚至在Roguelike玩家圈中,手动备份存档会被当做一种作弊行为受到鄙视。
3、不可挽回性。在大多数Roguelike游戏中,每一个角色只有一次生命,一个角色的死亡意味着玩家将永远失去该角色。无论你是主角,敌人,物品或者场景。甚至在很多Roguelike玩家眼中,Roguelike的最大魅力之一就在于体验每一次不同的死亡与失败,并最大努力的做好当下的自己。
4、游戏非线性。严谨而不失灵活性的游戏规则,使Roguelike具备了极高的自由度,在游戏中,玩家可以发挥想象力,利用各种手段去达成任何他们想做的事情,或合乎常理,或匪夷所思,目的只在于解决他们在游戏中遇到的问题。
5、画面朴素性。其实Roguelike类游戏的鼻祖Rogue被普遍认为是最先有图形界面的冒险游戏之一,虽然这种"图形界面"抽象的过分。但是很多Roguelike类游戏出于对Rogue的致敬,会直接使用ASCII字符来表示游戏画面,更导致很多游戏的主角都叫同一个名字--@。
6、系统复杂性。Rogue本身的复杂程度就远远超过同时期的任何一款作品。而Roguelike类游戏可能会在一款游戏中包括多到无法估量的元素,例如地质、气候和生物分布,以及精细到皮肤、肌肉、血液、骨骼和脂肪的战斗系统,甚至战损痊愈后会留下伤疤以及后遗症。在有些游戏里则可能包括数百种的死亡原因,数千种的生物,数万种的物品。可以说除了Roguelike类游戏,再也没有任何传统游戏能够不计成本的拥有如此多的元素了。
以上摘自百度百科,感谢李彦宏对本文巨大的帮助,虽然他根本不知道我是哪根葱上的须须
但是细细研究,这几项都有极大的问题
1.生成随机性。随机算法不容易调试,容易出错,不好的随机算法生成的地图丰富而乏味,当玩家认识到“哦这个世界就是随机生成的嘛”时,他们的最优解法通常变成了无脑刷刷刷,这根游戏的益智性(有么?)背道而驰,当一个游戏变成了耗时间,无脑刷,那存在的价值就真的只剩下杀时间了
2.进程单向性。无法保存的游戏导致的结果就是不可挽回的后果,对于新人太不友好,让人望而却步,当一个玩家千难万险到达了一个地方,由于一个小小的失误而导致后续留下遗憾,真的妥当么?至少很多人会因此对这个游戏近而远之
3.不可挽回性,其实这一条就是2的加强版,本来就不能允许存档,死了当然就是死了,如果仙剑的结束语是:大侠请不要再来。。。估计大部分玩家会很想摔电脑吧
4,游戏非线性,问题跟1类似,过于的随机导致的结果是“过多的解决方案其实等于没有解决方案”,以nethack为例,很多箱子和门的开启变成了简单重复的尝试各种方法,这种没有设计感的所谓谜题,其实根本算不上谜题
5.画面朴素性,这条根本不用提了,除了原教义roguelike玩家,大部分见到tile画面都想吐,见到@表示的自己估计顺手就ctrl+d了,画面的朴素是roguelike在开发资源有限,创意无限的前提下不得已而为之的妥协,把它当成优点那是要疯啊,甚至我看到有人说“不是ascii界面我看着不舒服,您这真的不是斯特哥尔摩综合征么。。。
6,系统复杂性,过于复杂的结果往往导致玩家的无所适从,给玩家两个选择和同时给他一万个选择一样糟糕,除了极客,没有多少人愿意在刚刚接触一个游戏的第一个宝箱时,就面临 在地上写字,在踢箱子,用剑撬箱子,用钥匙打开箱子(而且还不知道钥匙在哪),使用戒指
这样多的选择吧。。。尤其是这些功能大部分还要用命令行敲出来
我说了roguelike这么多坏话,估计看到这里的人都是准备在留言里恶言相向并且把我烧死的愤怒群众。。。其实我只是站在普通玩家甚至非玩家的视角去审视这些roguelike规则,如果只能玩一个游戏,我也许也会选择nethack,但是我相信大部分人在末日的世界里,打开他找得到唯一的电脑时,他更愿意看到人工少女3而不是brogue
roguelike的确博大精深,内涵丰富,但是确实面目可憎,不修边幅
正所谓我抽烟喝酒烫头,但我是个好女孩,床底功夫还了得
但是你知道,别人知道么?
于是就产生了众多经典游戏借鉴了部分roguelike精神,由大刀阔斧的改造了我说的那些缺点,遂成经典
爱情,终极要讲套路的
1.以设计为纲,随机地图为辅助的暗黑破坏神
可能有人这里就要打人了,nethack里就有设计过的精巧迷宫,暗黑算什么?不过是抄袭cf罢了
但是暗黑确实是第一个将“随机的迷宫”和“固定的设计”(包括boss,物品,小关卡,人物,任务等等)完美结合的商业化成功之作
还记得第一次被精英怪围攻么?
还记得第一次被屠夫追着满街跑么?
还记得第一次被安达利尔的身材所吸引么?(这口味)
而种类繁多的装备,永远神秘(其实玩多了也就不神秘了)的地图,一个个设计精巧的任务和事件(你觉得无聊是因为你已经刷了80多次了!),一个个让人印象深刻的角色(泰瑞尔的脸色一变)
如果暗黑破坏神能被归类为roguelike,它一定是史上最伟大的roguelike之一
而它成功的基础就是“随机和设计的完美结合”
不放任随机的泛滥而是拿随机填充那些不那么重要的部分,用设计去引导玩家
事实上暗黑是一个极其有设计感的游戏,道具也好,技能树也好,boss也好,都精致而有趣味,无一物无出处,虽然跟博德之门,辐射那种拿着个裤子的文本把玩半日不可同日而语,但是在同类游戏中也算的上乘了(别跟我提暗黑3的什么诗史装备谢谢。。。)
2.死了不白死的《盗贼遗产》
这个游戏最近我也玩的很上瘾
它的核心设计就是“你要死,但是你不能白死“
而其一些设计又杜绝了单纯的刷刷刷,你就是刷,也得动点脑筋,展示一下技术
要不然死了也是白死
可以说盗贼遗产是我见过的将roguelike的死亡系统改版的最好的游戏
在一次死亡中,玩家学会了如何”玩这个游戏“而不是通过”刷“去获得”无敌“
这正是roguelike要传递的信息,只不过由于历史,roguelike只能做到“让你死”
而盗贼遗产真正做到了“你不能白死”
我甚至觉得盗贼遗产的这个设定才应该成为roguelike游戏的标配
3.你死了你还得去捡尸体的《黑暗之魂》
这年头开发个游戏都讲究一个“用户粘性”
完全跟社会主义核心价值观背道而驰嘛
你们这是要干什么?把祖国未来的花朵用套路留在游戏里,让他们不能更好的为国家做贡献么?你们这是要犯错误滴
当然了,从游戏的角度而言,人家玩你的游戏玩的想删除,肯定是不行的
你必须要耍些无赖手段去挽留挽留
连垃圾软件都知道问你一句“你真的要删除我么?”
你真删了,它还来一句“我不在的时候要好好照顾自己哟”
这真情流露,暖男十足,我要是个姑娘我都从了
只可惜我这么可爱,当然是男孩纸,这种套路对我基本上是不起作用的,像我老婆心肠比较软,i7顶配的电脑给她用一个星期跑的比Apple II还慢
当然了我这又跑题了,落实到roguelike里来,你要创造“用户粘性”,你就得分析玩家什么时候最想删游戏
毫无疑问:当然是身背神装,金钱满,等级满的时候,在最后boss之前的一个小机关里被弄死了!!!!
这是何其的what a fuck!!!
其实这个问题《暗黑破坏神》已经解决过了
你想要你的装备么?跑尸吧!
但是《黑暗之魂》做的更彻底
你想要你的魂么?给你一次机会跑尸吧!
要是半路上又死了呢?
哼哼
当然了,考虑到暗黑装备的获得难度和魂的获得难度,其实这两个设计是一个意思,就是逼你回到死亡地点
大部分玩家在地图的某个角落躺着几万魂的时候,都不会想删游戏的对吧,他们会在跑尸的过程中又挂了之后删。。。
4.充满了隐喻的《塞尔达》
不知道把塞尔达归位roguelike游戏是否有人会有很大意见
但是你看看当年它这界面,这地图
还真是rogue十足
而塞尔达的谜题设置是非常精巧的
物品的出现顺序,方式,以及介绍,都给你了很多隐喻的提示
未来的谜题往往会在出现解决方式之前就出现
比如印象比较深刻的缩小帽(虽然我知道这一部分最低。。。怎奈初恋就是初恋啊)
在获得缩小帽之前,你就会看到很多的小门小房
这时候,一个智商正常的人就会想:这里可以进去么?
而到后来,遇到了谜题,你可能就要利用到这些地点
这种“实现给你看”“给你出谜题”“让你在回忆中寻找解密隐喻”的方式非常的精巧
至少比大部分roguelike游戏里漫无目的的大部分谜题要高明的多
而这种东西,依然离不开设计
当然了,如果能够在设计的基础上融入随机,这将是更好的一种方案
让玩家开动脑筋而不是无脑尝试或者马上去翻攻略,这才是游戏应该去做的
5.探索商业roguelike游戏画面下限的《我的世界》
前几天看到一个帖子
为什么roguelike游戏现在火起来了
其实个人认为一个原因就是“游戏开发变容易了”
比如我的世界
其实这个游戏说他roguelike肯定又有人不同意
这游戏哪里like了?
但是我觉得他跟roguelike的出发点是惊人一致的,那就是“模拟世界”
众所周知,模拟世界是需要代价的,以现有科技,现有引擎技术,要实现一块真实世界的仿真,在不谈程序员受不受得了的前提下,电脑先受不了
但是你的画面太差,玩家又受不了
这其实就是“电脑和玩家谁先受不了“的问题
传统roguelike游戏给出的结论是“我管你玩家受不受得了呢”
但是《我的世界》给出了另一个答案
我跟玩家讨价还价,你不喜欢@?我给你一些乐高如何?
现在的效果是,似乎还不错,我觉得这是一个风向标,既然能够通过一点点成本让画面更好一点,为什么不试试看呢?这是roguelike的一小步,却是游戏史的一大步啊
以现有的引擎技术,实现一个《我的世界》级别的游戏其实并不比用ASCII画画更难了(甚至对我这种学Opengl出身的还简单好理解一些)
虽然也经常有人在《我的世界》的论坛上喊:这游戏有啥意思?2017年了还没lol画面好呢!
当然了,这些孩子后来都被激动的群众烧死了
6,复杂的内涵,简洁的接口,塞尔达,还是塞尔达
roguelike游戏是复杂的
这毋庸置疑,我们且看看nethack的命令
/: 查看某个字符的含义
\: 查看已发现物品一览
^A: 重复前一次操作
^P: 查看上一条信息
^T: 传送,有传送能力时可用的命令
^X: 显示角色属性
$: 查看金钱数目
^: 查看附近的陷阱
+: 已学魔法一览
,:捡起
.:原地休息一步
:: 查看当前所处的格子。一般就用来看Elbereth有没有刻好。
;: 移动光标查看地图各个格子。
a:使用(各种物品)
A:脱下(各种物品)
c:关门
C: 为宠物改名
d:扔下
D:扔下特种物品
e:吃(地上的东西,身上的东西)
E:雕刻
f:发射(已经准备的武器)
F: 战斗,感觉和一般的方式一样
j:跳
k:踢
l:查看(当前一格的物品)
n: 指定次数重复命令。如, 'n50.' 则休息50个回合。中途情况有变则会中止。
N:取名
o:打开
O:各种指令的开关设置
p:付费
P:装备(戒指)
q:喝(泉水,瓶装液体等)
Q:准备,就是将一些远程武器置入待发射状态
r:阅读(书籍,卷轴)
R:脱下(戒指)
s:原地探索
S:存盘
t:投掷(标枪,匕首,石头等武器)
T:脱下(鞋子,帽子,盔甲/衣服)
u:破坏陷阱
v:查看版本
V:查看一些介绍
w:挥舞,即装备何种武器
W:穿(盔甲/衣服,披风,鞋子,头盔)
i:查看行囊
I:查看制订物品的行囊
x:将当前手中武器设定为反手武器,并且当前手中成为空
X: cheat mode。
z:使用某种wand施法
Z:使用某种已知的魔法 #twoweapon: 双武器模式
#force: 破锁。一般用dagger比较好。
#monster: 变身为某些怪物后可以使用的命令,发动相应变身怪物的能力
#untrap 除了解开一般的陷阱,还可以侦测宝箱上的陷阱。
#turn: Turn undead. Knights和Priests的能力
#sit 坐下
#wipe 洗脸
#offer 献祭
#pray 祈祷
#ride 骑
#enhance 提升能力
#chat 聊天
#untrap 解除陷阱,同u
#monster 召唤
#adjust 改变次序与字母
#invoke 使用神器
#quit 离开
#dip 浸入
#force 撬锁(不是用picklock开锁)
#jump 跳
#loot 同l
#version 同v
#name 同N
我第一次看到这些的时候,内心是崩溃的。。。
但是我第一次见到的风之杖是如何的呢?
X,Y,B,A四个键全部搞定
但是塞尔达真的比roguelike简单很多么?未见得
事实上很多物品的用途都有1到两种甚至更多
以叶子为例,可以扇风在花朵上漂浮,可以攻击一些敌人,可以当降落伞
这要是放在roguelike里,还不给你分成三条指令啊?
说句难听的,这种开放式,c语言式的函数精神是落后的,我不说数据驱动,你好歹面向对象一点吧
当然了,这里指的不是要nethack改,作为原型,怎样都是可以的,还节省成本
但是要进一步,塞尔达的套路是必须的
roguelike的未来是光明的,任何一种最新的尝试,都可以很容易的在这种框架下进行试验,并在换皮和做减法之后摇身变成3A大作,就像高中那些灰头土脸的女同学上了大学稍微化化妆ps一下你就惊为天人
我早干嘛去了呢?
与其盯着已经成名的大作,不如想想他们在哪里借鉴了roguelike,他们还没借鉴的部分我们能不能借鉴的更好?他们已经借鉴的部分我们能不能换一个方式借鉴。
毕竟天下武功出rogue嘛
夏天烤洋芋 1年前
balisoul486 1年前
夏天烤洋芋 1年前
发布
Starling 1年前
发布
Lowwhy 1年前
《DEAD CELLS》这款游戏让我很心动,然而死一次就什么都没了的设定让我觉得真操蛋!
发布
镜喵 1年前
发布
飞翔的猫 1年前
发布