前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >想学C/C加加游戏编程开发——得了解游戏编程——你了解吗?

想学C/C加加游戏编程开发——得了解游戏编程——你了解吗?

作者头像
企鹅号小编
发布于 2018-02-05 09:23:31
发布于 2018-02-05 09:23:31
1.2K0
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

第1部分 入门

第1章 学习开发游戏的基础知识

1.1 认识视频游戏

1.1.1 为什么人们如此沉迷于开发视频游戏

1.1.2 视频游戏的类型

1.2 学习游戏设计的要素

1.2.1 提出基本思想

1.2.2 整理剧情

1.2.3 可视化图形

1.2.4 为游戏选择正确的声音

1.2.5 使用控制器控制游戏

1.2.6 确定游戏模式

1.3 面向对象的编程和游戏

1.3.1 理解OOP

1.3.2 在游戏中应用OOP

1.4 研究相关工具

1.4.1 编译器和开发环境

1.4.2 选择图形工具

1.4.3 选择声音和音乐工具

1.5 小结

1.6 亲身实践

第2章 创建游戏引擎

2.1 什么是游戏引擎

2.2 考虑游戏引擎的作用

2.2.1 将游戏分解为事件

2.2.2 建立游戏的计时机制

2.3 开发游戏引擎

2.3.1 游戏事件函数

2.3.2 GameEngine类

2.4 开发Blizzard示例

2.4.1 编写程序代码

2.4.2 测试完成的程序

2.5 小结

2.6 游戏大变身

第3章 学习绘制基本图形

3.1 图形基础

3.1.1 理解图形坐标系统

3.1.2 学习颜色的基础知识

3.2 查看Windows中的图形

3.2.1 使用设备环境

3.2.2 使用画笔写

3.2.3 使用画刷绘制

3.2.4 使用位图绘制图像

3.2.5 使用调色板管理颜色

3.3 绘制窗口

3.3.1 绘制文本

3.3.2 绘制图元

3.3.3 使用画笔和画刷

3.4 开发Crop Circles示例

3.4.1 编写程序代码

3.4.2 测试完成的程序

3.5 小结

3.6 亲身实践

第4章 绘制图形图像

4.1 位图图像的基础知识

4.2 深入学习位图

4.3 开发位图类

4.3.1 位图类的工作原理

4.3.2 整合代码

4.4 开发Slideshow示例

4.4.1 编写程序代码

4.4.2 汇集资源

4.4.3 测试完成的程序

4.5 小结

4.6 游戏大变身

第2部分 与游戏玩家交互

第5章 使用键盘和鼠标控制游戏

5.1 游戏与用户输入

5.2 了解用户输入设备

5.2.1 接受键盘输入

5.2.2 响应鼠标

5.2.3 使用游戏杆交互

5.3 评估游戏的键盘输入

5.4 跟踪鼠标

5.5 向游戏引擎添加输入支持

5.5.1 添加键盘支持

5.5.2 添加鼠标支持

5.5.3 修改Bitmap类

5.6 开发UFO示例

5.6.1 编写程序代码

5.6.2 测试完成的程序

5.7 小结

5.8 亲身实践

第6章 示例游戏:Brainiac

6.1 游戏的玩法

6.2 设计游戏

6.3 开发游戏

6.4 测试游戏

6.5 小结

6.6 游戏大变身

第7章 使用游戏杆改进输入

7.1 了解游戏杆的基础知识

7.2 校准游戏杆

7.3 追踪游戏杆的移动

7.4 向游戏引擎添加游戏杆支持

7.4.1 访问Win32多媒体功能

7.4.2 开发游戏杆代码

7.5 开发UFO 2示例

7.5.1 编写程序代码

7.5.2 测试完成的程序

7.6 小结

7.7 亲身实践

第8章 示例游戏:Light Cycles

8.1 游戏的玩法

8.2 设计游戏

8.3 开发游戏

8.4 测试游戏

8.5 小结

8.6 游戏大变身

第3部分 在游戏中使用子画面

第9章 使用于画面动画移动对象

9.1 理解动画的基础知识

