67

Maximize Your Production Effort (Chinese)

Embed Size (px)

DESCRIPTION

Efficient Content Authoring Tools and Pipeline for Inter-Studio Asset DevelopmentWith the complexity of today's video games and their associated tight timelines, it is paramount for video game studios to have a highly efficient content authoring process and production workflow. With a trend towards outsourced development of game assets, there are additional considerations that are important for achieving optimal workflow between studios that are co-developing or sharing assets. This lecture gives valuable insight into how to create new content authoring tools and data transformation pipelines that promote efficient work flow for both internal and remote production teams. Specific considerations for outsourcing and worldwide development are made along the way.

Citation preview

Page 1: Maximize Your Production Effort (Chinese)
Page 2: Maximize Your Production Effort (Chinese)

最大限度地提高您的制作能力

能够实现高效内容创作的工具和管道

针对工作室之间的资源开发

“扩充您的生产管道!”

Page 3: Maximize Your Production Effort (Chinese)

简介

• 我是谁?

• 什么是Slant Six Games工作室?

• 您是谁?

Page 4: Maximize Your Production Effort (Chinese)

• Slant Six Games工作室技术总监

• 14年视频游戏产业经验

• Slant Six Games工作室(05年至今):• 技术指导:BigBrain游戏引擎

• AAA级质量的跨平台引擎

• Xbox 360、PS3和Windows

• 全套内容创作工具

• 数据转换管道

• 自动构建、测试和发布环境

• 美国索尼计算机娱乐公司 (00年至05年):

• 开发:PS2低层次和图形引擎(《虹吸战士》)• 开发:PSP低层次和图形原型引擎(《虹吸战士》)

• Prior公司(96年至00年):

• 用于PS1、Dreamcast和Windows的图形引擎与工具

Paul Simon Martin

Page 5: Maximize Your Production Effort (Chinese)

• 成立于2005年• 产品:

• 名称待定 - PS3/Xbox 360/Windows平台,2010年• 《海豹突击队:烽火战歌3》 - PSP平台,2010年• 《海豹突击队:对峙》 - PS3平台,2008年和“冷锋”拓展包,2009年• 《海豹突击队:战术打击》 - PSP平台,2007年• 《虹吸战士:黑镜》 - PSP平台,2006年 - 渲染引擎

• 奖项:• BC商业杂志 - 工作在不列颠哥伦比亚省的BC十佳公司 - 2009年• ELAN奖 - 最佳新游戏公司 - 2008年• 《海豹突击队:战术打击》• ELAN提名 - 年度最佳掌机游戏 - 2008年• BAFTA提名 - 最佳策略类游戏 - 2009年• E3最佳PSP多人游戏体验 - 2007年

• 技术• AAA级多平台(电脑、微软Xbox 360、PS3)自主研发的游戏引擎

• 自主研发的渲染和动画引擎、管道和工具套件• 自住研发的PSP引擎和工具套件

Slant Six Games工作室

Page 6: Maximize Your Production Effort (Chinese)

• 自2007年开始外包美术内容

• 起初仅在本地...

• 随后转向中国

• 目前合作者有

• 2个以上的中国合作伙伴

• 1个加拿大合作伙伴

Slant Six Games工作室的外包服务

Page 7: Maximize Your Production Effort (Chinese)

您是...

Page 8: Maximize Your Production Effort (Chinese)

• 内容来源:• 任何未经优化且尚未通过数据转换的游戏资源文件

• 如*.ma、*.dds、*.tga、*.csv

• 游戏数据:• 随时可以被游戏加载的数据文件

• 通常针对平台进行优化

• 创作工具:• 用于创作资源内容的工具(通常基于个人电脑)• 例如Maya、Photoshop、CustomStudioTool

• 数据管道:• 工具和脚本套件,用于转换资源内容游戏代码

• 通常通过构建引擎驱动

术语表

Page 9: Maximize Your Production Effort (Chinese)

• 幻灯片• 在线内容

