2023-11-11
class="text-tertiary-text not-prose mt-2 flex flex-row flex-wrap items-center"
>
前言:从我以前的工作中,由于种种原因,我在游戏市场工作了大约四年。今天,我想从我的角度来谈谈游戏市场的后端开发相关技术,供那些想在这个领域工作的人参考,尤其是后端开发从业者。
因为我从事的方向都是后端开发,所以这里只讨论游戏开发的后端技术。
因为我从事的方向都是后端开发,所以这里只讨论游戏开发的后端技术。
游戏本质上是一个内容行业,所以游戏开发中相当大一部分的工作职责是不断升级新内容,为玩家交易。包括但不限于:新英雄、技能、玩法等。
程序猿构建了玩法的架构和逻辑,并空出了读取玩法数据的界面。
游戏数据由负责游戏计划的表格完成。
这实际上是一种非常简单的“表推动”编程方法。
玩家的数据包括账户、角色、帮会、金钱等数据。
与玩法相关的策划配表数据。例如,场景的坐标位置、NPC的坐标位置、任务等。
策划给出了新的玩法要求。
C等开发应用 这种编译语言编号完成了游戏玩法。
编译新的变更代码:包括编译、变更编译失败时的错误等。
终止服务器,重启服务器来检验游戏的逻辑。
可以看出,无论外部因素如何,每次更改认证代码时都需要停止和重新启动服务器的过程,重新启动时必须加载一堆数据才能实现复位,严重危害开发效率。
换句话说,“编译”语言不适用于游戏开发中需要频繁更改编号的游戏逻辑。

模块层:这部分由C组成 编号完成了网络数据接收、数据库访问等游戏开发中与实际逻辑关系不大、变化不大的部分。
脚本层:这部分是Python、完成Lua开发语言的关键是各种玩法。
规划给出了新的玩法要求。
Pythonnn等开发应用、Lua的脚本语言编号完成了游戏玩法。
热更新脚本代码,调整游戏玩法。
可以看出,由于“热更新”的应用,停止服务、重启和数据输入的过程被消除,开发效率一下子提高了很多。
更重要的是,“热更新”还有另一个优势:如果在线有问题,就不可能停止维修,热更新可以升级新代码的特性,而无需重新启动。
只有少数人能维护模块层,规定稳定高效。
绝大多数人在脚本层用开发语言写各种玩法逻辑,类似于web开发中的CRUD。
技术演进缓慢。十多年前的结构基本保持不变。
由于演变缓慢,对稳定性的要求很高,事实上,新手很难找到充分发挥模块层的机会,模块层代码一般不会让脚本层工作人员看到,这不能进入研发层,模块层绝大多数问题已经被祖先克服,现在,这部分技术“干”。
为了确认我的观点,我去年发现了腾讯游戏开发的精髓Ⅱ 》这本书,看看书中关于服务器的内容。本书共21章,只有三章与服务器有关:
部分Ⅴ 服务架构和技术
第15章 面对游戏的高能服务网格Tbusppmesh 304
15.1 Tbusppesh引言 304
15.2 Tbusppesh数据通信 305
15.3 Tbusppesh组网对策 309
15.4 Tbusppesh有状态服务 315
15.5 汇总 321
第16章 游戏配置系统设计 322
16.1 游戏配置系统概述 322
16.2 游戏配置介绍 322
16.3 游戏配置系统 323
16.4 配备设计和公布 324
16.5 配备Web管理系统 328
16.6 汇总 330
第17章 游戏灵巧操作系统技术操作系统 331
17.1 手机游戏操作概述 331
17.2 大数据计算服务系统Datamore 335
17.3 基础平台 343
17.4 汇总 360
并且,其中一章或部分操作系统、大数据知识,与“游戏开发”本身无关。原因是服务器用脚本写游戏逻辑,没什么好说的:)。原因是服务器用脚本写游戏逻辑,没什么好说的:)。
在这样一个演变缓慢、技术形成缓慢的领域,大多数新手都挤进了写作逻辑的脚本层面。这是游戏领域新手需要考虑的问题:一旦进入脚本层开发,技术积累就会非常缓慢,也会非常累,加班。这仍然是由游戏产业的特点引起的:游戏本质上是一个内容产业,而“内容”属于开发分工,主要由脚本层的研发完成。
游戏本质上是一个内容行业,游戏开发大部分时间都是为玩家制作“内容”进行交易。
由于制作游戏类型的过程复杂,在启动游戏服务器时必须输入大量数据,编译语言不适合编写游戏逻辑。
因此,编译语言写作模块形成 脚本语言写作游戏逻辑架构。
但这种架构已经延伸了很多年,服务器后端技术行业技术演进缓慢,干固严重。
在干固严重的行业领域,新手找不到机会。这一结论不仅适用于游戏产业的发展。
Lua是一种起源于巴西的开发语言。我以前对Lua进行过深入分析 5.1.4版本编码,阅读其解释的文档(Lua source internal),出版物《Lua设计与实现》后来出版。在创作这本书的时候,我研究了一些Lua的发展历史。可以说,Lua在游戏市场的逐渐兴起源于上述脚本 模块架构系统可以提高游戏开发者的开发效率。这个知识点参考thee evolution of an extension language: a history of Lua:
It turned out that Bret Mogilefsky was the lead programmer on Grim Fandango, the main adventure game LucasArts released in 1997. In another message he told us that “A TREMENDOUS amount of this game is written in Lua” (his emphasis). This first use of Lua in a game attracted the attention of many game developers around the world to the language. Soon after, Lua started to appear frequently in game newsgroups, such as and .
游戏一直是一个有很大异议的领域:屠杀、利用人的黑暗面、未成年人的迷恋等。
在工作的时候,我也会担心各种各样的问题。
在工作的时候,我也会担心各种各样的问题。
之后,我找到了一个理由来表达自己:由于人们的身体受到时间范围的限制,我们需要游戏来帮助我们扩大生活体验的范围。
例如,如果没有这个游戏,我就无法体验到任教和管理一支球队的感觉。
庄子里有一个关于“庄周梦蝶”的故事,大意是庄子一天做梦,梦见自己变成了一只彩蝶。醒来后,他发现自己或庄子,所以他不知道是变成庄子的蝴蝶,还是梦里变成蝴蝶的庄子。庄子觉得人们无法准确区分“真实”和“虚幻”。在一定程度上,游戏在数字中构建了“虚幻”,给了我们不同时空中的“真实”感觉。
从这个角度来看,游戏的内容和书籍、影视剧没有太大区别:媒体不同,但都拓展了感情的范畴。
正因为如此,每个人都“内容消费行业”,所以游戏的竞争对手,除了游戏领域,以及各种可以交易时间的商品:视频、书籍、电视等。
人口增长放缓后,可以用来交易的总时间放缓了。此外,前面提到的交易时间越来越多,游戏也越来越多而且这个行业很难(自然人很难)。
太累了:每周都有版本升级(注意是每周)。到了版本升级的日子,整个团队都要等到版本发布。通常是晚上10点以后,出租车回家只能洗睡。第二天要早点下去,赶版本升级后,还没有外向前验证工作,如果有问题要立即在网上修复。此外,其他时候存在严重的线上问题,需要立即升级修复(热更新质再次拯救游戏开发商)。算下来,每周五个工作日,至少有两天是在快节奏下工作的。这种工作节奏对老年人太不友好了。
学不到什么技术:就是我上面提到的技术干固、演变慢等因素。每天用脚本写各种玩法,积累不了自己的技术要求。我一直很小心“被平台和工作制度化”的事情。见我之前的专刊:专刊(第二期):从笔记软件到系统化 - codedump网络日志。
游戏应该模拟虚拟世界的各种场景,包括但不限于:社交网络、战斗、玩家可见性(例如,购买设备,什么样的玩家可以看到,涉及广播类别等问题)。总之,游戏开发有时是游戏中造世主的普遍存在。
游戏服务终端克服了哪些问题? - fingerpass - 博客园
游戏服务端架构发展史(上) - Skywind Inside
游戏服务端架构发展史(中) - Skywind Inside

