0%

注意,本文与 Minecraft 三部曲一样,要求阅读者拥有基本的 Linux 系统操作知识。


前言

最近在和朋友愉快地玩一些很不错的三方图,同时也和一些初次接触求生的朋友玩,使用大厅的本地服务器实在是难以连接,而使用最佳可用服务器则总是连到别人的大量魔改服务器,搞得本地文件都变了,单喷都能改成500多发子弹,不检查文件完整性就没法修复,于是干脆自己搭建。

求生2的服务器对硬件要求很低,基本上国内阿里云腾讯云什么的 1 核 2g 已足够,只是硬盘稍有要求,因为服务端本身就不小。

我用的系统是 CentOS 7,但实际操作里因为不同发行版而要有不同操作的地方很少,所以就不着重说了。

具体步骤

像广东人喝茶一样,装新软件之前先洗杯碟更新……

1
yum update

之后安装依赖库

1
yum install glibc.i686 libstdc++.i686

若是使用 root 用户登录的服务器,则需要创建一个新的普通用户。因为下文提到的 SteamCMD 不能在 root 用户下跑。使用adduser blabla就能创建一个名为 blabla 的用户了。再使用passwd blabla就能为 blabla 用户设置密码,密码需要不少于7位。

然后登录为新创建的用户并切换到该用户的根目录。

1
2
su blabla    // 从 root 用户切换到其它用户不用输密码
cd

这里我把新用户名设置为 blabla 是有原因的,当然可以设置成别的,比如「userl4d2」,但最好不要设置成「l4d2」,你会后悔的,最后会说明为什么。

接下来需要安装 SteamCMD,这是一个在命令行下可以运行的 Steam ,实际上他就是没有界面而已。

执行以下命令来下载 SteamCMD 到当前目录:

1
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

然后解压:

1
tar xvf steamcmd_linux.tar.gz

之后就可以使用 SteamCMD 来下载求生之路 2 的服务端了,先执行 steamcmd.sh:

1
./steamcmd.sh

然后匿名登录:

1
login anonymous

之后指定目录,并下载服务端:

1
2
force_install_dir ./l4d2server
app_update 222860 validate

注意,这里的目录你也可以叫 l4d2 ,只要简单地把第一行指令的目录部分改成「./l4d2」就好了,但还是建议不要,同样在最后说明为什么。

此外,下载需时比较久,毕竟服务端其实也接近 7g ,我使用阿里云的速度不错,也需要下载个十多分钟。

完成之后就退出:

1
exit

这里已经可以执行./srcds_run这个指令来直接启动超级纯净的服务器了,我跟着别人的不完整教程搭建时也是这样想的:「反正我只是要联机」,但我非常建议安装必备插件以及进行必要的安全防护,是的,你没看错,安全防护。不过在做安全防护之前,先安装一些必须插件,很有必要。

插件

首先我们需要安装 SourceMODMetaMOD,这两个东西除了提供 API 可供开发插件外,也提供了一些基本的功能。

链接都是 stable 的分支。

这里其它教程就开始作妖了,叫你在本地把两个东西捏一起再用什么软件上传,对我就是说 CSDN 那篇东西。

前面都用到 wget 了你为什么要自己折腾……

打开上方两个 MOD 的链接,见到 Download 下面的小企鹅了吗?这些都是直链,右键那个小企鹅,按「复制连结网址」之类的东西,然后切换到我们该用来放插件的目录,在前面打上wget,并下载,就像下面这样。

1
2
3
4
5
cd l4d2game    // 注意:这里切换到你前面使用 SteamCMD 下载游戏时写的目录
cd left4dead2 // 这是真正的游戏目录……我是这么认为的
cd addons
wget https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6454-linux.tar.gz
wget https://mms.alliedmods.net/mmsdrop/1.10/mmsource-1.10.7-git971-linux.tar.gz

这里的下载网址是我写文章时现复制的,总之命令看起来就像这样,当然读者也执行这两条是没有问题的,但我建议替换成新版本的链接。

之后解压:

1
2
tar xvf sourcemod-1.10.0-git6454-linux.tar.gz
tar xvf mmsource-1.10.7-git971-linux.tar.gz

解压完之后这两个包可以直接删掉了:

1
2
rm sourcemod-1.10.0-git6454-linux.tar.gz
rm mmsource-1.10.7-git971-linux.tar.gz

这两个插件除了有基础功能之外,其实就像 Minecraft 的 Forge 和 Rift 一样,可以再安装别的插件,比方说 .smx (不是 Super Mario X) 的插件就要安装到 addons\sourcemod 下。

到这里插件就算是安装完了,一般来说现在应该先开个服试试,检查一下插件是不是正确安装了,但开服参数里也包含着安全防护的东西,现在直接开服会有安全问题,所以请耐心继续阅读。

安全

先到这里创建一个属于你的 Steam 组,创建完成后记下组 ID ,另外,让要一起联机的人都加入这个组。

现在,当前目录应该是在 addons ,那我们向上一层,到 cfg 文件夹去:

1
2
3
cd ..
cd cfg
vi server.cfg

在这里新建一个server.cfg,在里面写点东西。这里我就列出比较重要的。另外,这里写的东西实际上就是开服完成后执行的脚本。

