游戏开发基础——要求篇
2009-08-18 20:01
106 查看
如今,游戏行业已经成为一个热门的行业。相对与其它行业相比,游戏行业的职员拥有不差的薪水,舒适的工作环境和比较好的行业前景。目前,国内游戏市场的规模不断扩大,行业产值年年升高,特别是国家对网络游戏的支持的政策,使得游戏行业成了一个蓬勃发展的朝阳产业。
但行业良好的发展状况,也部分掩盖了行业运作中的艰辛。不断变化的需求,紧密的工作日程和日益缩短的产品寿命周期,使得游戏行业里生存的职员面临着不亚于其它任何行业的工作压力。在这里不仅要有过硬的技术能力,还要有对游戏行业的非凡热情,更重要的是要有一副好身体:)
尽管如此,游戏行业还是每天都吸引着许多有能力,有意愿的人投入这个激烈的领域。
那么要什么样的人,才能进入这个行业呢?答案很简单:“任何人都可以”。因为游戏行业是个大行业,需要各式各样的人才。不管你是技术精英,还是商业骄子,都能有自己一展宏图之处。但是要是具体到细节,还是有不少的条款是可以作为参考的。
从总体上来说,首先,你必须是热爱这个行业。如果只是仅仅因为经济上的因数,那么这个行业可能并不能使你获得利益的最大化,甚至会付出了努力,却得不到相应的收益。因为游戏是消耗性质的软件产品,不同与金融,电子商务等其它生产性质的软件,不仅使用周期短,而且开发周期却会比一般的软件要来的长久。其次,必须要有健康的身体和乐观的态度。由于游戏本身的特性,游戏开发中的需求变化是必然的,而且很平凡,开发人员无时无刻都面临着变化的项目。这个时候只有抱着乐观的态度和旺盛的工作热情投入到工作去吧,想想游戏最后发布时候的情景,也许就会觉得有一点点泰然了。
下面就说说重点,那就技术因数了。游戏开发涉及方面很多,主要可以包括以下几个领域:程序开发,数据制作(包括美术和声音等),质量管理,项目管理和游戏设计这五个大块。
1. 项目管理部门的主要任务是协调各个部门有条不紊,分工合作来完成游戏开发的总目标。
2. 质量管理部门是负责对游戏产品(包括中间产品和最终发布总和)进行测试,在游戏操作,游戏性能以及游戏界面提出问题。一般都以公司的游戏开发要求和相关行业部门的标准作为参考。
3. 游戏设计部门是负责对游戏整个内容上的设计,包括游戏的流程,游戏的类型,游戏的操作法则等等。一个好的游戏产品,必定有一个好的游戏设计开发团队。
4. 数据制作部门是负责游戏中各种各样数据的设计,实现。他们的工作结果提供给游戏在运行中进行展示。
5. 程序开发部门是负责游戏中各种的逻辑程序实现以及相关的游戏开发辅助工具的实现。游戏本质上还是一种计算机程序,因此程序开发也会很大程度上影响游戏的质量。
其它的部门如人力资源啊,信息管理啊这些部门也是很重要的,不过对于游戏本身来说,影响没有以上五个部门来的直接。
所以,游戏产业需要的人才是多方面的。一个优秀的,成功的游戏产品背后,一定有着一个优秀的团队。
接下来就针对程序开发部分,提出一些本人认为在技术方面需要达到的要求:
1. 要有良好的数学基础。计算机科学说到底是一门计算的学科。计算机软件的开发不可能完全离开数学的影响。在这个方面并不强制需要你达到多深的程度,但至少要对相关的数学知识有所了解,那么当遇到问题时候,就有研究的方向了。至于具体的数学分支:算数学、解析几何学、计算几何学、代数学、线性代数、高等数学、概率论、计算方法、离散数学等等,都能在实际开发中得到体现。
2. 要有良好的编码的基础。原则上,游戏开发可以使用任何语言,但是综合效率和成本,采用的是C/C++。现在手机上的游戏基于JavaME平台,使用Java语言,不过Java语言表现形式与C++差别不大(理念还是比较大的),所以可以弱弱地认为就是C/C++是开发语言了。C++的语法和语义一定要熟悉,说不定什么时候就会遇到了。现在行业中有许多现成的引擎,绝大多数也是以C++写成的,可以作为参考。
3. 要有熟练的数据结构知识。游戏说到底,可以认为是游戏资源,如图形图像、声音和控制代码组成的程序。游戏中大量的数据传输,管理和处理,需要针对不同的使用情况,采用不同的数据结构管理和算法实现。最常见的是线性表,树也有大量的应用,至于排序和查找更是时时刻刻存在。在这里,算法的选取没有一个定式,某些情况下链表的处理速度就可能优于数组,这也变相对程序员提出了经验的要求。
4. 当然,计算机科学相关的专业知识也是越多越好。电子游戏有许多的平台,不同的平台的硬件结构不一样,开发环境也不相同。那么在这个时候,多点操作系统,计算机组成原理,以及一些特殊指令的用途的知识,对于实际开发是很有帮助的。
5. 要有广博的专业领域视野。要时时刻刻保持对于行业的专注,哪些新技术又出现了,哪些又能加入到当前的游戏当中去,这是一个很重要的任务。如果已经有公开的,已经经过测试的系统可以很好的集成到现有的系统中去,干嘛又要“重新制造轮子”呢?所以,在保持提高技术能力的同时,也要放开眼界,尽可能接触多的相关平台(研究目的除外)
以上几点是笔者基于实践的一些小小总结,希望对现在或者将来想进游戏开发行业的程序开发人员有点帮助。不足之处,请多谅解。
但行业良好的发展状况,也部分掩盖了行业运作中的艰辛。不断变化的需求,紧密的工作日程和日益缩短的产品寿命周期,使得游戏行业里生存的职员面临着不亚于其它任何行业的工作压力。在这里不仅要有过硬的技术能力,还要有对游戏行业的非凡热情,更重要的是要有一副好身体:)
尽管如此,游戏行业还是每天都吸引着许多有能力,有意愿的人投入这个激烈的领域。
那么要什么样的人,才能进入这个行业呢?答案很简单:“任何人都可以”。因为游戏行业是个大行业,需要各式各样的人才。不管你是技术精英,还是商业骄子,都能有自己一展宏图之处。但是要是具体到细节,还是有不少的条款是可以作为参考的。
从总体上来说,首先,你必须是热爱这个行业。如果只是仅仅因为经济上的因数,那么这个行业可能并不能使你获得利益的最大化,甚至会付出了努力,却得不到相应的收益。因为游戏是消耗性质的软件产品,不同与金融,电子商务等其它生产性质的软件,不仅使用周期短,而且开发周期却会比一般的软件要来的长久。其次,必须要有健康的身体和乐观的态度。由于游戏本身的特性,游戏开发中的需求变化是必然的,而且很平凡,开发人员无时无刻都面临着变化的项目。这个时候只有抱着乐观的态度和旺盛的工作热情投入到工作去吧,想想游戏最后发布时候的情景,也许就会觉得有一点点泰然了。
下面就说说重点,那就技术因数了。游戏开发涉及方面很多,主要可以包括以下几个领域:程序开发,数据制作(包括美术和声音等),质量管理,项目管理和游戏设计这五个大块。
1. 项目管理部门的主要任务是协调各个部门有条不紊,分工合作来完成游戏开发的总目标。
2. 质量管理部门是负责对游戏产品(包括中间产品和最终发布总和)进行测试,在游戏操作,游戏性能以及游戏界面提出问题。一般都以公司的游戏开发要求和相关行业部门的标准作为参考。
3. 游戏设计部门是负责对游戏整个内容上的设计,包括游戏的流程,游戏的类型,游戏的操作法则等等。一个好的游戏产品,必定有一个好的游戏设计开发团队。
4. 数据制作部门是负责游戏中各种各样数据的设计,实现。他们的工作结果提供给游戏在运行中进行展示。
5. 程序开发部门是负责游戏中各种的逻辑程序实现以及相关的游戏开发辅助工具的实现。游戏本质上还是一种计算机程序,因此程序开发也会很大程度上影响游戏的质量。
其它的部门如人力资源啊,信息管理啊这些部门也是很重要的,不过对于游戏本身来说,影响没有以上五个部门来的直接。
所以,游戏产业需要的人才是多方面的。一个优秀的,成功的游戏产品背后,一定有着一个优秀的团队。
接下来就针对程序开发部分,提出一些本人认为在技术方面需要达到的要求:
1. 要有良好的数学基础。计算机科学说到底是一门计算的学科。计算机软件的开发不可能完全离开数学的影响。在这个方面并不强制需要你达到多深的程度,但至少要对相关的数学知识有所了解,那么当遇到问题时候,就有研究的方向了。至于具体的数学分支:算数学、解析几何学、计算几何学、代数学、线性代数、高等数学、概率论、计算方法、离散数学等等,都能在实际开发中得到体现。
2. 要有良好的编码的基础。原则上,游戏开发可以使用任何语言,但是综合效率和成本,采用的是C/C++。现在手机上的游戏基于JavaME平台,使用Java语言,不过Java语言表现形式与C++差别不大(理念还是比较大的),所以可以弱弱地认为就是C/C++是开发语言了。C++的语法和语义一定要熟悉,说不定什么时候就会遇到了。现在行业中有许多现成的引擎,绝大多数也是以C++写成的,可以作为参考。
3. 要有熟练的数据结构知识。游戏说到底,可以认为是游戏资源,如图形图像、声音和控制代码组成的程序。游戏中大量的数据传输,管理和处理,需要针对不同的使用情况,采用不同的数据结构管理和算法实现。最常见的是线性表,树也有大量的应用,至于排序和查找更是时时刻刻存在。在这里,算法的选取没有一个定式,某些情况下链表的处理速度就可能优于数组,这也变相对程序员提出了经验的要求。
4. 当然,计算机科学相关的专业知识也是越多越好。电子游戏有许多的平台,不同的平台的硬件结构不一样,开发环境也不相同。那么在这个时候,多点操作系统,计算机组成原理,以及一些特殊指令的用途的知识,对于实际开发是很有帮助的。
5. 要有广博的专业领域视野。要时时刻刻保持对于行业的专注,哪些新技术又出现了,哪些又能加入到当前的游戏当中去,这是一个很重要的任务。如果已经有公开的,已经经过测试的系统可以很好的集成到现有的系统中去,干嘛又要“重新制造轮子”呢?所以,在保持提高技术能力的同时,也要放开眼界,尽可能接触多的相关平台(研究目的除外)
以上几点是笔者基于实践的一些小小总结,希望对现在或者将来想进游戏开发行业的程序开发人员有点帮助。不足之处,请多谅解。
相关文章推荐
- 【Visual C++】游戏开发笔记二十二 游戏基础物理建模(四) 粒子系统模拟(一)
- 在vs2010下学《directx9.0 3D 游戏开发编程基础》
- 游戏开发基础知识2——函数指针
- 【Visual C++】游戏开发笔记之八——基础动画显示(二)游戏循环的使用
- 《DirectX 9.0 3D游戏开发编程基础》-第一篇-VS2010下安装配置DirectX9 runtime和SDK
- 3D数学基础:图形与游戏开发(第7章矩阵)笔记
- 游戏开发基础(4)
- 游戏开发基础(四)
- 【Unity3d游戏开发】Unity3D中的3D数学基础---向量
- 【Visual C++】游戏开发笔记之十 基础动画显示(三) 透明动画的实现
- LibGDX 跨平台游戏开发基础教程(总目录)
- 【阅读笔记之十二】《DIRECTX.9.0.3D游戏开发编程基础》:网格(二)浅话X文件和渐进网格
- 【Visual C++】游戏开发笔记十八 游戏基础物理建模(一) 匀速与加速运动
- Silverlight4深蓝游戏开发学习笔记(一) 基础动画方式
- function类html5游戏开发-零基础开发《圣诞老人送礼物》小游戏
- 【Visual C++】游戏开发笔记之十一 基础动画显示(四) 排序贴图
- 3D数学基础图形与游戏开发之坐标系
- 利用Java Swing 实现游戏开发-Java基础-Java-编程开发
- html5游戏开发-零基础开发RPG游戏-开源讲座(三)-卷轴&对话实现
- 【小松教你手游开发】【面试必读(编程基础)】网络游戏同步方式(帧同步和状态同步)