
Multiplayer Game Programming
拳四郎
拳四郎
展开
-
快速多人游戏(1) - 介绍
原文地址简介这是一系列的关于快速多人游戏的技术和算法的文章的第一篇,如果你对于多人游戏背后的技术非常熟悉,那么你可以直接跳到下一篇 - 因为接下来的内容只是介绍性质的。每一种游戏的开发技术都有各自的难点,多人游戏则给游戏开发添加了一系列要处理的问题,有趣的是,其中最核心的问题是让人看上去自然和物理模拟。关于作弊的问题所有的一切的起源都是作弊。作为一个游戏开发者,你一般不会去担心有人在你的单人游戏中翻译 2016-05-27 00:19:49 · 4430 阅读 · 0 评论 -
快速多人游戏(2) - 客户端预测和服务器校验
在第一篇文章中,我们介绍了一种权威服务器的C-S模型,在这种模型中,客户端只将输入发送到服务器中,当收到来自服务器的游戏状态更新的时候再将结果渲染出来。单纯地依赖这种模型会导致玩家输入命令和画面更新之间的延迟感,比如,当玩家按下向右的按钮,然后玩家等了半秒钟才开始移动,因为首先客户端需要把输入传给服务器,然后服务器处理了出入之后计算出新的游戏状态,然后再将新的游戏状态传回给客户端。翻译 2016-05-29 15:50:24 · 6670 阅读 · 4 评论 -
快速多人游戏(3) - Entity插值
介绍在系列的第一篇文章中,我们介绍了一种权威服务器的思想还有他在防止玩家作弊方面的优势。但是直接使用这种技术会引起可玩性和响应性方面的问题。在第二篇文章中,我们提出了一种客户端预测的方法来处理。到现在为止我们提出了一套解决方案,能够让玩家在多人游戏中得到单人游戏般流畅的体验,即使是在接入权威服务器并且有一定网络延迟的情况下。在这篇文章中,我们将会处理当有别的玩家连入相同的服务器的问题。服务器时间步翻译 2016-05-29 23:35:45 · 5368 阅读 · 1 评论 -
快速多人游戏(4) - 爆头!(AKA延迟补偿)
从上一篇文章到现在已经过了很久很久了(整整两年!哦耶!),不过让我开心的是收到了很多email来问我下一篇什么时候更新,所以,这里就是更新了!这篇文章的主题可以称作对延迟敏感事件的时间一致性,但是叫做爆头好像更加炫酷 : )翻译 2016-05-31 00:28:13 · 4508 阅读 · 0 评论 -
快速多人游戏(5) - 示例代码和Demo
这是一个简单的C-S架构的实现,用来证明这一系列文章里的一些观点。如果你没有阅读过之前的文章的话,下面的内容对你并没有什么意义。代码是JavaScript写的,都包含在这个网页里,不超过400行,并且包含了很多的注释,这也证明了你如果理解了其中的概念,实现它是相对简单的。翻译 2016-06-02 22:05:25 · 3922 阅读 · 1 评论