魔兽争霸3技术分析资源汇总

来源:互联网 发布:宁知此为归骨所耶翻译 编辑:程序博客网 时间:2024/04/27 04:08

策划设计

讲的是第一代,也很有参考价值。

  • The Making of Warcraft Part 1
  • The Making of Warcraft Part 2
  • The Making of Warcraft Part 3

中文版:

  • Patrick Wyatt:魔兽争霸的制作过程 1
  • Patrick Wyatt:魔兽争霸的制作过程 2
  • Patrick Wyatt:魔兽争霸的制作过程 3

  • 前暴雪VP Patrick Wyatt复盘:谈[魔兽争霸]的局域网游戏设计

资源打包技术

MPQ是暴雪公司用于游戏数据打包的工具,能够把资源放在一个包里,然后对其进行压缩和加密。网上已经有很多的详解:

  • MPQ Wiki MPQ介绍
  • MPQ Archives MPQ格式手册
  • 游戏资源的压缩、打包与补丁更新 网易的打包系统设计
  • MPQ Storm 暴雪MPQ库的开源实现
  • MPQ Storm库 源码分析 图文并茂的源码分析

网络同步

Warcraft 3使用的是lock-step技术,就是多个玩家的计算结果必须一样的,谁落后了就要大家等他同步上来。

lock-step的特点,这里有个回答讲得很清楚。lock-step是不关心游戏逻辑的,只关心用户输入。核心思想就是如果大家每帧计算结果一样,那么只要保证大家的输入和初始条件一样,那么就能够完成同步。在手游中经常用伪随机数做同步,比如《捕鱼达人》。lock-step最麻烦的事情是容易产生蝴蝶效应,中间某个步骤计算结果不一样,那么后面很容易放大,得到完全不同的结果。lock-step中,延迟的处理主要通过时间戳。

网络同步常见的技术还有状态同步,这种技术在MMORPG中很常见。具体来讲就是同步与玩家同一个区域的所有角色,这些角色身上的所有状态都有自己同步的逻辑。比如角色行走,那么就会广播到同一个区域的玩家上,那么大家都会播放行走的动画。而行走还有另一个结果,那就是发生位移,为了不影响玩家的手感,玩家的机器先执行,等服务器验证后再拉到“正确”的位置。由于网络存在延迟,位移的同步都要做位置预测,常见的位置同步算法是Dead Reckoning - 航位推测法,充分考虑了延迟的情况。

更多的网络同步知识可以看这篇《每个程序员都该知道的网络同步知识》

  • 《魔兽争霸III》是如何实现野怪同步的?
  • 《魔兽争霸》的录像,为什么长达半小时的录像大小只有几百 KB?
  • 游戏中的网络同步机制——Lockstep

编辑器

在Warcraft 3中还诞生了现在大火的Dota,这是因为随游戏附带的编辑器有强大的编辑功能。暴雪开发了多款战略游戏,才有对这种类型游戏的深刻理解。在我看来,最核心的机制为Event-Condition-Action这个逻辑。暴雪程序员为这套触发器开发了大量预定义功能。比如Dota里面的发兵:定义定时器Event,然后就触发创建某某Unit的Action。

  • War3 World Editor分析系列
  • 手把手开发Dota系列视频 at Youtube
  • How Dota AI Create
  • 星际争霸2编辑器的初接触

寻路&AI

  • 就随手一点,魔兽争霸里的英雄如何找到通往终点的路?
  • 即时战略游戏(比如 WAR3)的 AI 是怎样实现的?

外挂

  • 魔兽争霸3的MapHack制作教程(一)显示敌对单位
  • 魔兽争霸3的MapHack制作教程(二)去除战争迷雾
  • DotaCheater 开源的dota外挂,小地图上ping所有的不可见的英雄,神符和Roshan的刷新提示,还有满足斧王大招条件的英雄会变红。用DRx下的断点,没有代码区补丁。 by feisuzhu

地形

  • 魔兽争霸3的自动拼接地形渲染方式




原博:jjyy.guru/war3-tech
0 0
原创粉丝点击