9.1.1 动画和帧频

9.1.2 了解计算机动画

9.2 2D动画与3D动画

9.3 理解2D动画的类型

9.3.1 基于帧的动画

9.3.2 基于形状的动画

9.4 将子画面动画应用于游戏

9.5 设计通用的子画面

9.6 创建Sprite类

9.6.1 创建和破坏子画面

9.6.2 更新子画面

9.6.3 绘制子画面

9.7 开发Planets示例程序

9.7.1 编写程序代码

9.7.2 测试完成的程序

9.8 小结

9.9 亲身实践

第10章 管理子画面

10.1 了解管理子画面的需求

10.2 设计子画面管理器

10.3 向游戏引擎添加子画面管理器

10.3.1 改进Sprite类

10.3.2 增强游戏引擎

10.4 使用双重缓存消除闪烁

10.5 开发Planets 2示例

10.5.1 编写程序代码

10.5.2 测试完成的程序

10.6 小结

10.7 游戏大变身

第11章 示例游戏:Henway

11.1 游戏的玩法

11.2 设计游戏

11.3 开发游戏

11.4 测试游戏

11.5 小结

11.6 游戏大变身

第4部分 使用声音和音乐

第12章 播放数字声音效果

12.1 理解数字声音

12.2 了解Windows波形声音

12.3 了解声音工具

12.3.1 Sony Sound Forge

12.3.2 Adobe Audition

12.3.3 廉价的声音编辑器

12.4 创建和编辑声音

12.5 查找声音和音乐

12.6 访问波形声音

12.7 播放波形声音

12.7.1 播放文件中的波形声音

12.7.2 播放作为资源的波形声音

12.7.3 循环播放波形声音

12.7.4 停止播放波形声音

12.8 开发Brainiac 2示例程序

12.8.1 编写程序代码

12.8.2 组合资源

12.8.3 测试完成的游戏

12.9 小结

12.10 亲身实践

第13章 播放MIDI音乐

13.1 感受MIDI音乐

13.2 理解Windows媒体控制接口

13.3 使用MCI播放MIDI音乐

13.3.1 打开MIDI设备

13.3.2 播放MIDI歌曲

13.3.3 暂停MIDI歌曲

13.3.4 关闭MIDI设备

13.4 向游戏引擎添加MIDI音乐支持

13.5 开发Henway 2示例程序

13.5.1 编写程序代码

13.5.2 测试完成的游戏

13.6 小结

13.7 亲身实践

第14章 示例游戏:Battle Office

14.1 游戏的玩法

14.2 设计游戏

14.3 开发游戏

14.4 测试游戏

14.5 小结

14.6 亲身实践

第5部分 高级动画

第15章 实现子画面外观动画

15.1 再次介绍帧动画

15.2 设计动画子画面

15.3 向游戏引擎添加动画子画面支持

15.3.1 只绘制位图的一部分

15.3.2 对Sprite类实现动画

15.4 开发Battle Office 2示例程序

15.4.1 编写程序代码

15.4.2 测试完成的游戏

15.5 小结

15.6 游戏大变身

第16章 创建子画面背景

16.1 了解游戏背景的重要性

16.2 了解游戏背景的类型

16.2.1 纯色背景

16.2.2 图像背景

16.2.3 动画背景

16.2.4 滚动背景

16.3 向游戏引擎添加背景支持

16.3.1 创建基本的背景类

16.3.2 创建动画背景类

16.4 开发Roids示例

16.4.1 编写程序代码

16.4.2 测试完成的游戏

16.5 小结

16.6 亲身实践

第17章 示例游戏:Meteor Defense

17.1 游戏的玩法

17.2 设计游戏

17.3 增强游戏引擎中的子画面

17.4 开发游戏

17.5 测试游戏

17.6 小结

17.7 游戏大变身

第6部分 让游戏拥有大脑

第18章 教游戏思考

18.1 理解人工智能

18.2 了解游戏AI的类型

18.2.1 漫游AI

18.2.2 行为AI

18.2.3 策略AI

18.3 开发AI策略

