(3/3) DOOM3 网络架构

(3/3) DOOM3 网络架构

本文是系列的第三篇:

DOOM3 技术点滴

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

DOOM3 网络架构

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

架构

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

C/S 架构图

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

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

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

(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

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

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