视频链接:游戏开发入门(一)游戏开发概述(3节课 时常:约1小时03分钟)
该视频围绕电子游戏的发展与开发简单介绍了一些基本常识,同时提出并解决了几个问题


笔记与总结(请先学习视频内容):

1.游戏机发展

  • 20世纪70年代开始 首款主机magnavox odysse
  • 80年代 红白机
  • 80-90年代 各类非FC主机(PS,NDS等) PC单机游戏
  • 90年代-2000年 局域网对战游戏
  • 2000年后 大型多人游戏 页游 手游
  • 现在 VR,AR ..

2.游戏是如何开发出来的,开发流程是什么?
原始的游戏比较粗糙,内容也很少,一般就一个人开发,美术与策划都由自己完成(建议看看《doom启示录》)。
随着游戏逐渐变得复杂,需要多人去合作完成,分工也变得明显。简单的流程如下:

  • a.首先讨论确定游戏的基本内容,类型等,对游戏项目立案
  • b.程序员构建最基本的游戏框架,单机还是网游,什么平台(在当前,某些非常简单的游戏demo也可以跳过编程,直接使用游戏引擎)
  • c.策划对游戏细节进行设计与构建(包括剧情,玩法,关卡,数值,系统等)
  • d.美术需要根据当前策划设想的游戏世界,提供合适的艺术效果(包括原画,模型,特效,UI,动画,场景等)
  • e.程序,美术,策划三方不断的相互沟通完善游戏内容并不断的测试调优(这是最为耗时的一个流程) 注意:这里策划不仅仅是思考游戏的玩法,还需要将程序员留出来的接口做各种配置,因为项目的需求变化过于频繁
  • f.游戏内容基本完成后,需要质检等人员开始测试,程序员修复Bug
  • g.游戏经过一定测试后,发布。同时交由运维人员做基本的维护,发布前期一定有bug,还需要各个职能人员互相配合

2.开发游戏需要哪些技术?

  • a.作为一个程序员需要的基本素质:包括掌握基本语言编程,深入了解语言特性,了解计算机相关基础,设计模式等 其实就这一块很多人就很难达标,不过我们可以在做游戏的同时提升自己的功底
  • b.构建一个游戏需要了解不同平台的相关技术,但一般不需要太深入
  • c.需要有一定的引擎知识,尽可能熟悉引擎各个功能的使用
  • d.常见的脚本技术(lua等)
  • e.随着3D游戏的发展,需要对图形图像知识有一定深度的理解(涉及到数学,非常复杂与庞大的模块)
  • f.网络游戏需要掌握基本网络基础知识(TCP/IP,Socket,Http),了解同步机制
  • g.动画技术
  • h.了解会使用物理引擎
  • i.基本的场景管理技术
  • j. AI相关技术,游戏中大部分的AI还是比较简单的,不需要机器学习

3.程序员一般负责的内容是什么?

  • a.实现策划需求(大部分是逻辑需求)
  • b.提供内部工具,加快开发。比如当前引擎不支持某种NPC对象的高亮显示,无法拖拽资源到游戏里面等功能,需要程序员提供 提高开发效率
  • c.修复Bug
  • e.优化体验,也就是常说的性能优化,提高帧率,减小内存开销等等

目前规模较大的公司,程序员也分为多种(一般分为逻辑程序员和引擎程序员),所完成的内容也有差别。
逻辑程序一般属于频繁与策划沟通,直接对项目需求进行开发的程序
引擎程序一般是研究引擎功能,优化引擎(提示表现,提高性能等),不过这也并不是绝对的。

4.如何入行游戏(建议)

  • a.夯实基础(语言,数据结构,算法,网络,操作系统,图形学等)
  • b.对游戏开发有一个基本的认识,建议可以先根据我的文章讲解看一遍这个系列的视频(遇到不懂的名词就去查,就去研究), 然后通读一遍游戏引擎架构
  • c.实践!选择一个游戏引擎然后动手开发游戏demo,参考其他游戏demo,尽可能的应用学过的游戏知识。多思考,多理解
  • d.想办法进入业界,从项目中吸取知识。如果有机会的话(应届生机会比较多),只要程序基础够也是可以加入该行业的

5.新手与真正开发者的差距有哪些?
最多的就是经验了,前面提到的技术都是概括性的,每个方面深入进去都是无限的坑。新手一般只会用而不懂为什么这么用, 真正有经验的开发者不仅会用,甚至可以模仿出来一套几乎相同的框架并完善,遇到问题也有更多的解决思路与方案。


上一篇:游戏开发入门系列(目录)
下一篇:游戏开发入门教程(二):游戏中的设计模式

原文链接(转载请标明):http://blog.csdn.net/u012999985/article/details/78797928

更多推荐