首页游戏娱乐我是学国际通商贸易专业的,以后想在游戏开发或者和高科技有关系的公司就业,需要准备什么吗?

我是学国际通商贸易专业的,以后想在游戏开发或者和高科技有关系的公司就业,需要准备什么吗?

wolekan 11-21 2次浏览 0条评论

我是学国际通商贸易专业的,以后想在游戏开发或者和高科技有关系的公司就业,需要预备什么吗?

在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,进门的时候如果得不到指点12,很轻易误进歧途,相反,如果走这条路之前能得到前人的1些指路,是可以事半功倍的。

1 平台与编程语言抉择

首先,游戏开发的平台就有很多类型:

个人主机平台:Windows、Linux、Mac OC;

移动平台:iOS、Android、Windows Phone、BlackBerryOS、Symbian;

专业主机平台:Xbox、PlayStation、Will等。

如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要往学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。

但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另1个平台就无用了。不是这样的,编程的全球 里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。

所以,如果你想走得远,在学习的时候不能简单流于表面,对于1样知识越深进到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然1开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有1席之地。

无论你抉择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有2条路线让你抉择:

只使用游戏引擎;

使用游戏引擎并深进学习游戏引擎原理。

线路1:只使用游戏引擎

对于第1条路线,游戏引擎的使用并不困难,因此适合想快速上手游戏开发工作的人。我们工作大多数时候也不会自己开发游戏引擎,所以这样对于1般的日常工作也没什么大碍。对于只使用游戏引擎的人来说,进门阶段要做的就是看该引擎的教程(书籍、视频、网上博客、网上教程、官方扶助文档等),并且娴熟 该教程所使用的编程语言。

所以你要做的第1件事,就是往了解现在时髦 的游戏引擎。因为不同平台下的性能不同,支持的编程语言也不尽相同,所以针对不同平台下的时髦 的游戏引擎也是不同的(方括号里面是特殊推举的,基于开源性、易用性、性能与效果等方面的综合水平推举):

windows或游戏主机:【Unreal】、冷霜、CE3

苹果ios:【unity3D】、【cocos2d-ObjC】、【Unreal】、sparrow、sprite kit。

安卓:【unity3d】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。

网页:【Egret】、【cocos2d-html5】、Fancy3D、unity3d。

在抉择游戏引擎的时候,尽可能选用时髦 的游戏引擎,因为这个游戏引擎时髦 意味着官方的功能比较完美和易用,问答社区也比较多人解疑。各个游戏引擎也各有千秋,Unity3d胜在简单易用,对性能要求不高,但是效果不够华贵 ,因而1般用在移动平台而不会用在电脑或游戏主机。Unreal胜在开源免费,而且效果也很出色,但是对设备要求比较高,因而经常用来开发效果绚丽的大型游戏。cocos2d-x也是开源免费的,在2D领域深有造诣,但是缺点是不可视化开发。另外,如果你想了解游戏引擎原理,那么首要考虑的就是开源的游戏引擎。

不同游戏引擎使用的编程语言或者脚本语言可能是不1样的,所以当你想要学习某个游戏引擎的时候,也应该留意该游戏引擎所使用的语言。大部分情状是,Windows用的的是C++,同时结合lua或python脚本语言。而ios平台下使用Objective-C或swift,安卓平台下使用Java。但这不是必然的,例如Unity在各个平台下都可以用C#或者javascript脚本语言。

下面是商业上时髦 的游戏引擎详尽比较:

1) Unreal4(虚幻4)

适用平台:Microsoft Windows、Mac OS X、iOS、Android、虚拟现实设备(包括但不限于SteamVR/HTC Vive、Morpheus、Oculus Rift及Gear VR)、Linux、SteamOS及 HTML5平台。

编程语言:C++或无需编写代码。

优点:开源免费,画面效果出色,已有多款商业大作体会。同时,它还能跨平台,商店资源丰盛,提供了无需编写代码就可以制造游戏的强大功能(可视化开发)。

缺点:开发机器配置要求较高。

2) Unity3D

适用平台:iOS、Android、Windows phone 8、Tizen、Microsoft Windows、Windows Store使用程序、Mac、Linux/Steam OS、网络播放器、WebGL、PlayStation3、 PlayStation4、PlayStation Vita版、Xbox One、Xbox 360、Wii U、Android TV、Samsung SMART TV、Oculus Rift、Gear VR、Microsoft Hololens、Playstation VR。