18.4 开发Roids 2示例程序

18.4.1 编写程序代码

18.4.2 测试完成的程序

18.5 小结

18.6 亲身实践

第19章 示例游戏:Space Out

19.1 游戏的玩法

19.2 设计游戏

19.3 向游戏引擎中添加另一个子画面特性

19.4 开发游戏

19.5 测试游戏

19.6 小结

第7部分 增添游戏的趣味性

第20章 使用闪屏增添游戏的活力

20.1 闪屏的重要性

20.2 了解闪屏

20.3 创建Space Out 2游戏

20.3.1 编写游戏代码

20.3.2 测试完成的游戏

20.4 小结

20.5 亲身实践

第21章 使用演示模式展示游戏

21.1 什么是演示模式

21.2 演示模式的细节

21.3 开发Space Out 3游戏

21.3.1 编写游戏代码

21.3.2 测试完成的游戏

21.4 小结

21.5 游戏大变身

第22章 记录高分

22.1 记录得分的重要性

22.2 确定高分数据模型

22.3 存储和检索高分数据

22.4 开发Space Out 4游戏

22.4.1 编写游戏代码

22.4.2 测试完成的游戏

22.5 小结

22.6 亲身实践

第8部分 附加练习

第23章 使用滚动背景更改远景

23.1 什么是滚动背景

23.1.1 横向滚动的背景

23.1.2 纵向滚动的背景

23.1.3 视差滚动背景

23.2 理解滚动背景的工作原理

23.3 向游戏引擎添加滚动背景支持

23.3.1 创建背景图层类

23.3.2 创建滚动背景类

23.4 开发Wanderer示例

23.4.1 编写程序代码

23.4.2 测试完成的程序

23.5 小结

23.6 游戏人变身

第24章 示例游戏:Stunt Jumper

24.1 游戏的玩法

24.2 设计游戏

24.3 开发游戏

24.4 测试游戏

24.5 小结

24.6 游戏大变身

24.7 亲身实践

最后还是要推荐下小编的C/C++游戏编程学习群:六二六八七一九一六,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的C/C++游戏编程和0基础入门教程,欢迎初学和进阶中的小伙伴。

每天晚上20:00我都会开直播给大家分享C/C++游戏编程知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2017C/C++游戏编程学习教程),大家都是学习C/C++游戏编程的,或是转行,或是大学生,还有工作中想提升自己能力的C/C++党,如果你是正在学习C/C++游戏编程的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

