游戏程序开发的工作主要包括哪些方面
一、游戏程序开发的工作主要包括哪些方面 游戏开发中的程序开发主要由如下几个方面组成:
1.图形引擎 2.声音引擎 3.物理引擎 4.游戏引擎 5.人工智能或游戏逻辑 6.游戏GUI界面(菜单)
7.游戏开发工具 8.支持局域网对战的网络引擎开发 9.支持互联网对战的网络引擎开发
下面逐一介绍每个部分:
1.图形引擎主要包含游戏中的场景(室内或室外)管理与渲染,角色的动作管理绘制,特效管理与渲染(粒子系统,自然模拟
(如水纹,植物等模拟)),光照和材质处理,LOD(Level Object Detail)管理等,另外还有图形数据转换工具开发,
这些工具主要用于把美工用DCC软件(如3DS Max,Maya,Soft XSI,Soft Image3D等)软件制作的模型和动作数据以
及用Photo shop或painter等工具制作的贴图,转化成游戏程序中用的资源文件。
2.声音引擎主要包含音效(Sound Effect简称SE),语音(VOICE),背景音乐(Background music简称BGM)的播放。
SE是指那些在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,
这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,
SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,
所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,
正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,
数字影院系统(DTS5.1),数字杜比环绕等。
3.物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟, 以及发生碰撞后的物体骨骼
运动的力学模拟(比较著名的物理引擎有havok公司的game dynamics sdk,还有open source
的ODE—Open Dynamics Engine)。
4.游戏引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关
卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,道具摆放,NPC设置,
另外还有角色编辑器,主要用于编辑角色的属性和检查动作数据的正确性。一般日本游戏公司的做法,他们会把关卡编
辑器和角色编辑器直接做到游戏中,所有的参数调整都在游戏中通过调试菜单来进行编辑,所以一般他们把这部分
调试菜单的功能做的很强大,同时在屏幕上实时的显示一些重要的信息,这样做的好处是关卡编辑器调整的效
果直接就是游戏的效果,但是对于程序的重用性来说可能不是很好,比如说要用到另外一个游戏项目中就比较难,
除非两个游戏类型相同,只要把场景和角色数据换一下,还有做下一代产品也没有问题,只要根据式样增加调
试菜单的功能就可以了。
5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开
发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、
编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设
计的程序员岗位。而日本游戏公司脚本语言一般和游戏的耦合性比较高,一般通过一些语言的宏功能和一些编译
器的特定功能来完成一个简单的脚本系统,所以一般这些脚本程序只能在游戏程序中进行调试,而不能在一个单
独的脚本编辑,编译环境中进行开发。
6.游戏GUI界面(菜单),主要是指那些游戏中用户界面设计,有做的复杂,有简单的,做的简单就是
2D GUI界面,做的复杂有3D GUI界面。
7.游戏开发工具主要包含关卡编辑器,角色编辑器,资源打包管理,DCC软件的插件工具等开发。
8.支持局域网对战的网络引擎开发,主要解决局域网网络发包和延迟处理,通讯同步的问题,有同步通
讯和异步通讯两种做法,异步通讯用于那些对运行帧速要求比较高的游戏,同步通讯相对异步通讯来说效率相对低,
但是同步通讯的编程模型相对异步通讯来得简单一些。
9.支持互联网对战的网络引擎开发,目前大部分网游都是C/S结构的,服务器端软件配置管理,服务
器程序的最优化,还有游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外还有一些网络系统是
C/S和P2P两种结构混合的,如XBOX Live等。
二、游戏公司中有哪些和程序员相关的岗位
程序员在游戏公司中的岗位在日本游戏公司和欧美的游戏公司有些不同,日本游戏公司中程序员的
岗位主要有技术监督(Director),主程序员(Main Programmer),程序员(Programmer),
在日本游戏公司里负责游戏项目开发的程序员,一般不会专门根据工作内容划分程序员,除了独立的
系统研究室和声音系统制作部门(这两个部门是比较独立的,往往同时给好几个项目服务),负
责每个游戏项目开发的程序员,随时都可能一人多职,比如说主程序员除了负责整个游戏系统以外,可
能还要负责图形或声音引擎开发等,程序员除了人工智能以外还有菜单制作等。这种情况在欧美的游
戏公司比较少见,他们分工的比较细,一般有图形程序员,声音程序员,人工智能或游戏关卡程序员,
物理程序员,每个组中可能还会有一个Leader。
三、游戏公司一般是如何招聘程序员的 这一点,日本公司和欧美公司也有些不同。日本公司一般喜欢
从一些高校中招聘一些应届优秀毕业生,一方面比招聘有经验的人要来的成本低,另方面新人是一张白纸,
容易培养,像SEGA、KONAMI等都是按这种原则招聘员工的,所以想进入日本游戏公司,你要学好
你的软件课程。而欧美公司希望招聘进来,能马上进入项目的开发中去,所以他们一般希望招聘有工作
经验的人,即使不是行业中,在相关行业中工作2、3年的也可以,所以想进入欧美游戏公司你的工作
经历很重要。
四、想成为一名游戏开发程序员应该具备哪些条件 我觉的一个游戏软件程序员,最起码的要求是熟练掌
握计算机本科专业所学的知识,主要包括C语言或C++语言,数据结构,编译原理,算法等,另外线性
代数、微积分、牛顿力学在图形和物理引擎开发方面用途也很广泛,如果要提高的话还有必要了解
硬件相关的知识如计算机体系结构、汇编语言,这些对我们学习一个新的硬件平台、编写最优化代码、
提高自己游戏的竞争力都是非常有益的。另外,保持有恒心、不怕苦(比如说通宵加班)的心态,对
游戏的热情也是非常重要的。对于那些想进入游戏行业,但缺乏软件开发知识的人,可以通
过参加游戏开发培训
转载于:https://www.cnblogs.com/simonhaninmelbourne/archive/2012/09/21/2697500.html
游戏程序开发的工作主要包括哪些方面相关推荐
- 游戏程序开发:状态驱动的游戏智能体设计 (二)
转自: 状态驱动的游戏智能体设计(一) http://edu.gamfe.com/tutor/d/30601.html 状态驱动的游戏智能体设计(二) http://edu.gamfe.com/tut ...
- 【随笔】游戏程序开发必知的10大基础实用算法及其讲解
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n logn)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通常 ...
- 公司技术管理角度看C++游戏程序员发展
公司技术管理角度看C++游戏程序员发展 H3D 这是我多年来招聘培训游戏程序员的一点想法.一直想汇总一下.主要目的是为了更好的对公司新进C++程序员进行培训,并且建立起游戏程序员培训,发展,成才,成为 ...
- lt;转载gt;游戏服务器开发都要学什么?
2018年3月3日 欢迎扫二维码关注公众号,获取技术干货 近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻 ...
- 《程序开发心理学》读书笔记
把整本书中每个章节有用的信息记录如下: 在某些特定环境中所看到的那样,额外的金钱实际上反而可能会让某些人放弃自己工作. 也许你现在会说:金钱的激励作用还不如提高对目标设定的参与程度和对工作数量的关心程 ...
- 游戏服务器开发需要学什么
一,游戏服务器开发的工作介绍 近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻炼自己,或许觉得想换个环境等 ...
- 学习JAVA游戏服务器开发需要了解的情况
一,游戏服务器开发的工作介绍 近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻炼自己,或许觉得想换个环境等 ...
- 2020,游戏服务器开发需要掌握哪些,你都具备了吗
序言 一.游戏服务器开发工作介绍 有很多朋友会问我,想从其它开发领域转到游戏服务器开发上来,需要学什么? 或许是因为游戏服务器开发工资高,或许是因为感觉做游戏服务器需要掌握的技术更高级,更具有挑战性, ...
- 《程序开发心理学》几点核心理解
作者:草小诚(wellsmile@foxmail.com) 转载请注原文地址:https://blog.csdn.net/cxcjoker7894/article/details/85319250 前 ...
- 程序开发,面试恐惧症_如何克服恐惧并停止讨厌的工作面试
程序开发,面试恐惧症 by Reuben Reyes 由鲁本·雷耶斯(Reuben Reyes) 如何克服恐惧并停止讨厌的工作面试 (How to conquer your fear and stop ...
最新文章
- 小程序css中设置1rpx失效
- 乌班图14.04安装搜狗输入法
- 【MyBatis使用】mapper.xml 中特殊符号的 2 种处理方法(CDATA区+替代字符举例)
- Java-While循环
- java fx 皮肤_JavaFX 皮肤功能
- vue在html中写style,vue开发之style(六)(CSS页面布局之样式、背景、文字)
- 【渝粤教育】国家开放大学2018年春季 8038-21T实用管理基础 参考试题
- 股市最好用的大数据软件_十大股票软件排名谁知道?
- Nifi Api访问
- centos界面的转换+快捷键的使用
- CSS3实现5个常用的网页动画效果
- (金融入门知识点)Double类型丢失精度
- marvell 88W8686 sdio wifi模块学习
- Spark:解析CSV文件并按列值分组
- 如何用电脑录制一个解说视频
- Apktool|ShakaApktool 简体中文汉化版|APK反编译工具(更新)
- Topic test not present in metadata after 60000 ms
- 为什么科技巨头们纷纷更换 Logo?
- 信息安全(一)——概述
- Chef学习之六:Knife cookbook
热门文章
- 基于人脸识别的学生签到打卡系统用户使用指南
- UE4读取scv文件 -- 数据驱动游戏性元素
- C# matlab中标准差计算方法
- 点符号垂直居中 html,word垂直居中 word中垂直居中符号在哪里?
- AlphaGo算法原理浅析
- Windows HTTP服务(WinHTTP)介绍
- 虚拟化识别共享USB加密狗|银行U盾等解决方案
- 工行u盾显示316_企业用户,插U盾点击U盾登录后,显示“无法显示该网页”
- 网管员常用工具(二)
- GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全通信网络测评解读