(将在本次演讲中讨论)

• 脱机内容(隐藏或掩盖)

• 建议• 非常适合我们的实践方法

(要做的事:xxx)

• 痛苦的教训(要避免的事:xxx)

标识表

Page 10: Maximize Your Production Effort (Chinese)

倒带...

Page 11: Maximize Your Production Effort (Chinese)

• 第1部分:程序员

创作的演化史大约在公元1980年

Page 12: Maximize Your Production Effort (Chinese)

• 第2部分:美术师

创作的演化史大约在公元1985年

Page 13: Maximize Your Production Effort (Chinese)

• 第3部分:某人雇用了一个游戏设计师

创作的演化史大约在公元1994年

Page 14: Maximize Your Production Effort (Chinese)

• 第3.5部分:美术师与设计师被打屁股 - 人气减弱

创作的演化史大约在公元1998年

Page 15: Maximize Your Production Effort (Chinese)

• 第4部分:我们大家不能平静相处吗?

创作的演化史大约在公元2000年

Page 16: Maximize Your Production Effort (Chinese)

• 工作室认可他们的美术师和设计师的价值

• 美术师和设计师:

• 构建游戏

• 程序员:

• 支持美术师和设计师

• 实现数据不能驱动的核心游戏操作

创作的演化史当今

Page 17: Maximize Your Production Effort (Chinese)

• Paul M,,大约在2003年

• “工具”- 创作、基础结构、管道、打包

• 当今的游戏必须具备极高效率的执行时

=> 尽可能多地优化数据

• 制作团队创建的游戏

• 更快的工作流程 => 更多的内容

• 更快的工作流程 => 更多的循环 = 润色 = 质量

“你的工具水平决定了你的工作室水平”

Page 18: Maximize Your Production Effort (Chinese)

循环!

Page 19: Maximize Your Production Effort (Chinese)

扩充您的生产管道!

Page 20: Maximize Your Production Effort (Chinese)

• 生产管道• “为您的游戏生产内容的过程”

• 狭窄紧缩不良的流量

• 宽扩膨胀不错的流量

• 注意事项:

• 团队内部过程/流程

• 团队外部过程/流程

• 创作工具/流程

扩充您的生产管道!

Page 21: Maximize Your Production Effort (Chinese)

• 超大尺寸

• “提高容量”

• “做大”

• 以便:• 增加流量

扩充您的生产管道!

Page 22: Maximize Your Production Effort (Chinese)

必须拥有流量!

Page 23: Maximize Your Production Effort (Chinese)

• 延迟:在一个系统中对时间延后程度的度量

• 高延迟 = 低流量

• 确定最大循环时间

• 确定延迟

• 导出一个计划

• 重新评估

延迟 - 无声的杀手

Page 24: Maximize Your Production Effort (Chinese)

让我们开始...

Page 25: Maximize Your Production Effort (Chinese)

• 基础结构

• 内容创作

• 数据转换

• 游戏执行时

• 游戏/资源打包

• 游戏/资源共享

“生产管道”

Page 26: Maximize Your Production Effort (Chinese)

• 坏事产生触发容量

典型场景

Page 27: Maximize Your Production Effort (Chinese)

老把戏

1. 在关卡编辑器中创作/调整的触发容量

2. 用户点击“导出”按钮

3. 用户通过运行脚本来再次导出整个世界

• 纹理转换、能见度地图编制、导航网格生成

、...

4. 用户等待10多分钟

5. 用户启动游戏

6. 需要5分钟来加载

7. 用户从关卡开始处运行玩家角色开始 ->

试验区

8. 容量太大/太小?再试一次,回到步骤1

15分

Page 28: Maximize Your Production Effort (Chinese)

好多了

1. 在关卡编辑器中创作/调整的触发容量

2. 用户点击“保存”按钮

3. 内建基础结构探测到文件改动

• 单独为新触发容量触发快速资源转换

• 将变化通过信号通知(已运行的)游戏