本文来自企鹅号 - 冷漠丶媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 冷漠丶媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PyGame:Python 游戏编程入门-1
pygame是SDL 库的 Python 包装器,它代表Simple DirectMedia 层。SDL 提供对系统底层多媒体硬件组件(例如声音、视频、鼠标、键盘和操纵杆)的跨平台访问。作为停滞不前的PySDL 项目pygame的替代品开始了生活。SDL 的跨平台特性意味着您可以为支持它们的每个平台编写游戏和丰富的多媒体 Python 程序!pygame
苏州程序大白
2022/09/16
2.6K0
PyGame:Python 游戏编程入门-1
曾经我也有一个做游戏的梦想,这几本游戏开发的书籍推荐给为未来的游戏工程师
想当年,我也是一名想做游戏开发的程序员,大学的时候照葫芦画瓢做了一个半成品的《炉石传说》一度让我以为我将来会成为一名游戏开发工程师,可惜后来我被C++的学习成本给全退了,于是乎和游戏开发这一领域从此是路人。
程序员书单
2020/06/24
2.1K0
【笔记】《游戏编程算法与技巧》1-6
本篇是看完《游戏编程算法与技巧》后做的笔记的上半部分. 这本书可以看作是《游戏引擎架构》的入门版, 主要介绍了游戏相关的常见算法和一些基础知识, 很多知识点都在面试中会遇到, 值得一读.
ZifengHuang
2022/08/30
4.4K0
游戏开发完整学习路线(各个版本都有)
在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的。 一 平台与编程语言选择 首先,游戏开发的平台就有很多类型:  个人主机平台:Windows、Linux、Mac OC; 移动平台:iOS、Android、Windows Phone、BlackBerryOS、Symbian; 专业主机平台:Xbox、PlayStation、Will等。 如果你想从事移动平台的游戏开发,An
用户1198337
2018/01/19
3.2K0
游戏开发完整学习路线(各个版本都有)
C加加和游戏开发那些事,告诉你怎么用C加加纵横游戏编程
C语言和C++ C 语言可以说是一门设计的非常成功的语言。但是C语言没有OOP的特性,在做一些大型项目的时候力不从心。一些大型的C项目,随着项目的臃肿,人类基本没办 法维护这个项目了。要维护这么庞大的项目而又不出错,只能加入一些OOP特性重构,有经验的C程序员写着写着,很多概念就类似C++了。干脆直接转C++ 算了。 c++ 和c相比,生产效率要高一点。虽然在一些商业游戏引擎中不使用stl自带的模版,但都实现了自己的一套模版库,甚至实现了自己的string库。如今的一 些商业3d引擎基本具备了跨平台的能力,
企鹅号小编
2018/02/26
1.9K0
C加加和游戏开发那些事,告诉你怎么用C加加纵横游戏编程
C加加游戏编程,大神十年的绝技,正确的入门,这才叫学习
1.《C++ primer》 2.《Windows程序设计》 3.《VC++深入详解》 4.《Windows核心编程》 5.《Effective STL》 6.《Windows游戏编程大师技巧》 7.《DIRECTX.9.0.3D游戏开发编程基础》 这个书籍是从零编程基础开始的,其中部分书中涉及到了DirectDraw与Direct3D8,这两个API在新版本DirectX SDK中都被移除了,现在基本上无用武之地,所以涉及到DirectDraw与Direct3D 8的那部分就不用仔细看了哈。 1.Di
企鹅号小编
2018/01/15
1.9K0
C加加游戏编程,大神十年的绝技,正确的入门,这才叫学习
游戏编程之九 设计工具之游戏引擎
  早想写一点游戏设计的文章与大家交流,一是经验的问题,二是公司正在紧张的游戏制作期,实在抽不出多少时间,一直没有动手,今天忽然头脑发热,写了一段,以后准备陆续写一些游戏创意,策划,制作,流程管理,和制作工具等方面的文章供大家参考.
