(3/3) DOOM3 网络架构

(3/3) DOOM3 网络架构

本文是系列的第三篇:

DOOM3 技术点滴

DOOM/Quake I/II/III 网络模型的演化

DOOM3 网络架构

本文绝大部分为较简短的记录,进一步的描述请参考原文。

架构

客户端把输入采样等玩家动作发给服务器,服务器回之以 PVS 内的压缩后的状态快照。

C/S 架构图

Doom3 做到了同样的玩家输入序列总是能产生同样的结果,因为以下两点得到了保证:

除玩家输入外整个系统的确定性 (system-wide deterministic)

不管渲染性能如何,整个游戏的逻辑状态总是以 60......

(2/3) DOOM/Quake I/II/III 网络模型的演化

(2/3) DOOM/Quake I/II/III 网络模型的演化

这一篇是上一篇DOOM3 技术点滴的自然延续,但内容上独立成篇,实际上描述了 id software 从 DOOM 1 开始的若干款 FPS 游戏在网络架构方面的演化。同样的,更多的细节可参考这里和 Quake III Arena 网络协议规范(非官方) (看起来在互联网上已经找不到链接了)。

本文是系列的第二篇:

DOOM3 技术点滴

DOOM/Quake I/II/III 网络模型的演化

DOOM3 网络架构

一般性说明

游戏网络架构通常体现在四个要素的平衡上:一致性,响应性,带宽......

Tags

游戏开发   随笔   Programming   C/C++   优化   Unity   C++   知乎   游戏设计   比特币   Unity3D   区块链   软件开发   引擎设计   系统架构   Production   idtech   中国文化   加密货币   项目管理   Bitcoin   游戏评论   资源管理   资源流水线   效率   道德经   网络   方法论   模板编程   Lua   Oculus   GDC   渲染   VR   PerfAssist   Unity MemoryProfiler   BCH   经济学   信息过载   行业报告   字体   Productivity   图形   网络编程   Dice   协程   EMC   Premake   测试   中间件   Game Engine   新手引导   Methodology   CI   命令行解析   goroutine   ndk   Ethereum   nanomsg   自动化   Scripting   摘录   Debugging   同步技术   cppcon   C++模板   DOOM3   技术评估   Unity GC   C++11   学习方法   Surface Pro 3   Engine Evaluation   CRT   文化   Blockchain   笔记   golang   图形编程   多线程   ETH   Blockchain Computing   Bitcoin Cash   cppcon14   Bitcoin SV   Visual Studio   Unity Coroutine   跨语言可变参数列表   团队协作   货币   Deployment   Visual Assist   工程改进   Michael Abrash   exp   开放世界   域名   虚拟现实   系统重构   slua   遮挡剔除   完美转发   协作式调度   Modern C++   类型推导   Memory Debugging   个人成长   小故事   BTC   暴雪   产品   历史   错误处理   Unity Profiler   MOD  

知识共享许可协议
本作品由Gu Lu创作,采用知识共享Attribution-NonCommercial-NoDerivatives 4.0 国际许可协议进行许可。