编程语言:C#、javascript、Boo。

优点:方便易用,中文资料丰盛,跨平台,商店资源丰盛,可视化开发。

缺点:画面效果1般,不是免费开源,引擎效率比较低。

3) Cocos2d系列(包Cocos2d-x、Cocos2d-ObjC、Cocos2d-html5、Cocos2d-xna等)

适用平台:Microsoft Windows、OS X、 Linux、iOS、 Android、 Tizen、 Linux、Mac OS X、HTML5浏览器、Windows Phone 7 & 8、Xbox 360。

编程语言:Python、Objective-C、C++、 Lua、 JavaScript、 Swift、JavaScript、 C#。

优点:开源免费,跨平台,中文资料丰盛,2D技术丰盛且成熟。

缺点:不可视化开发,3D方面技术不成熟。

4) CryEngine3

适用平台:Microsoft Windows、OS X、Linux、PlayStation 3、PlayStation 4、Wii U、Xbox 360、Xbox One、iOS、Android。

编程语言:C++、Lua。

优点:画面效果全球 1流,可视化开发,跨平台。

缺点:开发机器配置要求较高,不是免费开源。

5) Frostbite3(冷霜3)

适用平台:Microsoft Windows、PlayStation 3、PlayStation 4、Xbox 360、Xbox One。

编程语言:C++。

优点:画面效果出色,可视化开发,跨平台。

缺点:开发机器配置要求较高,不是免费开源。

6) Egret(白鹭)

适用平台:HTML5、iOS、Android、Windows Phone。

编程语言:TypeScript、JavaScript。

优点:免费开源,配套工具多,全中文文档,可视化开发,跨平台。

缺点:支持平台较少,大多数时候用于开发对性能和效率要求不高的小游戏。

但是使用游戏引擎究竟是停留在表面看不到本质,当游戏开发的时候出现了某些问题或者特殊需求,你往往很难处理。而且游戏引擎技术日新月异,你所学的几乎都是别人留下来的方法,而不是其本质思想。如果将来别的游戏引擎兴起,你又要重新学习另外的游戏引擎怎么使用。在很多大公司里面,甚至都有自己公司内部专用的引擎(如网易公司的风魂引擎、金山公司的剑网3引擎、蜗牛公司的Flexi引擎等等)。所以单纯地走这条路线,可能不会让你走得很远并且可能会日渐乏味。

线路2:使用游戏引擎并深进了解游戏引擎原理

对于第2条路线,深进学习游戏引擎原理短时间不会让你的工作有什么卓著的成效,但是可以弥补只使用游戏引擎致使的问题,而且学习游戏引擎原理,更多时候不是1定就为了自己日后要造个游戏引擎,而是更深进理解自己的游戏引擎,更好地使用它。当然,千里之行始于足下,经常学习游戏引擎底层原理的人到了1定的积存的时候,自己造个游戏引擎也是可以的。

对于像学习游戏引擎原理的人来说,需要制定自己明确的长期目标:

1) 首先,1开始可能对游戏引擎没什么概念,意见 先使用1两个游戏引擎(我推举C++程序员学习虚幻4游戏引擎,现在是免费开源的,非常值得学习。那些不开源的游戏引擎尽量不要往学习,因为其对于学习原理来说没有多大奉献)。

2) 因为游戏开发就是1门实时渲染的艺术,所以离不开图形库的学习。现在主流的图形库是Windows平台专用的DirectX 11和通用平台的Opengl。这两个图形库,至少需要进门其中1个。

3) 然后,你就可以开始看计算机图形学的书籍了。如果你发现你的理论底子不足,这个时候就需要补1下线性代数、基本的微积分、还有3D数学的知识。

4) 游戏引擎中包含了各个部分,上面的渲染只是游戏引擎的1部分。还有其它诸如着色器编写、地形编写、物理引擎编写、模型和动画、人工智能体设计、网络编程等等,完成渲染部分的基本学习后,你可以抉择自己感兴致的部分进行专攻,究竟我们实际工作大多数时候是团队开发,而不是单打独斗,每个人都应该熟知自己所擅长的那部分。

