想做游戏开发,并计划在这几年里学好计算机网络,数据结构和操作系统相应编程语言学好同时再去掌握一门游戏引擎软件,请问如果是按这样来学习,需要去学前段吗?目前对游戏开发也只是一个目标,很多还不清楚,求解
2条回答 默认 最新
- bostonAlen 2022-04-07 15:43关注
其实很难回答你,游戏开发涉及知识也确实很广泛,说说我的愚见吧。
首先,我觉得前端你是肯定要了解的,这有助于提升你的逻辑思维能力,但不用刻意去学,因为其实在你学习语言的时候,你自己做一些小东西的时候就会涉及到了,比如你自己写了个俄罗斯方块,是控制台写的,但你想让它炫酷一些,再去有目的的去学一个whidows的界面库或者使用网页来展示。
其次,你上面所提到的其实是比较关键的,我也很赞同你的这种想法,就是学好计算机网络,数据结构和操作系统相应编程语言同时再去掌握一门游戏引擎软件,这个思路是正确的,计算机网络,数据结构和操作系统相应编程语言这几个是技术的核心。前端暂时我认为可以不用刻意去学,而且你在学习语言的过程中也会做很多东西,比如windows你使用MFC或者QT的窗口程序就能实现很多小游戏了,这就相当于前端了,或者你不学这种界面的,就控制台也是可以的,在你去学引擎的时候,也会涉及到的。最重要的还是编程基础和你的逻辑思维能力。
当然需要补充的是,可以提前有些认识,对于游戏领域,特别是3D的游戏引擎的技术基础,其实很大部分还有数学、图形学的基础内容,数学如线性代数、基本的微积分、还有3D数学的知识,图形则包含渲染(DirectX 11和通用平台的Opengl)、甚至是图像处理技术opencv等,如果对引擎涉及得比较深了还会涉及引擎内的内容,如着色器、模型导入、地形、碰撞检测、光线跟踪、人工智能等。平台与编程语言选择
游戏开发的平台就有很多类型:个人主机平台:Windows、Linux、Mac OC;
移动平台:iOS、Android、Windows Phone、BlackBerryOS、Symbian;
专业主机平台:Xbox、PlayStation、Will等。如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要去学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。
但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。
所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。
无论你选择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有二条路线让你选择:
1、只使用游戏引擎;
2、使用游戏引擎并深入学习游戏引擎原理。
不同游戏引擎使用的编程语言或者脚本语言可能是不一样的,所以当你想要学习某个游戏引擎的时候,也应该留意该游戏引擎所使用的语言。大部分情况是,Windows用的的是C++,同时结合lua或python脚本语言。而ios平台下使用Objective-C或swift,安卓平台下使用Java。但这不是必然的,例如Unity在各个平台下都可以用C#或者javascript脚本语言。
这里关键就看你想从事的方向。
寻找适合自己的方向
实际情况中,真的遇到太多太多,有热情的同学,按照大牛的推荐走了“高端”路线,在基础的知识结构和编程测试中,缺失的非常厉害。
系统的知识结构
就是你上面说的,计算机网络,数据结构和操作系统相应编程语言从客户端开发角度来看,整体计算机系的常规课程都是不错的,尤其是一些985头部学校的课程,大家可以以此来修炼,其中重点可以关注:
编程语言(c,c++,java,c#等),有一个对于编程语言整体的理解
数据结构和算法
《操作系统》
《计算机体系结构》(本科应该叫《计算机组成》)
《网络编程》
这四个方面在客户端编程中用到的最多。所谓的系统的知识结构,一个是纵向的对这些知识的关键点进行梳理和透彻理解,一个是横向的彼此之间关联和抽象(可以用mindmap画出关联),做到把书读薄。
编程能力
所谓编程基本功,就是:一个问题知道怎么去解决,
能很快的把程序写对写好
这其实是所有代码人都需要锻炼的。构建知识体系,磨炼编程技能,培养游戏素养,学习领域知识和构建项目,这些都做的比较好了的话,进入游戏行业没什么问题。
当然,无论做什么都少不了优化,这方面也需要你去了解,唉,不少东西真要做下来也颇费心思的,就已经需要一定的热情了,到时候说不定你也不喜欢游戏开发也说不准。但是按照这样下来,其实你大部分行业是都可以进去了,只是说很多行业是需要积累的,特别是军工、通信这些,但是编程技术方面是差不多了。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 4无用
悬赏问题
- ¥15 ssh登录页面的问题
- ¥60 渗透一个指定银行app,拿到客户信息,需要什么级别
- ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
- ¥15 jetson nano
- ¥15 :app:debugCompileClasspath'.
- ¥15 windows c++内嵌qt出现数据转换问题。
- ¥20 公众号如何实现点击超链接后自动发送文字
- ¥15 用php隐藏类名和增加类名
- ¥15 算法设计与分析课程的提问
- ¥15 用MATLAB汇总拟合图