找回密码
 立即注册
查看: 296|回复: 3

游戏开发都需要学习什么?

[复制链接]
发表于 2021-11-11 19:39 | 显示全部楼层 |阅读模式
本科生想从事游戏开发,主要是编程方面,都需要学习哪些方面的知识呢关注者
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="{"authorName":"皮皮关","itemId":545200316,"title":"游戏开发都需要学习什么?","type":"answer"}" 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="[object Object]" itemProp="text">游戏开发所要学习的知识范围非常广泛,与编程相关的开发岗位也不少,大概能分为:
客户端 / Gameplay / UI 工程师
主要负责游戏逻辑的实现,除开对引擎和编程语言的熟悉外,还需要一定的数学与物理知识。
国内许多新入行的的人第一份工作就是实现UI功能,UI在游戏开发中有相当重要的地位。主要负责处理UI交互上的逻辑,需要熟悉游戏引擎和脚本代码的编写。
引擎工程师
如果游戏是自研引擎开发,这些人就决定了引擎的性能与效率。需要熟悉如C++等较为底层的语言和部分计算机图形学知识。
技术美术(TA)
这里指的是偏技术方向的技术美术,需要在计算机图形学上有很深的研究。能够协助美术解决技术问题,协助程序解决美术问题,在游戏里实现或逼真或酷炫的视觉效果。
服务器开发工程师
负责能够联网的游戏的后端逻辑,也需要学习网络编程、数据库、常规运维等知识。
另外,服务器逻辑与客户端逻辑是相通的,并没有看上去差异那么大。

具体建议:
如果题主是在校学生并且专业是计算机相关的,那么学校教授的知识基本涵盖了以上所有职位的基础。不夸张的说,这些课程学到的知识在游戏开发领域几乎都能用到,是决定未来上限的基础。但也正因为太基础,可能现在感觉不到与游戏开发之间的联系,并且学起来很枯燥。
所以在业余空闲的时间可以尝试着学习一下用Unity3D和C#开发一些简单的小游戏,拥有其他编程语言的基础上手会很轻松。这一步的目的是把理论知识与实践结合起来,而且实现自己的小游戏会有一种别样的成就感,有效提高学习时的动力,同时也能思考一下对哪方面比较感兴趣,对未来的学习路线有一个规划。
关于Unity3D的学习可以参考咱们的知乎专栏:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-11 19:40 | 显示全部楼层
游戏开发所要学习的知识范围非常广泛,与编程相关的开发岗位也不少,大概能分为:
客户端 / Gameplay / UI 工程师
主要负责游戏逻辑的实现,除开对引擎和编程语言的熟悉外,还需要一定的数学与物理知识。
国内许多新入行的的人第一份工作就是实现UI功能,UI在游戏开发中有相当重要的地位。主要负责处理UI交互上的逻辑,需要熟悉游戏引擎和脚本代码的编写。
引擎工程师
如果游戏是自研引擎开发,这些人就决定了引擎的性能与效率。需要熟悉如C++等较为底层的语言和部分计算机图形学知识。
技术美术(TA)
这里指的是偏技术方向的技术美术,需要在计算机图形学上有很深的研究。能够协助美术解决技术问题,协助程序解决美术问题,在游戏里实现或逼真或酷炫的视觉效果。
服务器开发工程师
负责能够联网的游戏的后端逻辑,也需要学习网络编程、数据库、常规运维等知识。
另外,服务器逻辑与客户端逻辑是相通的,并没有看上去差异那么大。

具体建议:
如果题主是在校学生并且专业是计算机相关的,那么学校教授的知识基本涵盖了以上所有职位的基础。不夸张的说,这些课程学到的知识在游戏开发领域几乎都能用到,是决定未来上限的基础。但也正因为太基础,可能现在感觉不到与游戏开发之间的联系,并且学起来很枯燥。
所以在业余空闲的时间可以尝试着学习一下用Unity3D和C#开发一些简单的小游戏,拥有其他编程语言的基础上手会很轻松。这一步的目的是把理论知识与实践结合起来,而且实现自己的小游戏会有一种别样的成就感,有效提高学习时的动力,同时也能思考一下对哪方面比较感兴趣,对未来的学习路线有一个规划。
关于Unity3D的学习可以参考咱们的知乎专栏:
游戏开发入门指南——Unity+
发表于 2021-11-11 19:43 | 显示全部楼层


首先你想知道游戏开发要学什么,那么就必须要知道,一个游戏开发人员在具体的工作职责中需要负责什么样的工作。那么我们就从一个游戏开发工程师的工作内容和岗位职责说起吧。
工作内容:
    了解并致力于游戏总体设计;
    配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持;
    负责游戏开发工具和运营维护工具的设计与开发;
    完成游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试;
    管理维护游戏平台的制作与运行;
    与团队其他人员配合,促进游戏的改进创新。
岗位职责
    了解并致力于游戏总体设计;
    配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持;
    负责游戏开发工具和运营维护工具的设计与开发;
    完成游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试;
    管理维护游戏平台的制作与运行;
    与团队其他人员配合,促进游戏的改进创新。
作为一名游戏开发工程师,你必须是要懂技术的,哪怕你是纯粹做美工或者UI,你都或多或少要懂一些技术。
那么问题来了,我们具体要学习或者要知道哪些东西呢?比如以下的技能:
    精通数据库,SQL(主要是Mysql),能独立完成各种复杂的查询
    精通Java服务端编程(Eclipse平台)
    熟悉HTTP、Servlet、Json、XML
    了解Linux
    了解Tomcat
    有良好的面向对象设计能力,了解设计模式
    了解手机游戏系统架构、数据结构和游戏引擎
    熟悉python者优先
经过上面的分析,我想你大概对游戏开发需要掌握什么技能有了一些了解,你现在是本科生,上面的技能当然不可能全都会,行业牛人都是经过很多年的打磨锻炼出来的,这不是自己短暂的学习就能够拥有的能力,都是经过许多实际的开发经验得来的。自己学习的大部分都是理论或者说比较杂的知识,所以刚开始你可以从一方面或者几个方面去学习,其它的进行一个大概了解,但你要有一项技能是特别能拿得出手的,其它的等你在工作中去实践的时候会逐渐接触和学会。还是那句话,实践是检验真理的唯一标准!多实践才能有所成就!
推荐几本对游戏开发干货书籍:
    游戏设计的100个原理 (豆瓣)
    3D游戏编程大师技巧(上下册) (豆瓣)
    WINDOWS游戏编程大师技巧<第2版>(附光盘) (豆瓣)
    游戏人工智能编程案例精粹 (豆瓣)
    游戏机制 (豆瓣)
    cocos2d-x手机游戏开发 (豆瓣)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-11 19:50 | 显示全部楼层
这种宽泛的的问题已经有了好几个了。自己搜搜吧,还有腾讯总监级大佬的回答。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-25 00:56 , Processed in 0.093991 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表