张哥编程
2024/12/17
1230
游戏编程十年总结
游戏编程十年总结 自敲第一行代码起,已经十年多了,今天既不是十年整的日子,也不是一个有特定意义的日子,本来像这种大总结的文章,当择良辰吉日,斋戒沐浴三日,方可动笔。一开始计划是写一篇五年总结的,但各种原因一拖再拖,于是就变成了十年总结。光阴似箭,时不我待,转眼已经在奔三的路上了,离大叔的称呼很近了,但离大神的称呼还很远,在此谨以此文总结反思这十年技术生涯的点滴,与诸君共勉。 编程之前 大概是读初一的时候,家中有幸让我得到了一台二手电脑,那时的心情比现在让我得到一堆苹果电脑更加兴奋。但这是一台不能连网,也没
用户1289394
2018/02/27
2.9K0
游戏编程十年总结
Java游戏编程不完全详解-5
在2D游戏中,地图是整体结构,或者我们叫做游戏地图(game map),通常是几个屏幕的宽度表示。有些游戏地图是屏幕的20倍;甚至是100位以上,主要特点是跨屏幕之后,让地图滚动显示,这种类型的游戏又叫做2D平台游戏(2D platform game)。
老九君
2021/10/26
1.7K0
如何开发一款游戏:游戏开发流程及所需工具
企鹅号小编
2018/01/08
3.5K0
如何开发一款游戏:游戏开发流程及所需工具
为什么Python不适合写游戏?
Python作为脚本语言,一般很少用来开发游戏,但也有不少大型游戏有Python的身影,比如:
派大星的数据屋
2023/02/23
1.4K0
为什么Python不适合写游戏?
浅显易懂的说清楚小游戏和H5游戏的技术区别
从“跳一跳”到“羊了个羊”微信小游戏上线4年时间,除了涌现出不少火爆全网的小游戏之外,也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣,凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个窗口。
用户10245619
2022/12/05
1.5K0
浅显易懂的说清楚小游戏和H5游戏的技术区别
知易Cocos2D-iPhone 游戏开发教程006
在前一章中,我们谈到游戏的场景滚动主要包括3种类型:纵向、横向、纵横向。无论何种画面滚动方式,都需要实现主角在地图中的游历。在游历的过程中需要判断:  1) 是否遇到障碍物。  2) 是否被敌方炮弹击中。  以上两种判断都涉及到游戏中一个十分重要的概念:碰撞探测(Collision detection)。本章将在前一章的基础之上,讲解主教精灵如何在地图中漫游,如何实现碰撞探测,如何通过火炮击中敌人。并且给出简单的敌方AI模拟。总之,完成本章学习之后,读者已经可以开始编写类似于“坦克大战”等基本简单游戏了。  下图就是我们示例ZYG007的游戏画面: 
全栈程序员站长
2021/08/19
4620
原创 | 整理了38个Python游戏开发库
上次山月给大家分享了32个图形化界面(GUI)库,不知道有没有感兴趣的同学去试着设计一下自己想要的界面~
程序员晚枫
2022/05/14
3.7K0
原创 | 整理了38个Python游戏开发库
Godot3游戏引擎入门之四:给主角添加动画(下)
2018-09-27 by Liuqingwen | Tags: Godot | Hits
IT自学不成才
2019/01/08
1.1K0
每个开发者都应该了解的游戏引擎知识
游戏引擎主要用于快速开发游戏,将游戏中固定不变的处理抽取出来,形成完整的游戏主体,用户只需要对开放的接口进行对象设计和驱动即可。在当前的环境,还需要两个特别重要的属性,第一就是跨平台(基本标准),还有一个我觉得更重要是社区的系统,没有强大的网络社区做支撑,再牛B的游戏引擎都很难发挥所长。
open
2020/03/19
1.9K0
每个开发者都应该了解的游戏引擎知识
H5游戏开发指南
在上月底,一则有关HTML5游戏的的消息震惊业界,蝴蝶互动宣布旗下的《传奇世界》月流水破1500万,成为业内首款千万级别爆款游戏,这无疑给H5游戏行业注入了一针强心剂。从H5诞生以来,对于H5游戏一直唱衰不断,而这又一次把H5游戏推向风口浪尖。 区别于寻常的Flash页游,此游戏采用了H5的Canvas技术,能在PC端和移动端跨平台运行。一直以来,游戏开发都是把前沿技术运用到极致的媒介,H5游戏也不例外,这篇文章会从带你从浅入手,深入H5游戏开发的世界。 1、准备条件 1.1、设计师应该注意的地方 移动端最
腾讯大讲堂
2018/02/13
4.7K0
H5游戏开发指南
C++游戏开发
C++ 是游戏开发中的主要编程语言之一,因其性能、控制和广泛的生态系统而受到开发者的青睐。随着游戏行业的迅速发展,C++ 被用来构建许多成功的游戏和游戏引擎。本文将深入探讨 C++ 在游戏开发中的应用,包括基础概念、技术栈、示例代码和实践技巧。
ljw695
2025/05/31
1130
你的游戏开发第0课
电子游戏是许多人喜爱甚至沉迷的事情。尤其对于程序员来说,开发游戏是不少人最初学习编程的动力。在之前,我发过一些游戏开发的教程和案例:
Crossin先生
2018/12/13
7850
从零开始学习PYTHON3讲义(十五)让画面动起来
虽然看起来绘图和音乐并不相关,但是听过了上一讲的内容你一定知道,这是游戏编程中四个需要处理内容的两部分,这两部分必须同时、并行的处理,不能因为某一项计算的拖延,导致另外一方程序的停滞。要知道人对声音的断续和游戏的卡顿是很敏感的。
俺踏月色而来
2019/01/07
1.3K0
相关推荐
PyGame:Python 游戏编程入门-1
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档