游戏开发入门(二)游戏开发概述 Myth丶恋晨 2023-05-28 09:51 1阅读 0赞 **这篇文章主要以问题的形式给大家解答下面几个问题:** **1.****游戏是如何开发出来的,开发流程大概是什么样子的?** **2.****游戏相关的职位都有哪些?** **3.****开发游戏需要哪些技术或能力?** **4.****程序员一般负责的内容有哪些?** **5.****如何入行游戏开发,有哪些书籍与资料****(****建议****)****?** **6.****新手与真正开发者的差距有哪些?** -------------------- ![format_png][] **1.游戏是如何开****发出来的,开发流程大概是什么样子的?** 原始的游戏相对比较粗糙,内容也很少,一个人就可以开发,美术与策划都由自己完成(建议看看《doom启示录》)。 随着游戏逐渐变得复杂,需要多人去合作完成,分工也变得明确。现在很多游戏开发的基本流程大概是这样的: a.首先讨论确定游戏的基本内容,类型等,对游戏项目立案 b.程序员构建demo,初步决定最基本的游戏框架。如单机还是网游,PC、手机还是主机,采用什么引擎(在当前,某些非常简单的游戏demo也可以跳过编程,直接使用游戏引擎构建) c.demo测试通过,策划开始对游戏细节进行设计与构建(包括剧情,玩法,关卡,数值,系统等) d.美术需要根据当前策划设想的游戏世界,提供合适的艺术效果(包括原画,模型,特效,UI,动画,场景等),定制美术制作标准 e.程序,美术,策划三方不断的相互沟通完善游戏内容并不断的测试调优(这是最为耗时的一个流程)注意:这里策划不仅仅是思考游戏的玩法,还需要将程序员留出来的接口做各种配置,因为项目的需求变化过于频繁 f.游戏内容基本完成后,需要质检等人员开始测试,程序员修复Bug g.游戏经过一定测试后,发布到指定的平台上 h.交由运维人员做基本的维护,发布前期一定有bug,还需要各个职能人员互相配合 > 注:最近几年独立游戏开始流行起来,一个团队少则一个人,多则不超过10个人,制作流程基本上与上面相似。独立游戏由于人员限制很难完成AAA级游戏或大型网游,一般靠独特的游戏风格与玩法取胜。参考Brade,Limbo,Journey等 ![format_png 1][] **2.****游戏相关的职位都有哪些?** **直接参与游戏制作** **游戏策划(GameDesigner):**负责游戏各个模块的设计工作。包括数值设计,关卡与资源设计,系统玩法设计,剧情文案设计(对于RPG游戏来说可能有一个单独的职位),战斗设计,AI设计等 > 【按照管理等级】可简单分为 普通策划、策划主管、主策、产品总监。一般招聘的时候还可能会招某一类型游戏的策划,如RPG游戏设计、FPS游戏设计。 **游戏美术(Artist):**负责展示游戏的艺术效果。包括原画,平面,场景,动作,角色,特效,CG设计,技术美术(TA)等 > 【按照管理等级】可简单分为 普通美术、美术主管、主美、美术总监。 **游戏开发程序(Programmer):**总的来说有逻辑程序员(GamePlay)与引擎程序员(GameEngine)两种。逻辑程序员一般又包括客户端程序( AI,战斗,通用功能,UI界面等)和服务器程序(职位比较笼统)。引擎程序一般包括客户端引擎(渲染效果研发,物理表现)、服务器引擎、游戏工具、通用逻辑引擎(如AI通用框架)等 > 【按照管理等级】 普通开发人员(引擎专员)、主管、主程、技术总监 > > 【按照技术划分】所有的职位可以加“高级”,“专家”,“资深”等关键字来区别技术要求 > > Windows开发工程师(客户端/服务器),Unity开发工程师(客户端/服务器),Unreal开发工程师(客户端/服务器),Cocos2D开发工程师(客户端/服务器),手游开发工程师(客户端/服务器),C++开发工程师,Python开发工程师,Java后台开发,VR开发工程师,引擎开发工程师,图形学/视觉算法工程师,人工智能工程师,游戏音频工程师 **音效师/配乐师(Sounds Specialist):**主要是负责游戏内各种音效的制作以及配乐。这一部分有很多小型一点的公司会做外包(美术也有很多外包) **游戏制作人(Game Producer):**要指全面掌握了从研发到运营整个体系知识的游戏项目的总负责人,在其管理下实现游戏研发运营一体化 **间接参与游戏制作相关** **项目经理:**和游戏制作人的职责相似,不过更侧重管理游戏项目的进度,协调人员安排等。有一些游戏项目,项目经理与游戏制作人是同一个人 **游戏支持程序:**与游戏开发相关,但是并不直接参与游戏项目。如大数据分析,游戏安全工程师,平台开发工程师等 **本地化人员:**简单来说就是负责翻译,但是实际上工作会更复杂一些,需要根据当地的文化或者背景来调整游戏内容 **视频剪辑师:**负责游戏内过场动画或CG的设计。动画导演,普通剪辑师等 **质检/测试工程师:**负责测试游戏中的各种bug与问题,在任何一个项目里测试都是一项非常重要的工作,规模大一些的公司一般有一套完整的测试流程与规范。 **运营与维护:**进行运营数据分析,负责上线项目的维护与调整等 **市场:**负责游戏的营销与推广。如商务拓展,品牌经理,市场分析,发行渠道经理等 **客服:**反馈玩家问题 **3.****开发游戏需要哪些技术?** 由于本人是程序,对其他职位的技术认识有限(简单提一下),这里主要列举游戏程序需要掌握的开发技术 a.作为一个程序员需要的基本素质:包括掌握基本语言编程,深入了解语言特性,了解计算机相关基础,设计模式等。其实就这一块很多人就很难达标,不过我们可以在做游戏的同时提升自己的基本功底 b.构建一个游戏需要了解不同平台的相关技术(如XBOX、PS4的接口对接等),但一般不需要太深入 c.需要有一定的引擎知识,尽可能熟悉引擎各个功能的使用 d.常见的脚本技术(lua等) e.随着3D游戏的发展,需要对图形图像知识有一定深度的理解(即渲染技术(涉及到非常多的数学知识),非常复杂与庞大的模块) f.网络游戏需要掌握基本网络基础知识(TCP/IP,Socket,Http),了解同步机制 。对于专业的服务器程序,需要非常熟悉网络编程、跨平台通信、网络通信优化、常见游戏服务器架构等 g.动画技术(骨骼动画,IK等) h.了解会使用物理引擎 i.基本的场景管理技术(八叉树等) j. AI相关技术,游戏中大部分的AI还是比较简单的,并没有用到机器学习,不过现在很多公司也在尝试着用深度学习处理游戏AI(“For Honor” 里面的动画系统就使用到了) 美术:除了基本的美术功底,需要熟练使用某些工具(Maya,ZBrush,游戏引擎等),对美术工作流有一定的认识与理解(各种贴图的使用,常见的优化。技术美术对这些方面的要求很高) 策划:需要掌握一些常见的脚本,熟练使用相关的工具(当然最重要的还是游戏设计能力!) ![format_png 2][] 图片转自知乎: https://zhuanlan.zhihu.com/p/24424967 **3.****程序员一般负责的内容是什么?** a.实现策划需求,简单一点的是小的逻辑功能,复杂的可能要提供一套完整的逻辑框架 b.提供内部工具,加快开发。比如当前引擎不支持某种NPC对象的高亮显示,无法拖拽资源到游戏里面,这些需要程序员提供相关插件或工具来提高项目开发效率 c.修复Bug e.优化体验,也就是常说的性能优化,提高帧率,减小内存开销等等 前面提到过程序员也分为多种(一般分为逻辑程序员和引擎程序员),目前规模较大的公司会分的比较细,所完成的内容也有很大差别。 逻辑程序一般需要频繁地与策划沟通,直接对项目需求进行开发的程序 。 引擎程序一般是研究引擎功能,优化引擎(提示表现,提高性能等),提供通用框架或工具。 **4.****如何入行游戏开发,有哪些书籍与资料****(****建议****)****?** a.夯实基础(语言,数据结构,算法,网络,操作系统,图形学等) b.对游戏开发有一个基本的认识,看一看相关的书籍(**如《游戏引擎架构》,文末有相关书籍的分享**),文章(比如我的这个系列),视频(GAD上游戏开发入门系列),遇到不懂的名词就去查去研究,网站(有很多,找个时间单独分享一下) c.实践!选择一个游戏引擎(Unity,UE)然后动手开发游戏demo,参考其他游戏demo,尽可能的应用学过的游戏知识。多思考,多理解 d.想办法进入业界,从项目中吸取知识。只要程序基础不赖都是有机会加入该行业的 **5.****新手与真正开发者的差距有哪些?** a.技术功底。对于一名合格的开发者,应该熟练掌握游戏中一个或多个方面的技术,在面对各种问题时都可以迅速上手。因为熟知原理,解决问题的速度也相当快。而很多新手遇到问题经常是盲目的搜索并尝试,效率很低,不过也不用过分焦虑,这是新手必须经历的阶段之一 b.经验。前面提到的技术都是概括性的,每个方面深入进去都是无限的坑,只有踩过才能印象深刻。新手一般只会用而不懂为什么这么用,真正有经验的开发者不仅会用,还可以模仿出来一套几乎完全相同的框架并进行完善,遇到问题也有更多的解决思路与方案 往期热门文章: ## [游戏开发入门(一)游戏发展史][Link 1] ## ## [想做游戏开发,我应该会点啥?][Link 2] ## ## [如何学习大型项目的源码?][Link 3] ## ## [我的2018 Unreal Open Day参会总结][2018 Unreal Open Day] ## -------------------- ![format_png 3][] 关注后回复“gamebook”,可获取大量游戏开发相关书籍。之后还会陆续更新更多关于面试笔试,游戏开发,虚幻引擎等相关的学习资料~ [format_png]: /images/20230528/e54bc5901eaf41b89773981e19643c5c.png [format_png 1]: /images/20230528/c25451b1adb844c1997cd62d272032fa.png [format_png 2]: /images/20230528/39a91ec8a30a49c89554cd6b96b93ccf.png [Link 1]: https://mp.weixin.qq.com/s?__biz=MzU4NDYwNDI2NQ%3D%3D&chksm=fd960e3ccae1872a3dd460a8c873f267f42888ba28765ea2f5fb665447f99fa88e1af9ec085d&idx=1&mid=2247483706&scene=21&sn=c92eff6d070de5b5cc859b4f22968bd8#wechat_redirect [Link 2]: https://mp.weixin.qq.com/s?__biz=MzU4NDYwNDI2NQ%3D%3D&chksm=fd960e0acae1871cee9e385b10141cf6e2ccf26ee627aae6c1fe811a23ed16f0395f0f7984b5&idx=1&mid=2247483660&scene=21&sn=c966e2d9015e8082f1d5c940a0d8fd23#wechat_redirect [Link 3]: https://blog.csdn.net/u012999985/article/details/80877671 [2018 Unreal Open Day]: https://mp.weixin.qq.com/s?__biz=MzU4NDYwNDI2NQ%3D%3D&chksm=fd960e0ecae18718d2ae9eef6db53230e91b364fd78439fa81d356641158d07904b2c07a304f&idx=1&mid=2247483656&scene=21&sn=3c6ee4e9c4c0b29f154697adcfe29598#wechat_redirect [format_png 3]: /images/20230528/ab260e1782064396a4c90dc26848e852.png
还没有评论,来说两句吧...