- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游戏概论-第13章
第Ⅲ部分 游 戏 程 序 第13章 游戏软件工程师及其工作 第14章 游戏软件技术结构 第15章 游戏引擎与编辑工具 第16章 成为优秀的游戏软件开发工程师 第13章 游戏软件工程师及其工作 教学目标 了解游戏软件工程师的职责 熟悉游戏软件工程师的分类 教学重点 游戏软件工程师的分工 教学难点 不同岗位的游戏软件工程师之间的工作配合 13.1 什么是游戏软件工程师 游戏软件工程师专注于游戏软件的编程工作。能够使用编程语言编写代码、实现软件功能是作为一名软件开发人员的基本要求。 (1) 要求开发人员熟练掌握相关数理知识。 (2) 要求游戏软件程序人员对软件体系的底层有相当的认识。 (3) 游戏软件工程师中的很多职位需要很强的审美能力。 为了完成一个游戏,游戏软件工程师需要完成以下工作。 (1) 游戏引擎的开发与维护(对于游戏引擎的定义我们会在下面谈到,但要记住,它是游戏的核心)。 (2) 游戏编辑工具开发与维护。 (3) 游戏逻辑的实现。 (4) 其他的需要软件工程师来实现的内容。 13.2 游戏软件工程师的分工 早期的游戏规模都很小,代码量也不大,1~2人就能完成全部的游戏代码,一张软盘就能装下全部的游戏内容。在那些如同史诗一般的年代,许许多多的游戏都是这样完成并传播的。 随着技术的发展,游戏效果越来越华丽,功能增强的结果就是代码量的急剧增长,目前大型网络游戏的代码行数已经接近百万级规模,中等项目也往往有数十万行代码。 作为游戏核心技术的引擎代码编写需要专门的引擎开发工程师,作为引擎一部分的游戏工具也需要专门的人员负责。使用引擎构建网络游戏的时候需要专人进行客户端和服务器程序的开发等。游戏软件中的不同模块往往需要不同的技能要求。 13.2.1 技术总监 技术总监对各项目组的技术团队有监督职能,各种技术方案的审核都由技术总监确认。技术总监还需要组织公司技术团队的培训工作。 图13-1所示为大型网络游戏《激战》的技术总监Patrick Wyatt。 13.2.2 首席程序设计师 在游戏开发团队中必须有一个可以领导这些程序员的领袖,这就是“首席程序设计师”,在公司中一般简称为“主程”。 图13-2所示为ID公司首席程序设计师,被称为“3D游戏之父”的John Carmack,著名的DOOM引擎就是由他主持研发的。 从技术层面上看,首席程序设计师是对游戏引擎及游戏程序架构最为了解的人,是程序开发团队中最富有技术能力的人。 首席程序设计师还必须担负起程序小组的管理职能。首席程序设计师的职责,对上要以管理者的决策为主,对下就必须要管理程序设计小组。 13.2.3 游戏引擎开发工程师 引擎开发工程师负责对公司所使用的引擎进行开发及维护。 引擎开发工程师要与具体负责游戏开发的工程师紧密配合,保证在游戏开发过程中引擎的使用。 他们还要负责维护相当的引擎开发技术文档和用户接口文档等一系列文档,保证公司的技术积累。 图13-3所示为Torque部分游戏引擎开发工程师,从左往右、从上到下依次为Josh Williams 、Tim Gift、Jeff Tunnell 、Mark Frohnmayer、Jay Moore。 13.2.4 游戏客户端开发工程师 在网络游戏开发中,一般会在引擎基础上构建客户端应用程序,完成该工作的人员就是客户端开发工程师。 他们的主要任务是使用引擎提供的支持开发游戏的图形客户端,因此要求他们相当熟悉引擎本身,熟悉游戏将来运行的目标平台。 13.2.5 游戏服务器端开发工程师 在网络游戏开发中,服务器端的开发是必不可少的,完成该项工作的人员就是服务器端开发工程师。 他们的主要工作是使游戏响应速度更快、系统更稳定,同时可以承载更多的用户且有更高的安全性。 对服务器端开发工程师来说,要求他们熟悉网络通信原理,精通Socket网络编程以及Windows多线程技术,以达到上述的要求。 13.2.6 游戏工具开发工程师 各种游戏编辑工具是游戏设计师们在开发过程中所必须使用的,也是游戏引擎的重要组成部分。游戏编辑工具包括地图编辑器、角色编辑器、特效编辑器、声音合成编辑器等,它们将用于产生地图、关卡、任务等。 游戏工具开发工程师应该对Windows下的应用程序开发(主要指MFC或.NET)较为熟悉。同时需要熟悉引擎及其数据模型,因为需要将数据与工具相结合以进行编辑。 13.2.7 其他工程师 由于引擎本身很复杂,在某些企业会进一步将引擎开发工程师细分为引擎图形开发工程师、人工智能开发工程师、物理系统开发工程师、音频系统开发工程师等。这些职位的工作面相对比较窄,但对深度要求并不低。 就目前来说,以上几种分类基本上可以满足制作过程中对游戏软件工程师的要求,这样的分工也利于开发人
文档评论(0)