从0开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
立即订阅
5803 人已学习
课程目录
已完结 41 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 跟我学,你也可以开发一款游戏!
免费
第一章:游戏开发基础知识 (5讲)
第1讲 | 游戏开发需要了解哪些背景知识?
第2讲 | 2D游戏和3D游戏有什么区别?
第3讲 | 游戏的发动机:游戏引擎
第4讲 | 底层绘图接口的妙用
第5讲 | 构建游戏场景的武器:地图编辑器
第二章:客户端开发 (10讲)
第6讲 | 从0开始整理开发流程
第7讲 | 如何建立一个Windows窗体?
第8讲 | 如何区分图形和图像?
第9讲 | 如何绘制游戏背景?
第11讲 | 如何载入“飞机”和“敌人”?
第12讲 | 如何设置图像的前后遮挡?
第14讲 | 如何设置精灵的变形、放大和缩小?
第15讲 | 如何设置淡入淡出和碰撞检测?
第17讲 | 如何制作游戏资源包和保存机制?
第18讲 | 如何载入背景音乐和音效?
第三章:UI和键盘鼠标 (3讲)
第20讲 | 如何在游戏中载入UI和菜单?
第21讲 | 如何用鼠标和键盘来操作游戏?
第23讲 | 如何判断客户端的网络连接?
第四章:脚本语言 (3讲)
第24讲 | 如何嵌入脚本语言?
第26讲 | 脚本语言在游戏开发中有哪些应用?
第27讲 | 如何使用脚本语言编写周边工具?
第五章:服务器端开发 (6讲)
第29讲 | 如何选择合适的开发语言?
第30讲 | 如何定制合适的开发协议?
第32讲 | 不可忽视的多线程及并发问题
第33讲 | 如何判断心跳包是否离线?
第35讲 | 如何用网关服务器进行负载均衡?
第36讲 | 如何制作游戏内容保存和缓存处理?
第六章:热点剖析 (9讲)
第10讲 | 热点剖析(一):HTML5技术是如何取代Flash的?
第13讲 | 热点剖析(二):如何选择一款HTML5引擎?
第16讲 | 热点剖析(三):试试看,你也可以编写一款HTML5小游戏!
第19讲 | 热点剖析(四):安卓端和苹果端游戏开发有什么区别?
第22讲 | 热点剖析(五):如何选择移动端的游戏引擎?
第25讲 | 热点剖析(六):AR和人工智能在游戏领域有哪些应用?
第28讲 | 热点剖析(七):谈谈微信小游戏的成功点
第31讲 | 热点剖析(八):谈谈移动游戏的未来发展
第34讲 | 热点剖析(九):谈谈独立开发者的未来发展
加餐 (3讲)
复习课 | 带你梳理客户端开发的三个重点
课后阅读 | 游戏开发工程师学习路径(上)
课后阅读 | 游戏开发工程师学习路径(下)
结束语 (1讲)
结束语 | 做游戏的过程就像是在雕琢一件艺术品
从0开始学游戏开发
登录|注册

第3讲 | 游戏的发动机:游戏引擎

蔡能 2018-05-31
估计长期玩游戏的玩家,都能脱口而出几款游戏引擎的名字,比如“虚幻”“寒霜”“狂怒”等等。那你能说说,游戏引擎究竟是什么吗?它在游戏开发中究竟起着什么样的作用呢?

游戏引擎是什么?

汽车没有发动机就无法跑起来,人类没有心脏就会死亡。而引擎就是发动机,就是心脏。
我们先来看一下维基百科对于游戏引擎的定义:
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程序而不用由零开始。大部分都支持多种操作系统平台,如 Linux、Mac OS X、Windows。大多数游戏引擎包含以下系统:渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
这个概念是不是看起来还是不太好理解?我来具体解释一下,游戏引擎到底是什么,以及它究竟能干什么。
游戏引擎就是图形引擎。准确地说,游戏引擎约等于图形引擎。玩家口中所说的“虚幻”“寒霜”等,这每一款引擎对于图形渲染的处理方式都不同,所以用某个引擎编写出来的游戏,具体的表现画面也会不同。比如,有的引擎编写出的光影效果特别绚丽,有的则粒子效果特别真实。
游戏引擎是一整套游戏解决方案。其实,游戏引擎并不仅仅等同于图形引擎。图形引擎只是游戏引擎中一个占比极大的组成部分。一款好的游戏引擎,不仅要看它对于图形图像的处理能力,也要看它对于其他部分的处理能力,比如对音频、音效的播放、键盘鼠标的处理,以及 UI 界面的编辑和各种处理工具的提供。这里的处理工具包括地图编辑器、关卡编辑器、人物编辑器、资源编辑器、物理碰撞、碰撞检测等。所以,从专业的角度讲,游戏引擎是完成开发一套游戏的解决方案,而不仅涉及图形部分。
游戏引擎是一整套编程接口。要写游戏就必须写程序,所以有游戏引擎就一定需要编程。不管你是直接面对引擎编写代码,还是在引擎提供的编辑器(比如关卡编辑器)基础上编写简单的逻辑代码,写代码都是必不可少的。在引擎提供的编程接口上,你能很容易地调用各种接口完成游戏的开发。