1
2
3
4
5
6
7
8
hostname "Ceplavia's L4D2 Server"    // 这个是服务器开放时,在游戏的右下角(如果你有加入一些组)显示的服务器名称,可以写但没用,下面会提到为什么
sv_allow_lobby_connect_only 0 // 是否允许从大厅选择「组服务器」来连接,建议 0 ,也就是 false
sv_tags hidden // 在浏览服务器的地方隐藏
sv_steamgroup 你的组id // 就是前面你建立的组的 ID
sv_steamgroup_exclusive 1 // 设置组为私有

sm_cvar sv_gametypes coop // 游戏模式为合作
z_difficulty Normal //游戏难度为普通

中间我故意分隔了一下,前面的部分是纯净的服务器就能执行的,下面的两行是安装了那两个插件才会执行的。

对我就故意不写怎么离开编辑状态并保存,vim 应该自己学。

然后到addons/sourcemod/configs这个目录来,修改admins_simple.ini这个文件。

1
2
3
4
5
cd ..    // 现在应该是在 cfg 文件夹里,往上一层
cd addons
cd sourcemod
cd configs
vi admins_simple.ini

在里面以这样的格式写:

1
"STEAM_数字:数字:好多数字"		"99:z"

前面那串是你的 SteamID,可以在这里查找到。

这么一来就差不多了,回到游戏所在的目录:

1
2
3
4
cd ..    // 向上返回到 sourcemod
cd .. // 向上返回到 addons
cd .. // 向上返回到 left4dead2
cd .. // 向上返回到 l4d2server

应该没错……总之要返回到有srcds_run这个东西所在的目录。

然后我们来写一个启动脚本:

1
vi start.sh

写这段东西就好了:

1
./srcds_run -game left4dead2 -insecure +hostport 写个数字嘛 -condebug  +exec server.cfg -nomaster

来具体解释一下,srcds_run 就是启动服务端用的;game 参数不多说了;insecure 是禁用 VAC,一些客户端的 mod 不禁用这个的话容易被制裁,比如说自动 BunnyHop 的 mod;hostport 是端口,默认是27015,建议修改;condebug 是输出 debug 的信息;exec 是执行前面写的server.cfg;nomaster 同样是隐藏服务器用的。

注意,这里使用的端口,请在防火墙或安全组允许双向,TCP 和 UDP 都要。

然后给这个启动脚本加上权限:

1
chmod +x start.sh

这样就可以执行 start.sh 来启动服务器了,建议新增一个 screen 来使用。要停止服务器,只要在 screen 内 Ctrl+C 即可。

三方地图

用 pscp 之类的工具上传到 addons这个文件夹内再开服就行。路径是IP:home/你的用户/游戏文件夹/left4dead2/addons

前面我提到过为什么用户名和下载的文件夹名不要用「l4d2」,这里把路径里部分换成 l4d2 就明白了,真的很容易搞混目录。

插件指令

游戏内可以输入/admin来执行管理员指令,可以进行换图、投票等操作。

要玩三方地图的话,可以切换地图,在选择地图的地方,类似「c1m1_blabla」这样命名的都是官方地图,具体对应什么可以去查,神奇的地方在于不按剧情顺序。如果没有安装三方图,会有一些不是这个格式的地图,我估计是测试场景,我也不敢开。要是有装三方图的话,会列在前面。

进入服务器

游戏内按「~」呼出控制台,输入connect IP:你自己的端口,例如connect 1.2.3.4:56789即可,当然你要是有域名的话,也可以写一个域名解析,这样就不用记 IP 了。

其它游戏的服务端

像别的可以联机的游戏,比如我最近正在玩的 Project Zomboid,也是可以利用同样的方式开服的,在前面下载游戏的地方把 app id 改成不同游戏的便可。


WHY安全?

国内的人在某种程度上真的很犯贱。

求生说起来也有 10 年了吧?说到求生,大家的印象都是「特价的时候才一顿饭的价钱,补个票吧」,而坚持在玩的人,我觉得真的没多少。

而这种 p2p 的联机方式虽然不能说不好,但至少在国内是很难做到的,因此开个服务器来联机也无可厚非。

但就有这么一种贱民,开着收费的求生服,卖 VIP,当你的服务器在公网上暴露,也就是能在游戏里的搜索服务器那访问到,就会有人来尝试连接,一旦发现能连上,你的服务器在稍后就会受到 DDoS 攻击。

只要你不隐藏起来,一开就 D 你。

一个月卖 VIP 能卖多少钱?值得吗?

前面在server.cfg里写的sv_tags hidden以及启动参数里的-nomaster都是把服务器隐藏起来的一种手段。以免遭到这种人的 DDoS。

搭台?

搭台是一个粤语词,指相识或不相识的两方,在外吃饭(多为早茶)时,共同使用一张桌子的行为。

比方说,一张 4 人桌,在先到的一方同意下,就可以坐 2 组 2 人的食客,这种情况在一些公认好吃的茶楼里经常出现。

但可以肯定的一点是我这博客并不是介绍茶楼的,今天来谈谈优先考虑匹配时间的匹配机制。

这次拿谁开刀?