这里为了文章的紧凑性,我将游戏引擎的基础理论知识和各个引擎组件的推举书籍放到了文章的附录处。

下表是基础理论知识和游戏引擎组件书籍推举(不必全看,请有抉择地阅读):

1) 数学基础

下面这些数学基础书籍是为游戏开发量身定制的,比专门看某1数学方向更有效率:

《3D Math Primer for Graphics and Game Development》,有中文版

《Mathematics for 3D Game Programming and Computer Graphics》

《Essential Mathematics Guide》

《Geometric Tools for Computer Graphics》

2) 图形库

针对 DirectX 的书籍:

《Introduction to 3D Game Programming with DirectX 11》,大名鼎鼎的龙书,进门必看的

《Practical Rendering and Computation with Direct3D 11》,进阶

《Real-Time 3D Rendering with DirectX and HLSL》

针对 OpengGL 的书籍:

《OpenGL SuperBible》,闻名的蓝宝书,以例子为主,有中文版。但不意见 看中文版,翻译得不好。

《OpenGL Programming Guide》,闻名的红宝书,有中文版。红宝书更像是手册,API大全,例子较少,适合娴熟 者查询使用。

《OpenGL 4.0 Shading Language Cookbook》,进阶,基本上就是API手册,有中文版。但不意见 看中文版,翻译得不好。

3) 计算机图形学

《The Nature of Code》,有中文版,比较简单

《Fundamentals of Computer Graphics》,被国外多所大学摘用的进门教材,介绍领域比较广,从基本的相关数学到建模、渲染、动画、使用方面都有提及

《Physically Based Rendering》,主要是离线渲染

《Real-Time-Rendering》,必读经典!必读!

《计算机图形学》,作者舍利

《Computer Graphics》,要看实时的第3版

《计算机图形学原理及实践:C语言描述》

4) Shader着色器

《Cg_tutorial》,进门

《The Complete Effect and HLSL Guide》,进门

《Shaders for Game Programmers and Artists》,含有大量进门例子

《Advanced Lighting And Materials With Shaders》,介绍光照模型和技术

《GPU Gems》进阶必读。

《Shader X》系列,每年出版1本,包含实时的实时渲染技术。论文性的比较多,偏难。

《Programming Vertex, Geometry, and Pixel Shaders》,以DirectX 10为主,很详尽。

5) 地形

《Real Time 3D Terrain Engines Using C++ And DX9》非常全面的讨论了关于地形渲染的各种技术。

6) 模型导进和动画

《Character Animation With Direct3D》包含了实时的游戏动画技术

《Computer Animation》

《Real-Time Cameras》

《Computer Facial Animation》

《Realtime 3D Character Animation with Visual C++》

《Advanced Animation and Rendering Techniques》

《Cloth Modeling and Animation》

7) 网络

《TCP/IP 详解 卷2》

《Network Programming for Microsoft Windows》

《Advanced Programming in the UNIX Environment》

《Windows核心编程》

《Multithreading applications in Win32》

《网络游戏核心技术与实战》

8) 物理

《Game Physics》

《Game Physics Engine Development》

《Real-time Collision Detection》,碰撞检测方面最好的书

《3D Game Engine Design, 2nd》第8、9章值得1看

9) 细节层次

《Level of Detail for 3D Graphics》

10) 光线跟踪

《Physical-Based Rendering - From Theory to Implementation》

《Another Introduction to Ray Tracing》

11) 人工智能

《Programming Game AI by Example》有中文版

《Artificial Intelligence for Games》

《AI Programming Wisdom》

《AI Game Engine Programming》

12) 综合

《Game Programming Gems》,文章的领域比较广,抉择性阅读

《Color and Light in Nature》

《Digital Design of Nature》

《Form+Code in Design, Art, and Architecture》

1下这张图片非原创,出自:作者星铃丹,授权发布,转载请注明出处。写的非常详尽,拿出来和大家分享下!


我是学国际通商贸易专业的,以后想在游戏开发或者和高科技有关系的公司就业,需要预备什么吗?

贸易类手机网游游戏
冠豸山怎么读?怎样拼音? 炖猪肉一斤放多少盐?
发表评论

游客 回复需填写必要信息