游戏引擎是怎么工作的?

说完了游戏引擎是什么,我们来看游戏引擎具体是怎么工作的。
我先从代码层面来说。这里是一段伪代码:
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学游戏开发》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(30)

  • DeathKnightH
    文中也说到了,游戏引擎中占比极大的一部分是图形引擎,所以我觉得制作的游戏如果对图形渲染没有要求,可以绕过游戏引擎。
    2018-05-31
    19
  • 宋桓公
    没钱买引擎的时候
    2018-06-26
    7
  • Geek_King@技术爱好者
    纯文字游戏 😊
    2018-05-31
    6
  • Kun
    当游戏引擎给你带来的优势并不明显时,可以跳过

    比如你想通过做一个扫雷来熟悉C语言,那直接用printf打印整个雷区就行,有没有引擎对主目标影响不大

    再比如你要做个demo验证游戏性,可能简单的基于字符的交互就能满足需求,那也就没必要上图形引擎了
    2018-05-31
    3
  • 974
    游戏引擎是不是相当于框架?

    作者回复: 确切地说,是游戏解决方案

    2018-06-04
    2
  • 管理员
    不知道什么样的游戏可以跳过引擎。请老师公布答案。

    作者回复: 有人回答的不错,简单的游戏,比如围棋象棋,之类的,可以直接写。

    2018-06-01
    2
  • lalin
    使用的框架本身已經支援大量的圖片和聲音等遊戲相關的調用方法
    2018-06-01
    1
  • Anubis
    文字为主的游戏
    2018-05-31
    1
  • 山东人儿
    这么看来游戏引擎算是开发工具了。
    那游戏引擎也是游戏运行的基础吗,玩家下载的游戏里面有没有这个游戏引擎?
    2019-07-29
  • 大概类似于微信小游戏的跳一跳 这种 应该可以不需要游戏引擎吧。大概就是比较简单的,画面和音效,地图等要求不高的游戏。
    2019-06-03
  • 😯
    逻辑功能和图形界面都非常简单的游戏,用引擎反倒增加了学习成本
    2018-11-22
  • hailowell
    文字游戏 简单游戏
    或者体积小的游戏比如在评估中引擎内容会占整个游戏的一半以上也会跳过?
    2018-10-10
  • hardcoreYutian
    老师发给我们的用scratch编的小游戏
    2018-10-02
  • Breakn a Sweat
    就像世界上最小的游戏,字母国际象棋
    2018-08-07
  • third
    反过来理解就行了,
    引擎提供了图像,音频,键盘等解决方案。
    那就没有这些的就可以。纯靠逻辑的游戏
    2018-06-10
  • 七里香
    纯文字游戏或者贪吃蛇吧,他们不需要贴图之类的…
    2018-06-10
  • 嚴脂红.*
    当你的游戏不需要游戏引擎提供的那些复杂功能时,比如一个贪吃蛇游戏就不需要那些音频,特效,寻路等功能,那就不一定需要用游戏引擎了,当游戏引擎不能给开发带来很大的方便,那就不需要游戏引擎。
    2018-06-09
  • 新琇 👻
    c#和unity呢

    作者回复: 也是引擎

    2018-06-02
  • Giaken
    文字冒险类游戏可以直接跳过引擎。
    2018-06-01
  • 壬大师
    手游服务器端除了用C++,其它用什么语言技术比较合适呢?

    作者回复: java python go nodejs 都可以,看项目

    2018-06-01
收起评论
30
返回
顶部