今天拿 PUBG 的匹配机制作为举例,以我实际游玩的经验,嗯……总游戏时间是 551 小时,在雪地图出来之后应该也有 200 小时。

首先声明一个情况,海岛、沙漠、雨林、雪地这四个图,在考虑单排、双排、四排都有人的情况下,假定某一个模式或地图几乎排不到人,我就拿双人沙漠来举例了,因为在实际玩的时候,我比较多玩双排模式,而沙漠图是排得最久的,有时甚至要切换为双人四排才能进入。此外,把每一「局」当作是一个游戏房间的话,比较好理解。

根据看微博的 PUBG 国内运营帐号下面的评论,以及小黑盒 APP 里的讨论,不难发现关于排地图的事情上,都有公认的认识,就是「某一次更新之后,就是四个图机率差不多,玩久了之后又变成两个图来回排了。

这种情况就能用搭台理论来解释了。

举个例子

当玩家因为某些原因而需要在等待游戏开局时离开,比方说有队友游戏崩溃,出现 BUG 见不到其它队友,就会对匹配系统的判断有所影响。

自从某一次更新后, PUBG 加入了选中图时,给出一个预计进入游戏时间的功能,于是我对 PUBG 的匹配系统猜想是这样的:

每个地图根据已加入的队伍数(即使是 1 人也当成是一个队伍),以及达成这个队伍数的时间,会计算出一个权值 A 。队伍数越多,加入得越快,则这个权值 A 越大,反之则小。

每队玩家根据完成比赛的记录,对不同地图亦分别计算出权值 B 。若队伍构成出现变动,则此权值 B 一律重置。

将两方权值按地图相加,然后将队伍分配至权值较高的地图,等待游戏开始。

还记得前面我提到过 PUBG 专门「优化」过进入游戏时间的事吗?也就是说,权值 A 的权重很高。比起「让玩家均衡地游玩各个地图」,实际上优先的情况是「让玩家更快地进入游戏」。

于是就会出现「只要一个地图模式有人不喜欢玩」,就会影响这个地图难以被匹配到的情况。在队伍进入某地图,然后又退出的过程中,实际是「拖慢」了当前地图完成匹配的速度,于是相对地其它「房间」从空房间到满房间的时间是缩短的。一个队伍的操作并不会有多大影响,但这会造成一个势,慢慢地扩大到:这个地图模式尽管从大部分队伍的权值 B 来看,是趋向创建新的该地图模式房间的。但实际由于权值 A 的权重太高(这一点从大多数地图模式的匹配时间都是5~8秒就能看得出来),系统倾向分配玩家至能够更快开始游戏的地图

就像爆满的茶楼,当某桌子有 2 人空余,可供搭台的情况下,咨客会优先让你去这个桌子,而不是等下一个空的 4 人桌。

为了易于理解,假定桌子都是 4 人桌,食客构成只有 2 和 4 人。

坐着 4 人的桌子,可以变成 2+2 人的桌子,但坐着 2+2 人的桌子,却很难变成 4 人桌。因为 2 人吃完埋单,这桌子就可以有新的 2 人来搭台。而要这张桌子变成 4 人桌,则需要双方食客同时结帐离开。此外当然还要看食客构成了。

但现实却不会出现 4 人很难用餐的情况,因为 4 人桌变为 2+2 人桌的情况是少数,咨客的工作是保证所有食客公平地进入餐厅用餐,而不是保证所有食客尽快进入餐厅用餐。并且,现实有「重置」的情况,当茶市结束,所有的桌子就会被重置到正常情况。

于是就有了前面所说的「某次更新之后每个图都能排到,玩一段时间之后又就只有两个图」的情况。

怎么办呢

要改善这种情况,适当地调整不同权值的权重或许可以对情况有改善,但我认为更好的处理方法应该是:周期性地重置地图本身的权值 A ,使得玩家队伍权值 B 能够发挥作用。

游戏本身是连续游玩的情况下,这种延长排队时间的机制对于不同人群可能会有不同的反应。

一种是恨不得死了之后按一个键马上开始重新跳伞,无脑只要「进行游戏过程」的人。

一种是在每局游戏之间希望有些「休息时间」并进行讨论的人。

但不管怎么说,每局游戏之间间隔只有个位数秒的话,我认为并不是一个还需要「加快匹配」的情况,对于我来说,局与局之间间隔个半分钟还是可以接受的。

别的

但我觉得 PUBG 对于新一局的创建,不是创建空局并将玩家加入,而更像是攒够了差不多的玩家后才创建空局将玩家加入。而在「攒」的这段时间,仍然将玩家匹配至其它局,以减少等待时间。

不管怎么说还是机制问题,匹配系统只能倾向一方,要么公平,要么够快。

不过虽说 PUBG 的,被检测数据异常后会被强制踢出该局游戏,但对该局游戏本身的影响还在,与其说侧重改善匹配系统,我更希望改善防外挂这个方面。

今天 PUBG 的运营在微博发了一条很有趣的消息,是这样的:

正好我昨晚在玩,也有出现闪退现象,不过我的笔电 CPU 是 i5-4210H ,而 Icelake 是10代,抱着看戏的心态点开了看看。

具体的临时解决方式是这样的:

通常来说设置的系统变量并不长这样,很多人熟悉的多数都是目录,而值的部分很明显是内存偏移量,于是我就把变量名拿去搜了。首先是搜到这段

1
2
3
unsigned long *OPENSSL_ia32cap_loc(void);
#define OPENSSL_ia32cap ((OPENSSL_ia32cap_loc())[0])
env OPENSSL_ia32cap=~0x1000000

然后还有这个 OpenSSL 的文档。

基本可以确认 OPENSSL_ia32cap这个值是个处理器功能向量。

然后,我试着研究了一下把这个值设成图里的值是干什么用的。

0x200000200000000 转换到二进制就是

1
‭1011 0101 1110 0110 0010 1100 1110 0000 0100 0010 0000 0000‬

按照我在学校学的鬼知识……最右边那位应该是第0位。

bit #28 denoting Hyperthreading, which is used to distinguish cores with shared cache;

28位是0……

可以理解成这是关闭了超线程吗……?(大概率不是吧w)

不过我对碰到内存的东西都很苦手,姑且先把这个值当成我记得的那种功能向量来理解,这样一想,或许 Intel 10nm 的架构与 14nm++ 有一些大的区别,当中可能涉及到游戏引擎优化。

如果我的猜想正确,部分使用到这个值……也就是其它使用到 OpenSSL 来进行安全通讯的游戏,或是别的什么东西一律会……出事。

那么现在被多人使用的游戏引擎么……当属 Unity 和 UE4 ,先看 Unity ,在 Manual 里的 NetworkConnection 部分能找到这句话:

The Transport Layer can use two protocols: UDP for generic communications, and WebSockets for WebGL.

同时自己看了看 Networking.NetworkTransport ,里面没有提到 OpenSSL 。

接着看 Unreal4 (别忘了 PUBG 就是这引擎做的),文档里找不到有关的描述,那就换种方式搜,我试着在谷歌里搜类似「ue4 using openssl」的字句,找到了 UE4 官方论坛里的一个,在 #2 回复又看到了熟悉的关键词。

Until the OpenSSL fix makes it into the launcher, you can create an environment variable called “OPENSSL_ia32cap” with the value “:~0x20000000d”. (Both without the quote marks)

这个帖里的问题是打不开 Epic Games Launcher,并且「 I then tried starting UE4Editor.exe but it crashed without error or showing up. 」

那么会是 OpenSSL 的问题吗?但 OpenSSL 最近的更新是在 9 月。而根据 Intel 官网的数据里看, Icelake ,也就是 10 代 Core ,目前只有 G 后缀,通通都是移动平台,推出日期都是 Q3’19……

不,我觉得就是 Intel 的 10nm 架构问题。

或者说我最初就觉得是 Intel 在 10nm 的架构上改动了什么东西,导致和原本的 14nm++ 相差太大而造成的。

按照惯例也放上 YT 的版本,点我

我……其实想了很久这篇文章应该放什么音乐,这篇文章谈音乐,但我想用 DNF 的音乐来开始。

为了方便说明,先来把 DNF 的故事分成三个阶段:

大转移前 - 旧时代;

大转移后至再转移前 - 新时代;

再转移后 - 混帐时代;

这首音乐是旧时代里,神之都,根特的收尾剧情副本——追击歼灭战的 BGM ,也被称为是转职视频 BGM 的完整版。在选曲上很纠结,因为旧时代的 BGM 无论是哪首都很值得一说,但我最终选择这首,是因为这和 DNF 剧情故事的开始有着相映的效果,转职是开始,那个时候听到了不完整的 BGM ,到了整条大主线的结束,就听到了完整的 BGM 。

文章标题是法国动画《Code Lyoko》里其中一集的标题。


其实我还有一首想放的

国际惯例,点我

這是最好的時代,也是最壞的時代。


我以前在一篇文章里说过,就游戏的构成来说,留在人脑中的比例不同,音乐是占据最大的。无需任何证明,一首童谣能流传几百年,没有谱、没有歌词,但它就这样流传了下来,正是最好的证明。

DNF 的音乐其实变更了好多次,在近代(指千禧年之后)开始运营的游戏,很少有这样的。

纵观近代游戏史,已再难找到作曲这么认真的游戏。

好了,说回音乐。

可能这与人生而俱来的品质有关——内斗。新来的策划不喜欢之前策划留下的东西,换掉,以此反复,这个游戏里的剧情大主线换了两次,音乐品质也没有那么高了,而旧地图的音乐自然也……不再了。

对于我来说,实在无法理解。这就像家里的墙好好的,也没有破损,偏要把上面的灰全铲了,换个颜色。

事实上我对很多策划的行为都无法理解。像是地图变更,音乐变更,贴图变更。从玩家的角度来说,极恶,真的极恶。极度厌恶。

新来的玩家无法适应以往的复杂地图,因此改短。而谁又予新玩家特权?这种现象其实很有趣,像那些很多人的大聊天群,其实每天聊天的过半都是固定的几个人。有些人出现,或许聊几句,搞不好还引起了战,然后就不说话了。而去搜他的发现记录看,搞不好他就只在那几天说过话。

新玩家也是如此。