• 游戏实时加载新的容量和相关的脚本

• 玩家角色(仍然)在测试位置

4. 容量太大/太小?回到步骤1。

5-1

5秒

Page 29: Maximize Your Production Effort (Chinese)

创作vs微调

• 创作:

• 新增/删除一些新的东西

• 延迟:1-30秒

• 微调:

• 移动或改变一些现存东西的属性

• 延迟:< 5秒

Page 30: Maximize Your Production Effort (Chinese)

接下来会发生什么...

后循环,由用户提交变更...

1. 用户点击“提交”按钮

2. 存放在资源仓库里的新关卡数据

3. 构建/测试服务器(BTS)检测到变化并开始资源转

4. 利用新资源,BTS启动游戏自动测试

5. 一切顺利么?BTS向用户发送一个确认电子邮件

6. 问题?BTS向用户发送带有相关信息的电子邮件

用户参与到此结束/移动到新的任务

Page 31: Maximize Your Production Effort (Chinese)

基础结构[IF]

Page 32: Maximize Your Production Effort (Chinese)

基础结构

• 资源管理

• 自动建设

• 自动测试

• 自动度量报告

• 过程分析

Page 33: Maximize Your Production Effort (Chinese)

基础结构 - 资源管理

• 版本控制

• Perforce

• Subversion/GIT/Mercurial

• Alienbrain

• Homegrown解决方案

• 万用标签(随后有更多相关内容)

• 检查并报告错误(越早越好!)

Page 34: Maximize Your Production Effort (Chinese)

基础结构–

自动建设

Page 35: Maximize Your Production Effort (Chinese)

基础结构–

自动测试

Page 36: Maximize Your Production Effort (Chinese)

基础结构–

自动度量

Page 37: Maximize Your Production Effort (Chinese)

基础结构 - 分析

内部+外部 仅限内部

共享边界

Page 38: Maximize Your Production Effort (Chinese)

基础结构 - 共享工具

• 要分享哪些?为什么呢?• 是否记得前页幻灯片中的„共享边界‟虚线...

• 共享所得数据资源的工作流程

• 工具和数据版本• 开发者工作室的工具版本通常较远程工作室的更新周期

短一些

• 弹性执行时间或...

• 资源升级过程

Page 39: Maximize Your Production Effort (Chinese)

基础结构 - 分析

Page 40: Maximize Your Production Effort (Chinese)

内容创作[CA]

Page 41: Maximize Your Production Effort (Chinese)

内容创作

Page 42: Maximize Your Production Effort (Chinese)

内容创作

• 直观用户界面• 此外,以镜像存在的商业工具密钥绑定和快捷方式(

Maya、Photoshop、...)

• 一致的用户界面

• 接近零周期时间• 5秒钟规则

• 理想的情况下是在游戏/视图中

• 或者在工具视窗内

Page 43: Maximize Your Production Effort (Chinese)

组织资源

• 通过万能标签(如iTunes)

• 要求执行工作

• 不佳的文件管理

• 通过目录(如Windose)

• 很难搬迁

• 找到一个平衡点• <= 200标记物放置在每个文件夹中

• 不允许用户定义的标签

Page 44: Maximize Your Production Effort (Chinese)

资源追踪• 追踪软件/工具

• Hansoft

• Filemaker Pro

• Excel

• 一致的语言• 正常的地图变化

• 网格变化

• 细节变化

Page 45: Maximize Your Production Effort (Chinese)

预算和度量

• 为所有资源建立„成本比分‟

• 为每种资源类型寻找一个“货币”

• 例如:• 文件大小(千字节)

• 尺寸(像素宽/像素高/像素深)

• 执行时间成本(GPU周期,甚至代码行数!)

• 允许用户评估场景的总成本

• 外包合作伙伴的文件“货币”

• 外包时资源追踪器的文件预算

Page 46: Maximize Your Production Effort (Chinese)

预算和度量

