魔兽争霸3技术分析资源汇总
策划设计
讲的是第一代,也很有参考价值。
- 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
魔兽争霸3技术分析资源汇总相关推荐
- [转载]魔兽争霸3技术分析资源汇总 我们不生产魔兽,我们只是魔兽的搬运工
转载自:http://jjyy.guru/war3-tech 策划设计 讲的是第一代,也很有参考价值. The Making of Warcraft Part 1 The Making of Warc ...
- 网络安全与黑客技术学习资源汇总---2020.08更新
网络安全与黑客攻防学习资源汇总,截至 2020.08.15 可正常访问 (目前不可访问的网站未列出). 文章目录 漏洞测试学习平台 安全资讯平台 安全行业协会/组织 POC(验证性测试)提交 学习 黑 ...
- AI技术必备资源汇总
https://www.toutiao.com/a6657112330930749964/ 2019-02-12 21:55:48 AI技术发展飞快,AI技术人员需要从多渠道了解权威的新技术和资源,才 ...
- 整理 | 编程技术学习资源汇总
一.编程语言 1. JavaWeb开发 1.1 JavaSE Java学习 1.2 JavaEE 2. Android开发 3. Python开发 4. 前端开发 4.1 资料 前端导航 W3C sc ...
- 技术网址资源汇总(更新中。。。)
网址汇总: 1.51CT0博客____网址:http://ticktick.blog.51cto.com/ 2.开源中国社区___网址:http://www.oschina.net/p/ortp 3. ...
- 交互设计、信息图、信息可视化、数据可视化技术资源汇总——设计师的领域,设计师说了算
本文整理了设计师常逛的网站,这些资料信息网站包括交互设计.信息图.信息可视化,在线制图.数据可视化,本文大致的内容包括: <灵感--可以参看如下网站来寻找灵感网站汇总>. <信息图工 ...
- 赛灵思中文版技术文档资源汇总(持续更新)
2022年8月21日更新: AI 引擎内核编码 最佳实践指南 (UG1079) v2022.1 Versal ACAP AI 引擎编程环境 用户指南 (UG1076) v2022.1 Vitis AI ...
- iOS学习资源汇总(开源项目、第三方库、技术博客等等)
iOS学习资源汇总(开源项目.第三方库.技术博客等等) 字数3919 阅读10309 评论29 喜欢297 前言 Github众所周知,全球最大的同性社区交友网站,在这里你可以获取任何你想要的,只要你 ...
- 原创推荐!B站最强学习资源汇总(数据科学,机器学习,Python)
经过这几个月的居家隔离,想必大多数同学都开始习惯通过线上的方式开展学习了,在线教育领域也因此迎来了一波爆发,竞争异常激烈,既有知名平台如MOOC.学堂在线.网易云课堂等,也有不少初创新星.但要说最受年 ...
- 原创 | 吐血推荐,B站最强学习资源汇总(数据科学,机器学习,python)
经过这几个月的居家隔离,想必大多数同学都开始习惯通过线上的方式开展学习了,在线教育领域也因此迎来了一波爆发,竞争异常激烈,既有知名平台如MOOC.学堂在线.网易云课堂等,也有不少初创新星.但要说最受年 ...
最新文章
- android模拟器的数据存放,Android模拟器在哪里存储SQLite数据库?
- C++泛型编程实现二叉搜索树BST
- MySQL查看表占用空间大小(转)
- 量子计算会带来什么样的革命?
- el 能否定义作用域变量_EL表达式语法简介及其使用
- 关于wps公式编辑器的大括号里面空白很大
- docker安装,下载docker镜像
- Java jdk7升级到jdk8
- dubbo源码解析-服务暴露原理
- 松下新一代电力线通信(PLC)技术经IEEE P1901.3工作小组批准成为基准规范
- 这是一封摘抄的情书有点长你读不完也没关系
- 谷歌中国团队遭哄抢 部分员工私下接洽新公司
- 英特尔400系列服务器芯片组,驱动支持列表再立功 Intel 400系列芯片组曝光
- java中choice用法,批处理中choice用法
- 读遍装修书,我们帮你选出了最有用的10本
- QGIS加载在线地图:高德、天地图等
- 一个博士在华为的22年!
- 十大经典排序算法(图解与代码)——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序(Python and Java)
- 2021年7月火影几点服务器维护完,火影忍者手游2021年5月27日更新公告
- CKEditor编辑器的用法