谁又能确定他是不是只是来玩几天呢?

新玩家来了,诶这副本垃圾,绕来绕去的,垃圾策划。

好多这样的「玩家」说,策划就决定改啊改。而这种玩家有没有留下来玩呢?其实他们在版本改动之前就已经走了。

不是因为因为改动得慢,也不是因为这个游戏做得不好,事实上只是他们不适合这个游戏。注意这里的因果关系,是玩家不适合游戏,不是游戏不适合玩家。

正是因为这样,地图会有改动。

而音乐,也总是策划自作多情:

这音乐用了好多年了,要不要换换?

这问题其实要考虑双方立场:一边是听这音乐可能听了成千上万次的玩家;一边是可能都没满级的策划。

谁予你特权决定此曲生死?

兜兜转转,无意中伤害玩家,却又推出各类活动来提高玩家粘着度。其实本身如何让新玩家也能体验到老玩家所能体验过的流程,本身就是个伪命题,甚至连这个命题都不应该出现,因为这原本就是正常的事。

凭什么新玩家有着特权,可以跳过最复杂的部分?

一个游戏最宝贵的财富是老玩家,而不是财报上的新玩家数量。

玩家是很难完全离开一个游戏的,我一直在说这句话。

即使一时离开了,也是会偶尔回游戏看看的。这个时候,最痛恨的就是系统大改,游戏面目全非。

大变后的世界与记忆中的世界完全没有重叠之处,为什么又要继续另一个世界的人生呢?

若是有新系统,可以学,但若连基本系统都要改,或许会完全抹杀掉回锅玩家下次上游戏的欲望。


懷舊空吟聞笛賦,到鄉翻似爛柯人。

FUN FACT

本篇文章是 Hexo 升级至 4.0.0 之后所写的第一篇文章。

0. 引子

刚才在新闻听到了很好笑的一个新闻:

是说小学生/初中生在学校附近的小店花钱买一些卡包来抽卡,类似以前的游戏王吧,一包价钱大概在是 50 ,如果我没听错的话。

我一下就忍不住了。

这是个病态的社会——

老年人面对量子骗局和区块链茶话会毫无抵抗力;

中年人面对炒币毫无抵抗力;

青年人面对手游十连抽毫无抵抗力。

而这些人竟还有勇气去指责小学生抽卡。

这就是这篇文章要谈的,玩家所在意的东西。

要去解释玩家的行为,就先要分析上文所述三种典型人群的心态,先从老年人开始。

1. 量子骗局与区块链茶话会

这两样东西一样,都是近年新兴起的。个中真实性我就不多说了,对于老年人来说,就是「不要管过程,这个能治病/赚钱」。

但他们真正在意的并不是这个花钱换来的东西能不能治病或赚钱,他们在意的是面子。

试想一个老年人 A ,对这两样东西非常「了解」,也就是说他几乎能把推销员的话倒背。另外还有一个老年人 B ,对这东西不甚了解。而这个时候,老年人 A 所在意的,就是能不能在 B 面前争到面子。这几乎是每一个老年人都在意的东西。钱没掉了没所谓,因为还有退休金养老金这个那个的,但面子丢了,是找不回来的。

因此,尽管他们花大价钱买的量子保温杯,在保温性能上远不如卖场里20块的;尽管他们在区块链里投了不知道多少钱,但即使赔了,他们也会用「投资经验」来安慰自己,然后继续重复这个错误。

回到游戏,这便是那些喜欢花钱解决问题,但又经常被骗的人。游戏里很多工作室,但不是所有工作室的服务都是 RMT ,有些只是纯粹骗钱。这些玩家只是在意能不能快速地把钱转换成游戏里能够与他人炫耀的资产。

并且这个转换过程的重点在于:易于理解。

2. 炒币的

这些人始终在亏钱和赚钱的边缘来回游荡,要说有没有赚呢,那确实是有,但多少就是个问题了。

但这类人的最大问题就是跟着别人去做。加很多群,今天这个群说这个币明天就涨死,明天那个群又说这个币要跌死了快卖。最终只是浪费了很多时间但又没赚到多少。偶尔大赚一笔也是跟着踩了狗屎运一下子进账一大笔,但这一大笔很快又变成了下一次亏本的本金。

欠缺自己的思考能力是很可怕的。

游戏里这种人就是那些无脑跟着别人去做的人——

大佬说这个装备必须要有,那我也跟着去打;

大佬说必须要点这个天赋,再难我也要学;

大佬说这样做可以赚一笔,但大家都跟着做;

大佬说这个角色过本有用,课金立即走起;

大佬说……

说你🐴。

这类大佬有时会是一些更高级的商人——称之为大地精,在操纵游戏内的市场。但这里先不提到这些不是在玩游戏的人。

这类玩家很神奇地只在意过程,也就是完全跟着别人去做的过程,而不在意结果。

他们在意的点比起游戏本身,倒不如说是教程/攻略写得够不够详细。

不过很有趣的一个地方是,国内的游戏运营都喜欢弄一个「官方论坛」,但无论是国内还是国外,这类官方论坛通常起不了多大作用,反倒是第三方个人或媒体做的论坛比较能产出精品帖子。这或许与运营的问题有关,在游戏反外挂的方面也能体现。