Page 47: Maximize Your Production Effort (Chinese)
Page 48: Maximize Your Production Effort (Chinese)

数据转换[DC]

Page 49: Maximize Your Production Effort (Chinese)

数据转换

• DOS批量文件很讨厌!

• 有限的功能

• 可怜的脚本语言

• 执行速度慢

• 没有数据依赖性检查 => 每个构建与前一个

耗时一样长

• 很难调试

Page 50: Maximize Your Production Effort (Chinese)

数据转换

• 有很多更好的选择:

• Scons(我们都喜欢)

• MSBuild

• Ant/NAnt

• Jam

• Make

Page 51: Maximize Your Production Effort (Chinese)

数据转换

• 检查错误:

• 尽可能多

• 及时报告

• 通常便于检查是否有资源在数据转换管道中丢失,但...

• 到这种地步时应尽量避免错误

• 最好是在创作时报告错误

• 清楚地报告错误!

Page 52: Maximize Your Production Effort (Chinese)

游戏执行时[GR]

Page 53: Maximize Your Production Effort (Chinese)

对引擎的考虑

• 中间件:

• 并非天生令人厌烦 但是不要仓促使用它

• 考虑:工具创作过程(识别任何延迟!)

• 考虑:与您的执行时之间的互用性

• 考虑:与您的工具和数据管道之间的整合性

• 考虑:是否支持?

• 考虑:代码来源:

Page 54: Maximize Your Production Effort (Chinese)

Slant Six的中间件

碰撞、刚体物理学、布偶

音频资源管理、音频执行时

低级网络

Maya通过Fcollada进行输出

网格LoD

Page 55: Maximize Your Production Effort (Chinese)

对引擎的考虑

• 实时更新:

• 调整变数

• 对象的位置/规模/旋转角度

• 对象的创建/删除

• 对象的刷新

• 实时可变自我检查/反映

• 创作工具反映的游戏可变状态

Page 56: Maximize Your Production Effort (Chinese)

游戏和资源打包[AP]

Page 57: Maximize Your Production Effort (Chinese)

游戏/资源打包

• 以哪种格式?

• MSI/ZIP/RAR

• PSN压缩包

• XBL压缩包

• 鉴定配置的复杂性

• 自动化!

Page 58: Maximize Your Production Effort (Chinese)

游戏和资源共享[AS]

Page 59: Maximize Your Production Effort (Chinese)

游戏/资源共享

• 共享服务器• Perforce以上的P4代理

• Visual SourceSafe + SourceOffsite

• 压缩包投递• FTP

• Aspera fasp™

• HDD Courier

• 信鸽?

Page 60: Maximize Your Production Effort (Chinese)

资源共享 - P4的代理

Page 61: Maximize Your Production Effort (Chinese)

资源共享 - 压缩包投递FTP/Aspera fasp™

Page 62: Maximize Your Production Effort (Chinese)

资源共享 - 压缩包投递

• 问题:

• 长压缩包构建时间

• 通常在工作日较晚些时候才能开始

• 有些人需要工作到深夜!

• 解决方法:

• 将压缩包投递自动化!

Page 63: Maximize Your Production Effort (Chinese)

总结

Page 64: Maximize Your Production Effort (Chinese)

不要做的

• 让制作过程自身演化

• 总是优先考虑游戏功能改进而非工具和工作流程

• 忽略您的制作团队对工作流程的要求

• 低估了外包管理工作

Page 65: Maximize Your Production Effort (Chinese)

要做的

• 确定您制作管道的延迟时间

• 尽可能多地应用自动化

• 举办定期的„资源创作优先性‟大会

• 聘请一队工具工程师!

• 创建一个外包计划

• 像团队一部分一样对待外包伙伴

• 与外包伙伴举办定期项目状况会议

• 最大限度地扩充您的生产管道!

Page 66: Maximize Your Production Effort (Chinese)

与我交流...

Page 67: Maximize Your Production Effort (Chinese)

问答