游戏开发都需要学习什么?
本科生想从事游戏开发,主要是编程方面,都需要学习哪些方面的知识呢关注者31
被浏览
30,045
关注问题写回答
邀请回答好问题 2
添加评论
分享
<div class="Question-main"><div class="Question-mainColumn"><div id="QuestionAnswers-answers" class="QuestionAnswers-answers" data-zop-feedlistmap="0,0,1,0"><div class="Card AnswersNavWrapper"><div class="ListShortcut"><div class="List">3 个回答
默认排序
<div class="" role="list"><div class="List-item" tabindex="0"><div class="ContentItem AnswerItem" data-za-index="0" data-zop="{&quot;authorName&quot;:&quot;皮皮关&quot;,&quot;itemId&quot;:545200316,&quot;title&quot;:&quot;游戏开发都需要学习什么?&quot;,&quot;type&quot;:&quot;answer&quot;}" name="545200316" itemProp="acceptedAnswer" itemType="http://schema.org/Answer" itemscope="">皮皮关
编程话题下的优秀答主
26 人赞同了该回答
<div class="RichContent RichContent--unescapable"><div class="RichContent-inner"><span class="RichText ztext CopyrightRichText-richText css-hnrfcf" options="" itemProp="text">游戏开发所要学习的知识范围非常广泛,与编程相关的开发岗位也不少,大概能分为:
客户端 / Gameplay / UI 工程师
主要负责游戏逻辑的实现,除开对引擎和编程语言的熟悉外,还需要一定的数学与物理知识。
国内许多新入行的的人第一份工作就是实现UI功能,UI在游戏开发中有相当重要的地位。主要负责处理UI交互上的逻辑,需要熟悉游戏引擎和脚本代码的编写。
引擎工程师
如果游戏是自研引擎开发,这些人就决定了引擎的性能与效率。需要熟悉如C++等较为底层的语言和部分计算机图形学知识。
技术美术(TA)
这里指的是偏技术方向的技术美术,需要在计算机图形学上有很深的研究。能够协助美术解决技术问题,协助程序解决美术问题,在游戏里实现或逼真或酷炫的视觉效果。
服务器开发工程师
负责能够联网的游戏的后端逻辑,也需要学习网络编程、数据库、常规运维等知识。
另外,服务器逻辑与客户端逻辑是相通的,并没有看上去差异那么大。
具体建议:
如果题主是在校学生并且专业是计算机相关的,那么学校教授的知识基本涵盖了以上所有职位的基础。不夸张的说,这些课程学到的知识在游戏开发领域几乎都能用到,是决定未来上限的基础。但也正因为太基础,可能现在感觉不到与游戏开发之间的联系,并且学起来很枯燥。
所以在业余空闲的时间可以尝试着学习一下用Unity3D和C#开发一些简单的小游戏,拥有其他编程语言的基础上手会很轻松。这一步的目的是把理论知识与实践结合起来,而且实现自己的小游戏会有一种别样的成就感,有效提高学习时的动力,同时也能思考一下对哪方面比较感兴趣,对未来的学习路线有一个规划。
关于Unity3D的学习可以参考咱们的知乎专栏: 游戏开发所要学习的知识范围非常广泛,与编程相关的开发岗位也不少,大概能分为:
客户端 / Gameplay / UI 工程师
主要负责游戏逻辑的实现,除开对引擎和编程语言的熟悉外,还需要一定的数学与物理知识。
国内许多新入行的的人第一份工作就是实现UI功能,UI在游戏开发中有相当重要的地位。主要负责处理UI交互上的逻辑,需要熟悉游戏引擎和脚本代码的编写。
引擎工程师
如果游戏是自研引擎开发,这些人就决定了引擎的性能与效率。需要熟悉如C++等较为底层的语言和部分计算机图形学知识。
技术美术(TA)
这里指的是偏技术方向的技术美术,需要在计算机图形学上有很深的研究。能够协助美术解决技术问题,协助程序解决美术问题,在游戏里实现或逼真或酷炫的视觉效果。
服务器开发工程师
负责能够联网的游戏的后端逻辑,也需要学习网络编程、数据库、常规运维等知识。
另外,服务器逻辑与客户端逻辑是相通的,并没有看上去差异那么大。
具体建议:
如果题主是在校学生并且专业是计算机相关的,那么学校教授的知识基本涵盖了以上所有职位的基础。不夸张的说,这些课程学到的知识在游戏开发领域几乎都能用到,是决定未来上限的基础。但也正因为太基础,可能现在感觉不到与游戏开发之间的联系,并且学起来很枯燥。
所以在业余空闲的时间可以尝试着学习一下用Unity3D和C#开发一些简单的小游戏,拥有其他编程语言的基础上手会很轻松。这一步的目的是把理论知识与实践结合起来,而且实现自己的小游戏会有一种别样的成就感,有效提高学习时的动力,同时也能思考一下对哪方面比较感兴趣,对未来的学习路线有一个规划。
关于Unity3D的学习可以参考咱们的知乎专栏:
游戏开发入门指南——Unity+
首先你想知道游戏开发要学什么,那么就必须要知道,一个游戏开发人员在具体的工作职责中需要负责什么样的工作。那么我们就从一个游戏开发工程师的工作内容和岗位职责说起吧。
工作内容:了解并致力于游戏总体设计;
配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持;
负责游戏开发工具和运营维护工具的设计与开发;
完成游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试;
管理维护游戏平台的制作与运行;
与团队其他人员配合,促进游戏的改进创新。
岗位职责了解并致力于游戏总体设计;
配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持;
负责游戏开发工具和运营维护工具的设计与开发;
完成游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试;
管理维护游戏平台的制作与运行;
与团队其他人员配合,促进游戏的改进创新。
作为一名游戏开发工程师,你必须是要懂技术的,哪怕你是纯粹做美工或者UI,你都或多或少要懂一些技术。
那么问题来了,我们具体要学习或者要知道哪些东西呢?比如以下的技能:精通数据库,SQL(主要是Mysql),能独立完成各种复杂的查询
精通Java服务端编程(Eclipse平台)
熟悉HTTP、Servlet、Json、XML
了解Linux
了解Tomcat
有良好的面向对象设计能力,了解设计模式
了解手机游戏系统架构、数据结构和游戏引擎
熟悉python者优先
经过上面的分析,我想你大概对游戏开发需要掌握什么技能有了一些了解,你现在是本科生,上面的技能当然不可能全都会,行业牛人都是经过很多年的打磨锻炼出来的,这不是自己短暂的学习就能够拥有的能力,都是经过许多实际的开发经验得来的。自己学习的大部分都是理论或者说比较杂的知识,所以刚开始你可以从一方面或者几个方面去学习,其它的进行一个大概了解,但你要有一项技能是特别能拿得出手的,其它的等你在工作中去实践的时候会逐渐接触和学会。还是那句话,实践是检验真理的唯一标准!多实践才能有所成就!
推荐几本对游戏开发干货书籍:游戏设计的100个原理 (豆瓣)
3D游戏编程大师技巧(上下册) (豆瓣)
WINDOWS游戏编程大师技巧<第2版>(附光盘) (豆瓣)
游戏人工智能编程案例精粹 (豆瓣)
游戏机制 (豆瓣)
cocos2d-x手机游戏开发 (豆瓣)
这种宽泛的的问题已经有了好几个了。自己搜搜吧,还有腾讯总监级大佬的回答。
页:
[1]