3. 十连抽

十连抽谁不爱呢?

这种利用了人类最喜欢的投机心理,让我想起了很早以前的一种古老游戏,在我小学的时候,门口会有一些老头在摆摊,大概就是一种弹球游戏,2 块一次,几乎要么是保底要么是赚回 2 块,赚到 20 的机会是很少的。至于这种东西的秘密我想应该所有人都知道。

其实十连抽也是这样的原理。

需要注意的是,十连抽的本质并不是便宜的 5% 的 10 次单抽,而是花 9 倍单抽的价钱去拼那个机率里的保底。

举个例子:

事实上一个角色强不是因为他的稀有度,或是星星多不多,而是在于他的技能之类的东西。现在多数游戏都做成 1 星狗粮都能升级到 6 星来收藏立绘,但这就只是个养成的部分。

商店里,假定友情点能抽到 1、2、3 星,单抽可能抽到 3、4、5、6 星。单抽出奇迹这种事……相信很少有人会去做,更多的是运营送单抽券的时候才会去点,更多的时候是高级狗粮,也就是 3 星。10 连的话则是必定保底 1 个 5 星。

这种时候就纯粹只是花大价钱去拼那个 5 或 6 星,在10连抽中,出来的 3、4 星都只是附赠品。

这类……不缺钱的玩家要怎么去说呢,事实上我觉得能分为两种人。一种是喜欢收藏的人,另一种人像本文提到的第一类人。


4. 所以呢?

从三类人的心态都不难看出,只要是为了自己在意的东西,玩家可以做很多事。无论是连续 100 天登录、还是什么要课金的点,只要不超出玩家预期,就都可以设计出来。

最重要的大前提是:会否有玩家在意这些「点」。

5. OFFENSIVE WORD

合适的「点」设计能显著提高玩家粘着度。

不过很可惜的是直至目前,我能看到的「策划」行为都是把「做游戏」和「玩游戏」分开。

这类人最喜欢挂在嘴上的一句话就是「做游戏和玩游戏是不同的」,或许从根本上这些人就搞错了「玩游戏」以及「玩家」的定义,也可能是为了体现优越感。

昨天在微博见到一个所谓的游戏开发日志,这个作者说做游戏前看这书看那书。

有句原话,是:「 我不认为我玩了二十年游戏做游戏就很厉害,玩游戏和做游戏是俩码事,就像你听了那么多年歌也不能写出好的音乐,顶多只是鉴赏能力比一般人好点。

首先这个事实和这个例子就是两码事。

在我看来玩了 20 年游戏只能做出把 Super Mario World 和 IWBTG 的特色合在一起的抄袭作,没点思考能力,用他自己的那句话来形容他的确没错。

我猜这类人做厨师的话,香蕉炒榴梿他都做得出来。

Path of Borealis , a remix of “Triage at Dawn”(Half-Life 2 OST) by DJ Dain

我建议在阅读本文时播放此音乐。

截止目前(10/10/2019 11AM),世间再无 MMORPG 。

事情要从……从哪里呢,这个蝴蝶效应拉得太长了。

要从一位陈姓的人说起。

他是一个渣男,在台湾亲手干掉了自己的女友,就因为他被绿了。

自此引发一系列风波,过程我就不说了,愿意去了解的人会了解,不愿意了解的人嘴上除了港独暴徒这四个字之外什么也说不出来


暴雪取消了 BlitzChung 参赛者资格及奖金(HeartStone),就因为他在接受采访时带着口罩,讲出了「光复香港,时代革命」。

或许暴雪早已忘记了那句「Your voice matters.」

然后这个星球上的游戏世界就变了天。

围绕着这件事来说,最先发生的事是「Gods Unchained」这个游戏表示,来玩的话就把暴雪取消掉的那部分奖金给你,要不要来呀~

我当然是立即下了这款游戏了,可惜当晚应该是服务器满载,连注册都做不到。

之后是 BlitzChung 在他自己的直播间收到了好多课金,数额之大已经超过了暴雪的奖金。

然后在 Twitter 上出现话题 #Blizzardboycott 和 #BoycottBlizzard,内容是什么已经很明显了,杯葛暴雪。

然后是 Reddit 上, r/Blizzard 出现了大量取消订阅 WoW ,并卸载战网的用户。

取消订阅,也就是把自动续费的月卡取消了。

在这之后, r/Blizzard 板块被隐藏了。在 Reddit 上只有当前板块的 Mod(erator) 可以隐藏板块。基于其它 Mod 的声明来看,这个 Mod 先是隐藏了板块,然后自删了帐号。

我不想说明个中关系了,有点脑子的一看就明白会是什么人做的,谁会在意这些言论?


我要说的是,世间从此之后,或再无 MMORPG 。

剑侠风的不讨论,比起说 RPG 那更像是暖暖。

我记得,之前面试的时候,有些废物公司,把一款游戏的上线时间当作其所认知的时间,而非该游戏在某个时间点仍然存活的时间。

也就是说,那些运营了十多年的游戏,并且至今仍然算是多人的游戏,在他眼中就是屎,而那些刚刚上线运营的游戏,才是好游戏。

