从0开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
立即订阅
5825 人已学习
课程目录
已完结 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开始学游戏开发
登录|注册

第6讲 | 从0开始整理开发流程

蔡能 2018-06-07
在第一模块的基础知识中,我已经讲过开发一款游戏需要的一些背景知识。对于 2D 游戏和 3D 游戏的区别、从程序到美术、从 2D、伪 3D 到 3D 等方面,我都进行了逐一地阐述。除此之外,对于任何类型的游戏开发都非常重要的三个概念:游戏引擎、底层绘图接口、地图编辑器,我也进行了一些我个人的解读。
有了这些背景知识,这一节,我来带你整理一下整个游戏开发流程以及流程中所需要的工具。

1. 选择开发环境

我们默认是在 Windows 环境下进行开发,至于是什么版本的 Windows 不需要做更多地阐述,你愿意用什么版本就用什么版本,因为几乎所有流行的 Windows 环境都能进行编程工作。至于我为什么选择 Windows 环境进行开发,那是因为:
首先,在 Windows 环境下,拥有比较方便的调试工具。不管是 Python 脚本语言还是 C/C++ 语言,都可以使用图形界面进行调试;
其次,Windows 下的 IDE 开发环境也比其他平台更多,你拥有更多的工具可供选择。另外,在开发游戏的时候,你可以选择 OpenGL、DirectX 或者 SDL 等图形库进行编程。作为游戏开发,DirectX 几乎是不可或缺的标准,而我在第四节讲述底层绘图接口的时候说过,它是由微软提供的游戏编程接口,在 Windows 下提供了更为方便的底层调用。
除了 Windows 外,Linux 平台的图形显卡驱动几乎是不完善的,无法发挥显卡的最大优势。苹果平台又一家独大,开发人员只能为其定制专一的代码,开发难度比之 Windows 就大了不少。

2. 下载脚本工具

在开发过程中,我们需要用到 Python、Lua 或者 Ruby 等脚本工具。我们可以直接用 Python 或者 Ruby 开发简单的游戏模块的 Demo。由于脚本语言代码的简单和高可读性,所以由脚本语言入手,进行早期示例的代码剖析,是一个不错的选择。
Python 我们可以从 python.org 下载,Lua 我们可以从 lua.org 下载,相应地,Ruby 也可以在 ruby-lang.org 下载。为了考虑兼容性,Python 建议使用 2.7.x 版本。Lua 下载最新的版本即可。Windows 下 Python 的源代码编译并不方便,所以建议下载 MSI 安装包,直接安装即可。因为之后我要使用 Pygame 进行示范,所以建议你使用 32 位的 Python 版本。

3. 选择编程语言版本

在开发的过程中,一定会用到 C/C++ 语言。
如果你要使用 VC++ 的话,会涉及购买、安装和配置等情况。为了使这个专栏的内容尽量简洁、可用,我建议使用 Windows 下,移植版本的 GCC 和 G++ 进行编译(也就是 MinGW 移植版),GCC 版本为 4.2.x 或者以上版本。有人说这些版本太老了,我认为,初学阶段,版本越新,意味着你需要知道的编译器内容和编译器开关就越多,因此建议你选择较为稳定的 4.2.x 或以上版本。
对于 C++ 而言,我们也不需要用到最新的 C++ 标准,比如 C++11 等。对于 C 语言,我们默认使用 C89 或者 C99 都是可以的。简洁、高效、显而易见,是我一向遵从的原则。

4. 下载编译器

关于 C/C++,你可以去 MinGW 官网下载 4.2.x 版本。当然如果你希望使用其他更新的版本也不是不行,你可以直接下载安装器,来获取编译器的版本。下载地址是这个:https://sourceforge.net/projects/mingw/files/Installer/
你也可以按照你的需求定制下载。如果要成为完整的编译器,必须下载这些内容:
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学游戏开发》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(22)

  • Geek_King@技术爱好者
    >pygame 有64位版本
    >python IDE可以试试pycharm或者vscode+插件
    2018-06-08
    6
  • 以往
    1.将需要使用的C文件编译成.so
    2.在python使用时以module形式import,SDL库里的任意函数都可以被调用
    2018-06-07
    4
  • 戳戳猫
    visual studio community 2017不要钱……
    2018-06-08
    3
  • 艾尔欧唯伊
    .a后缀不是Linux下的静态库文件么。。。win下是.lib吧?

    作者回复: MinGW是gcc的移植版本,所以编译出来的是.a文件

    2018-06-11
    1
    2
  • 呵呵
    这节很实用
    2018-06-08
    2
  • 叶Da
    老师我想请问一下vc++和vs有何区别

    作者回复: VC++是编译器,VS是IDE

    2018-07-15
    1
  • 川杰
    你好,请问IDE为什么不选用visual studio2017社区版(免费)?它继承了c/c++和python,并且功能强大。

    作者回复: 各人喜好,并不强制

    2018-06-17
    1
  • 张旭
    感谢老师的整理和讲解,收益匪浅,我会跟着进度走下去哒。
    2018-06-09
    1
  • 我叫JB
    为何还会用到Python2呢,Python3入的门,感觉Python2和Python3的很多库都不一样,改来改去很麻烦Ծ‸Ծ

    作者回复: pygame有3的包,但大量用户还是在用2,为了照顾广大用户所以选择2

    2018-06-08
    1
  • 茂陵刘郎秋风客
    必须要32位?

    作者回复: 不是必须,为了广大兼容性,所以考虑使用32位,和64位并不冲突

    2018-06-07
    1
  • 野山门
    很喜欢这个游戏专栏,受益非浅。

    Qt的绘图引擎好像也很不错,跨平台,有没有这方面的使用案例和分析?

    作者回复: 本次教程没有涉及

    2018-06-07
    1
  • 天青
    这些配置好繁锁啊,入门门坎也挺高的。
    2019-07-23
  • Geek_2a8c66
    踩坑了,MinGW Studio给创建lua项目的路径的时候不能有空格或_之类,最好就光一堆英文
    2018-12-07
  • 和风
    编辑python可以用jupyter notebook吗?
    2018-07-28
  • 和风
    python可以用anaconda吗?
    2018-07-28
  • 袁去病自然学派
    Lua静态库,完全不知道怎么找……解说不详尽呢

    作者回复: 不知道怎么找的意思是编译器找不到?还是IDE设置?

    2018-07-12
  • 小宝儿
    python3.6可以用whl安装pygame,源码安装会出问题,我试了。
    2018-07-02
  • 梦阳
    身边没有Windows电脑,在Mac上没办法follow这个课程了吗?

    作者回复: 有python就可以

    2018-06-20
  • 淡看烟雨_
    什么叫绑定实现?前面课里不是说pygame包括了对SDL的封装吗?如果绑定是指使用SDL类库的功能,直接调用sdl相关modules不就可以了吗?

    作者回复: pygame封装了sdl,直接使用sdl模块也可以,就看你用不用pygame了。

    2018-06-13
  • 茂陵刘郎秋风客
    我安装的是3.6的32位,要怎么安装

    作者回复: 目前pygame只支持到3.2,你可以使用源码安装方式尝试安装。

    2018-06-12
收起评论
22
返回
顶部