260 likes | 396 Views
星际争霸浅赏析. 叶 樉 TosSense@ZjuSa. Outline. 简介 电子竞技 SC in Zju SC in Korea 浅谈技术 游戏理念 OOP in SC. 简介. 1998 – 音乐、语音、剧情动画 RTS(Real-time Strategy) 3 个种族、 6 种对抗 Battle.net UC Berkeley 课程. 电子竞技. 1v1 反应 力、判断力、统筹能力、性格 兵法 国情 老一辈对游戏的观念(电子海洛因?) 与网游区别 2003 年,第 99 个体育项目. SC in Zju.
E N D
星际争霸浅赏析 叶樉 TosSense@ZjuSa
Outline • 简介 • 电子竞技 • SC in Zju • SC in Korea • 浅谈技术 • 游戏理念 • OOP in SC
简介 • 1998 – • 音乐、语音、剧情动画 • RTS(Real-time Strategy) • 3个种族、6种对抗 • Battle.net • UC Berkeley课程
电子竞技 • 1v1 • 反应力、判断力、统筹能力、性格 • 兵法 • 国情 • 老一辈对游戏的观念(电子海洛因?) • 与网游区别 • 2003年,第99个体育项目
SC in Zju • ZjuSa(Zhejiang University Starcraft Association) • 杰出成员 • 66(前国家队队长,WCG多次中国出线,现为NeoTV星际项目解说) • Space(WCG2005中国黑马,世界殿军) • Pipilu(中国业余最强者,“宇宙第一P”) • Freeagain(电子竞技解说届名嘴) • ……
SC in Zju • 星际 + 高校 -> 浙大 • 53BN • 10.214.37.53 • FAT@ZjuCS
SC in Korea • “国游” • 职业化 • 战队联赛 • 个人联赛 2005 SkyProLeague Final
SC in Korea (Pro Gamers) • Boxer • Nada • ILoveOov • IpxZerg • Bisu
SC in Korea (战术体系发展) • T > Z > P > T • > : 微弱且微妙的优势 • 战术体系更新容易在弱势对抗中体现 • TvP:Skt1;ws神教;…… • ZvT:拖把流;速飞龙;…… • PvZ:宇宙天空流;bisu流;…… • 螺旋式上升
暴雪的技术 • 256色 • 调色板 • 90MB • Razor1911
暴雪的技术(运行机制) • 猜测 • 星际争霸的部分文件功能浅析@88 StarCraft • install.exe • starcraft.exe • storm.dll • MPQ格式文件
暴雪的技术(运行机制) • install.exe • 游戏的大脑 • 核心主程序 • 判断子程序 • 以优化过的算法进行单位的扫描、位置和距离判断、攻击目标判断、触发模拟图片的判断等 • 外部调用函数 • 精简后22.8M
暴雪的技术(运行机制) • starcraft.exe • 用于启动游戏界面的可执行文件 • 包含有星际的版本信息、新的框图界面以及bug等的修改信息 • 与patch_rt.mpq合作来初始化install.exe的原始参数
暴雪的技术(运行机制) • storm.dll • 源代码 http://www.zezula.net/ • MPQ 文件读取函数 • Battle.net 函数 • 是install.exe访问MPQ文件,网络设置SNP文件的桥梁
暴雪的技术(运行机制) • MPQ文件(Mike O'Brien PaCK) • 压缩打包 • Mike O'Brien • Diablo、WarCraft2、StarCraft、DiabloII、WarCraft3… • 界面(.pcx)、声音(.wav)、头像动画(.smk)、单位的图片(.grp)、数据库(.dat)、地图瓷砖(.vf4)、字体、调色板等等 • Google “MPQ” for more…
暴雪的游戏理念 • 树立旗帜(潜标准) • 求是 • 跳票 • 创新 • Dune、Red Alert….
暴雪的游戏理念(创新) • 操作方式 • 左键:选取单位/ 确定指令 / 确定目标 • 右键:快捷键(Move/Attack/…) • 键盘 • 快捷键:AttackMove、Hold、Patrol • 辅助:ctrl、f2f3f4、shift -> clone • 地形因素 • miss -> 随机数 • Replay
暴雪的游戏理念(创新) • 种族各自鲜明的特色 • 建造方式 • 生命表现形式 • T附属建筑,P合体、子单位,Z变形 • 其他N多小细节 • 点击单位后声音 • 树下miss • …
OOP in SC • 封装 • 数据 • 操作
OOP in SC • 继承 • 单位unit( m_life, …) • 兵种army( move(), attack(), …) • 陆地兵种ground_army( move()的具体实现即路径搜索) • 机枪兵marine(兴奋剂, …)
OOP in SC • 多态 • 编队指令 ( container<army*> ) • virtual move() • virtual attack()
OOP in SC • 构造函数(造出) • 常规赋值 • 出生语音
OOP in SC • 静态成员变量 • 攻击力、防御力 • 最大生命、最大魔法 • 视野 • 攻击类型 • …
OOP in SC • 设计模式 • Google “用星际学习PHP设计模式”
最后 • 艺术品 • 哲学、人生 • 期待开源
Thank You cc98 : http://www.cc98.org/list.asp?boardid=200 88 : StarCraft版