其实对于 MMORPG 的界定已经很模糊了,事实上只要有提供独立服务器而非使用 P2P 连线来进行联机的任何游戏都可以硬掰成 MMO ,而 RPG……在现在这个年代任何元素都已经能硬说是「Role-Play」了。

MMORPG 发展了这么多年,当中有从很早的时候就坚持到现在的游戏,也有中途崛起的后起之秀,但可惜游戏的后续内容跟不上,夭折。现在再去搜以前所听过,或是玩过的 MMORPG ,几乎都没有了大陆服。取而代之的或是港澳台服、又或是东南亚服、欧美服。

MMORPG 的风云早已不再,当初大家都认证的 「暴雪出品,必属精品」,但这么多年过去了,暴雪也已坚持不住 RPG 的心,更不用说其它的厂家。

现在的 RPG 逐渐变成了 RogueLike ,再加上 MMO 这一前缀,就如鸩一般逐渐蚕食玩家对游戏的热情。

回到 WoW 上,有私服的游戏不少,但很少有私服是开旧版本的, WoW 是其中一个,而这个旧版本的私服最终也变成了官服,我想这足以说明玩家的热情。不少当年还在大学的玩家,现已结婚生子。当年正属而立、不惑之年的玩家们,也抱起了孙子,但仍不阻他们回到这个游戏里,和自己的儿子或是孙子一起玩。

美国的网游通常并非像国内的代理一样单纯采取点卡时间制,而是每一个新的大版本都需要购买,此外还需购买游戏时间。因此游戏在新版本推出时,通常会有些类似「Deluxe Edition」的东西,就是除了解锁大版本之外,还有一些周边。包括收藏光碟等。

我在 Reddit 上看到了这篇帖子,内容和标题我不多作解释,请看看吧。

我认为,对于一个玩家来说,心中必然有一个游戏,或是一个系列,支撑着他前行。无论经历了什么,现实压力有多大,在这游戏世界当中都可烟消云散,网游更甚。

就像那些从大学玩到结婚生子,又或是从中年玩到抱孙子,这十多年的经历,夸张一点,可以说是另一段人生。

而现在这个情况,我不认为会再有厂商开发新的 MMORPG 了,至少在等级制(关联阅读)还深入人心时,不会再有了。


当信仰崩塌,人生便已失去意义。

经此一役,世间再无 MMORPG 。

我在写文章之前都会有一些引子,通常是在看一些视频的时候灵光一闪。就像今天这篇文章一样。

我之前写过一篇文章,叫做 Preparation 。讲述了一些准备过程的意义。

平时我很喜欢看一些料理视频,于是今天乱看的时候看到了台湾一个年菜的介绍视频。台湾的习俗,或者该说习惯,与整个华人圈都有些许差别。比方说在过年前会有一些年菜 set ,在网上或是便利店可以买到,在除夕夜就是只做加热的动作。

像台湾中秋烤肉,日本新年吃炸鸡,说实话很多习惯都是不同的,但其核心仍是「团聚」。

而我的思维很快就跳到了游戏里,关键词是准备过程

简单地举一个例子: MMORPG 里打副本,过程中需要一些补给。在一些以更早通过团本为目标的人群里,他们是有专人来负责补给事宜的;而在另一些人群里,可能是大家一起负责补给完,再进副本。

对于「进入副本的人」来说,就出现了两种「习俗」。一种是上线即打,一种是上线做一做其它事再打。但这结局都是一样的,也就是通过副本。

这算是一种「殊途同归」的现象。

往后引申,就引出了一个深层一点的现象。

以现在的手游为例,策划想要玩家做的是,上线就领奖励,然后就推图,推不过就课金,体力没了就下线。

而这些几乎都做在了一个小小的 UI 里。像是日常奖励、周常奖励、签到奖励、活动奖励, blablabla 全部塞在了一个简单的 UI 按钮里。过程是几秒钟的点击,但结局是一样的,玩家拿到了奖励,开始在关卡里消耗体力。

以我自己的体验为例,对于这类游戏,其实是没有什么体验可言的。

我的游玩过程基本上就是拿完不知道干什么用的奖励,打几个关卡,然后就会开始感到无聊,因为关卡与关卡之间并没有多少变化之处,不外乎就是用着剧情送的角色推图看动画,没有机制的创新,过不了几天我就会懒得打开这个游戏。

除了签到多数送的是我不知道用来干什么的东西之外,每个关卡通过之后只给出一个大大的「继续下一关」也是令人讨厌的点。

之前有玩过一个用 PC 端 IP (我仍然讨厌这个词)出在手机上的游戏,叫「封印者 M」。运营应该是台湾那边。或许因为不是国产游戏的缘故,在这游戏里我见到了一个小场景,这个小场景是可以让角色自由移动的,而这个场景里也有 NPC ,是可以交互的那种功能性 NPC ,并且这些功能不能经由 UI 上的按钮来访问。

因此我在想,这些各类的奖励、活动,或许都可以借由类似的方法实现。每日奖励什么的,干脆弄一个叫做补给官的 NPC ,而那些为了骗玩家每天上线的连续奖励,也根本不需要。倒不如定期在补给官里可以领取。

很多功能都可以这么做,为何要执着于处理 UI 的逻辑呢?