上两部曲没有下一部,作者已经鸽子了。
开发游戏(模块)。
在这些方面,他既有理论技术文章输出,也有开源项目。最著名的开源项目应该是KCP - A Fast and Reliable ARQ Protocol。(我曾经写过一篇关于KCP分析的文章,不是很好,也不是很满意。见:KCP 1.4源码分析 - codedump网络日志)
知乎:https://www.zhihu.com/people/skywind3000000000000
github:https://github.com/skywind3000000000000
博客:http://www.skywind.me/blog/
推文:https://twitter.com/skywind3000000000000
因为他以前也是游戏行业的从业者,所以对游戏领域也有自己的看法,见:你为什么要离开游戏市场? - Skywind Inside,都是难得一见的好文章。 - Skywind Inside,都是难得一见的好文章。另外,他在知乎上有很多有趣的答案。
香港TVB电视台在mainlandChina拍摄了一部关于国内扶贫的纪录片。我觉得这类电影是国内媒体拍的,和香港媒体拍的不一样。香港媒体的角度更像是第三方的角度。在拍摄过程中,有时主持人会转向自己用杆子的角度拍摄,并有一些亲切的感觉,不会那么高。
“无穷之路”这个名字也挺好的:“穷”不仅代表了摆脱贫困,也意味着香港媒体有很多国内素材可以拍照记录。
这里给我印象最深的是第一集的“悬崖村”。没想到,最近有人住在这样一个危险的地方。
B站有无限的视频集合之路-纪实片集合-超清独家在线播放-bilibili-如果你能听懂粤语,你也可以选择正版听粤语。

如何阅读源码?(2020年版) - codedump网络日志
How to Read Code(En Version) - codedump网络日志
我认为这个工具对技术文章的翻译表现非常好。 Mac、Win桌面版可以免费下载,也有网页版,但是免费版每次翻译都有字数限制,文章长了需要多折腾几次。