我们说回年菜吧。

我其实很喜欢自己做一桌年菜的,从前一天就开始忙,直到除夕夜晚上。

我不喜欢直接买来年菜加热,那样更像是为团聚而团聚。

我在玩一些游戏的时候,虽然明知道前面的一段是教程,比方说对于附近数个街道,或是村庄之类的,让你拜访不同的人,这很明显就是教学,告诉你什么 NPC 在哪里,但我真的记不住。

对于有明显标志的,比方说门口有着一些与附近场景明显不同的摆设,这是个什么店,那我当然能分得出来。

我发现现在的游戏开始不按区域风格来摆放建筑。

使得玩家没有去探索游戏世界的欲望,在世界里的所有行为都是有针对性的,比如说恢复道具不够了,那就开地图定导航点,再去买。很少会在一般道路上走,有些游戏提供一些便利系统,让玩家有限度地在一定范围里探索,但多数地方在一个游戏的主线完结之后,或许玩家都没有去过。

要去解释这种现象的话,这种场景可能留待后期的 DLC 更新,添加一些剧情让玩家探索,也可能放置一些收集品,让玩家「为了拿成就」去「探索」。


好了,现在的问题是,如何让玩家「主动地」去找这些场景并挖掘剧情呢?

我所想的是,比方说在某个地方,我们能找到一个物品,能听到一段录音或者是文字,内容或许是一个人的自言自语之类的,而这当中含有下一个物品的位置提示,当玩家有兴趣时,听完这个录音,发现打开地图后并没有下一个物品的位置,再分析录音,才会去附近找。

TO BE CONTINUE

这篇文章用于标记。

这篇文章之前的文章是之前使用 WordPress 搭建博客时写的。

近期我将会把以前文章里的一些图片和音乐修改成外链,此外一些格式也会重新编排,但内容不会有变更。

本博客早前(19年8月12日)搬运到了 Github Pages ,详情可以看这里

目前使用 Hexo 框架 + Next 主题,一些设定还在修改中,在修改完成前应该不会发布新的文章。


19年9月4日,排版终于全部修改完成。

给自己小小地鼓掌一下~

所有从 WordPress 搬过来产生的任何文章排版问题,都终于解决了。

图片和媒体的链接也成功修正了。

此外,从 8 月 31 日到 9 月 4 日之间,在修正排版问题时,对一些需要注释的地方都以引用文字的方式添加了一些说明。

从现在开始就是致力于博客的一些 layout 修改了。


19年9月14,不知道哪里出了问题,文章链接的格式出了问题。

比如说,这篇文章的链接是:

https://www.ceplavia.com/2019/08/12/注意/

然后链接在生成时会变成

https://www.ceplavia.com/2019/08/12/2_注意/

如果仔细看的话,多出来的前缀是日期的最后一位加上一个下划线。每篇文章都是这样!而我不知道哪里出了错。

虽说不影响访问,但我这强迫症真是要死了。

在跟着别人的教程加上所谓的license,做到最后一步才发现那个弱智教程太老,是错的。然后发现 next 主题里早就自带了这个设置。

然后在hexo g 的时候我就发现这链接怎么变这样。

我真想诅咒每一个乱写教程的人连地狱都下不去。

「回退式」并不是指将一些已发布的更新收回,退回到老版本。我也不知道这个或其含义有没有被别人所定义过,不过在这里我定义成:

在网游中,对非当前版本的游戏内容当中除 Bug 内容之外的部分进行更新,且该部分内容与当前或之后版本没有关系。

上面的网游包括单机可联机游玩的游戏。


例如说在一个场景当中,有一个楼梯,这个楼梯的大部分都可以直接行走的方式走上,但唯独有一个梯级会卡住,需要玩家跳一下,将这个楼梯进行修改的行为;

同理,几乎也是我写出这篇文章灵感的来源:

Minecraft是个很神奇的游戏,每个版本都几乎在重构底层代码,使得第三方的 Mod API 每个版本都有大修改,从而新版本的 Mod API 都出得相对慢。

在迈入…… Mod 爆发的年代之后,有几个版本在运行 Mod Server 时是相对稳定的,也就是 1.7.10 、 1.10.2 、 1.12.2 ,这几个版本也是相对 Mod 较多的。

1.7.10 这个版本有个小问题,输入中文需要额外对客户端本体进行 Patch , 但这个问题在 1.8 就被修复。

那么我觉得可以对这个版本进行一个小更新(底层代码不要变更),目的就是让玩家在玩的时候更舒服。

很多游戏的早期版本也有许多问题,但不少游戏对此的改良方式就是,记录下来,在下个版本进行修改。包括一些地形的不合理,玩法的不合理,等等等等诸如此类。像是在 FFXIV里也是,2.0 这个版本几乎是大家都觉得剧情拖沓,官方(指国服运营商,但我觉得官服也有)就提供了跳过 2.0 剧情的一个道具。

但除了剧情拖沓之外,许多机制也有不合理的地方。

到了 3.0 的剧情部分就修掉了。

但却没有对之前的版本进行修正。即使是不涉及剧情的部分。比方说一些道具放置的位置不合理,这就很需要「回退式更新」了。