|
如果你会一点C、C++语言,你就可以学习游戏编程了,开发真正的游戏!如果你学过一点C++更好,没学过也没关系。本课程教你从零基础开始开发7个完整的游戏:Brainiac、Light Cycles、Henway、Battle Office、Meteor Defense、Space Out、Stunt Jumper。教程无KEY wmv版本,手机平板等移动设备均可观看!5 Z' H, ^+ p! X: x
【课程目录】
W: z9 @6 o/ _! }0 g, C! C第1部分 入门 ! u" w r$ H2 i5 y' X
第1章 学习开发游戏的基础知识 * D4 b( f3 O8 U: s) M
1.1 认识视频游戏
+ ^, W; ]8 T/ a" X3 x$ L' g 1.1.1 为什么人们如此沉迷于开发视频游戏
* X/ i0 v R- M* u 1.1.2 视频游戏的类型 # u x2 w6 }+ f4 h2 v3 }6 P
1.2 学习游戏设计的要素
* N. u5 l1 G7 r 1.2.1 提出基本思想 % S6 }* q2 n# ?
1.2.2 整理剧情
; O$ h, ]! d. e 1.2.3 可视化图形 $ G, ^7 n( P6 x4 O
1.2.4 为游戏选择正确的声音 ' C3 H6 R# H* }, y3 h
1.2.5 使用控制器控制游戏 * [3 U4 X! V: h" f
1.2.6 确定游戏模式 5 \ R/ _: d- f7 l1 ^4 P8 D; U
1.3 面向对象的编程和游戏 ( j9 x7 B) S: f' e
1.3.1 理解OOP
( T/ C8 Y ]5 _2 N* R J4 \' X 1.3.2 在游戏中应用OOP
# ?* }/ I) c" _1.4 研究相关工具 0 p" \( B9 c% w9 k& O9 U, g/ n
1.4.1 编译器和开发环境
Z. K" W$ X5 m2 {, H( M' D Y; t 1.4.2 选择图形工具 5 f) ? l r& [& U
1.4.3 选择声音和音乐工具 ) u& }$ C+ g4 \% u0 L: L
1.5 小结 + Y0 N$ I4 g# V: K0 E% V' p5 V* m* ]- ]
1.6 亲身实践
2 h$ o, K s$ L. ` R% v第2章 创建游戏引擎
8 ^$ f/ F+ N) g6 N2.1 什么是游戏引擎 3 r! \3 f- ~, T' V
2.2 考虑游戏引擎的作用 : U+ k3 [8 g) Q+ j
2.2.1 将游戏分解为事件 N, H2 l% ~5 y4 e! f/ Z
2.2.2 建立游戏的计时机制 * R% ~. V6 |1 T" z- V
2.3 开发游戏引擎
4 J: ^+ [, v+ G2 E9 E 2.3.1 游戏事件函数
5 |$ w0 m: ?3 a7 t$ y! x5 \ 2.3.2 GameEngine类 + x2 t- K6 U6 D7 d, j9 k
2.4 开发Blizzard示例 * ~2 k2 s# q+ i3 Y5 j
2.4.1 编写程序代码
7 r' J! ?. d( K8 v7 h6 e. D 2.4.2 测试完成的程序 1 \4 ?# t1 `7 b' a( ~9 f! C
2.5 小结 0 w- a0 d$ q: l: s
2.6 游戏大变身 9 `4 Q( @" I4 N. L
第3章 学习绘制基本图形
% S: |4 ?& y5 X; h3.1 图形基础 - l) E+ \! c6 ]2 v$ L; H
3.1.1 理解图形坐标系统
7 U/ l: n* z8 u" A 3.1.2 学习颜色的基础知识
0 }& S1 e* R9 F9 t; [3.2 查看Windows中的图形 " ?% k' K) ^1 E1 o
3.2.1 使用设备环境
1 Z- \/ F% S* Y# b4 u, n8 O 3.2.2 使用画笔写 4 v7 x& W' O$ t/ Z3 c9 u
3.2.3 使用画刷绘制
% ?2 `" y' S3 d 3.2.4 使用位图绘制图像
; Q# D) b6 J$ r* w3 h- y 3.2.5 使用调色板管理颜色 " z' _6 U' p! Z" O' o j f
3.3 绘制窗口 + l, D/ L# S2 H% ]9 z
3.3.1 绘制文本
/ }8 R9 U [) x. S1 k 3.3.2 绘制图元 # J4 Y* F* i K% L( k
3.3.3 使用画笔和画刷
' ^! N* [" O* P+ T% f2 g) e3.4 开发Crop Circles示例
+ d# w& J) L2 c# p' ]! Q- x 3.4.1 编写程序代码 + y% a+ |$ a+ | g3 B
3.4.2 测试完成的程序 7 ~1 W+ B5 X* h- o
3.5 小结
$ |$ n0 Y) \& G' G! r3.6 亲身实践
. T2 i7 d" \/ c. G7 }第4章 绘制图形图像
. X7 L9 l5 s( b+ t$ }4.1 位图图像的基础知识 * r5 n/ F* z* X! j1 W
4.2 深入学习位图
4 ~: a. W0 n& M$ J; b) L9 O E8 |; n4.3 开发位图类
0 [) g4 Q4 S4 X u 4.3.1 位图类的工作原理 % N; W3 n9 e- G+ F; G% i" F" b1 G
4.3.2 整合代码
& A, `' r2 e/ F- P1 K4.4 开发Slideshow示例
0 E3 t! |# ?2 {5 ? 4.4.1 编写程序代码 - l1 C+ o( l) W) i# f. H
4.4.2 汇集资源 , h7 Y, L5 @ t2 T
4.4.3 测试完成的程序
/ `: Z2 E& w" o& j+ N; n4.5 小结 5 [/ ]5 Y9 t, I4 N, R( G* q0 s
4.6 游戏大变身 8 E) g9 c$ |" G+ ?5 H
第2部分 与游戏玩家交互
3 ], _4 F0 e8 I5 J9 v第5章 使用键盘和鼠标控制游戏 1 F' w7 m: B2 P) z+ P2 { m5 r% _
5.1 游戏与用户输入
. p$ s5 T5 [( ?2 F' ^5.2 了解用户输入设备
0 \5 G$ N* }& N, d- K, \ 5.2.1 接受键盘输入
5 w: [# N( R2 d( q( S; ~6 P3 B 5.2.2 响应鼠标 . D, L7 O5 d) a' A ]
5.2.3 使用游戏杆交互
1 |8 C4 i* W1 _8 k* N# t5.3 评估游戏的键盘输入
$ R% r. O1 C7 |* j8 |. [* D% x5.4 跟踪鼠标
6 \/ Z! i5 d1 H9 G" O+ s3 X5.5 向游戏引擎添加输入支持
* h3 x( Y4 }& }4 N 5.5.1 添加键盘支持 - L) I" y# i- Y. n" _' J
5.5.2 添加鼠标支持 / A7 K6 d3 K: H1 ^ c3 g* ^
5.5.3 修改Bitmap类 ; W: y8 a; q' S, X7 i
5.6 开发UFO示例
! E* ]) E8 i- Y. O( |1 U 5.6.1 编写程序代码
t; Y+ l* n& n8 m7 m0 d2 J 5.6.2 测试完成的程序
[' q& R; J- v4 i& {+ N6 q5.7 小结 , ^2 i$ p1 n6 `6 S4 a! Y# Q
5.8 亲身实践
0 K! r. r$ c7 ~% f& q第6章 示例游戏:Brainiac
W9 I$ b9 R& v6 P% H6.1 游戏的玩法
4 P1 R+ Q: d- |8 G# n, o# i6.2 设计游戏
* I' o$ \ P/ Y, K" f/ U6.3 开发游戏 9 a, V2 l0 ]" n8 k7 Q: J) y! K
6.4 测试游戏 1 u& b$ I% W" l& o% M/ |% s: w
6.5 小结
4 {4 v' ?. w' V7 T L6.6 游戏大变身
[' g+ v! U6 Y/ @% d9 ~( F第7章 使用游戏杆改进输入 / ?5 [3 @: K) R! n7 e, ^0 P! k2 m$ t
7.1 了解游戏杆的基础知识
t0 s6 w9 ?) ]5 I' e7.2 校准游戏杆
9 M$ Z/ w! o+ w6 W( K3 W7.3 追踪游戏杆的移动
7 {. c7 _6 V- D1 r: j# e8 Q( _5 \7.4 向游戏引擎添加游戏杆支持 . f, r) \6 r- v' a9 J. n
7.4.1 访问Win32多媒体功能 # Y7 T: J& d7 ]. I L/ v* t8 m
7.4.2 开发游戏杆代码
$ a9 |) G9 L7 X/ N& A6 L7.5 开发UFO 2示例
. N0 a$ h0 @* y' K+ z- q! t. F6 u$ c 7.5.1 编写程序代码
' E7 D! a( Z4 O 7.5.2 测试完成的程序
* W2 `; T5 y* @' |7.6 小结 3 ?- K$ q5 Q3 h+ t( P& _
7.7 亲身实践
2 y: I. j/ q" `1 w第8章 示例游戏:Light Cycles ( J% N; B, R9 R! _! |7 s3 |
8.1 游戏的玩法
' ]/ h" I4 H: U) k2 k( L$ C8.2 设计游戏 % ?( A6 k8 Q. X1 l5 ]5 |( N& X+ y
8.3 开发游戏 $ K# W9 k/ J8 ]/ C
8.4 测试游戏 4 z! t. T) q% s( x/ m. y( K2 i1 F3 \
8.5 小结
7 P$ M& H5 N T% K- p8.6 游戏大变身 ' x! o# T* l! U6 s3 b: Y$ T
第3部分 在游戏中使用子画面 1 j' O1 o1 a; @! k$ i: r# j+ H
第9章 使用于画面动画移动对象
" q9 R) K5 e8 O$ \" T9.1 理解动画的基础知识
6 S5 U/ z# R* ?! }' q3 ? 9.1.1 动画和帧频
. a6 e/ w( p9 K4 |9 X0 f* a 9.1.2 了解计算机动画 - h+ M) `* C& W! }8 r' }, L& A: G
9.2 2D动画与3D动画 & y, P8 I0 f& d- w0 c4 i
9.3 理解2D动画的类型 5 y. P6 u; g7 o* z3 K! M: ~
9.3.1 基于帧的动画
" ~8 r, |( K; G8 o 9.3.2 基于形状的动画
8 ?: [1 a, S; \9 v5 Z/ D4 s9.4 将子画面动画应用于游戏 ( e! q/ k. w; }
9.5 设计通用的子画面
2 b; }0 c! ^, _2 F9.6 创建Sprite类
+ ^# p6 V0 P; i; }0 c' S 9.6.1 创建和破坏子画面 1 E+ H4 f/ y' |1 ]! _# P m% }, M; e
9.6.2 更新子画面 . q M! O+ v% u& q- _& M, Z
9.6.3 绘制子画面 $ e$ h( M* h' \: S% |+ }
9.7 开发Planets示例程序 ( s9 A/ j4 L( v" q0 I$ A* P
9.7.1 编写程序代码 ( Q7 N" m" ~+ C5 s" f, g
9.7.2 测试完成的程序 ! [* d9 l |, X
9.8 小结 B% K( R% _$ s# I' Y: A
9.9 亲身实践 ( D: |! x3 X |0 E w' L
第10章 管理子画面 ; `& w5 b% |; V- B5 x" b% T
10.1 了解管理子画面的需求
0 P0 t+ @- L3 @% B" [: n8 W" f10.2 设计子画面管理器
8 z) T6 s4 v8 a10.3 向游戏引擎添加子画面管理器 $ f. j$ Q; k* x
10.3.1 改进Sprite类
# u- G" x) }% p) J 10.3.2 增强游戏引擎
7 D i; s+ O4 J3 c$ n8 ?; o10.4 使用双重缓存消除闪烁 & |! j$ j) J E, A- h1 s
10.5 开发Planets 2示例 " n9 h4 `# ]" Y& r' [. j6 B( v3 s# }
10.5.1 编写程序代码
4 ~/ S! Q/ B) o 10.5.2 测试完成的程序
# k' ^( i' F7 X, d I* P10.6 小结
- l0 o" ], d8 M10.7 游戏大变身
% e0 V% Y. C6 p8 P2 H第11章 示例游戏:Henway 4 {$ n2 D |0 t9 V6 y+ G3 O
11.1 游戏的玩法
. u3 y8 D7 U& m11.2 设计游戏
/ M: {# Z! X1 Z11.3 开发游戏 - m" B5 X, [% X7 y
11.4 测试游戏 # N6 Q' N: h# T. z3 d" q9 B8 U, @
11.5 小结 ) r( d! T6 z0 |4 a
11.6 游戏大变身 0 w1 p- M' G/ W
第4部分 使用声音和音乐 0 Y' y1 f8 V2 a) A, i
第12章 播放数字声音效果 8 T& q0 y% U/ ~
12.1 理解数字声音 : F: w# E1 i" ?- h
12.2 了解Windows波形声音 4 T/ m3 [! Y7 F6 W, _) ^) u' h
12.3 了解声音工具 3 d& l0 u% O4 m8 p. z
12.3.1 Sony Sound Forge 9 h% \3 N* ~! p, F7 b4 Z0 M
12.3.2 Adobe Audition 6 _" ]$ x. @+ h1 g
12.3.3 廉价的声音编辑器
4 x1 D' Q9 O) h9 k2 G12.4 创建和编辑声音 ! h j1 s4 M# H4 R2 v7 w& V
12.5 查找声音和音乐 ( h+ i# F' h D% D& ~' i
12.6 访问波形声音
% [( d8 L$ b* t+ S+ Z" e12.7 播放波形声音
" u; X% [9 H8 r1 r2 p* I* Z 12.7.1 播放文件中的波形声音 , T) [- C. d g7 E1 K( g: s
12.7.2 播放作为资源的波形声音 7 q; N" p* _3 Q
12.7.3 循环播放波形声音 5 z2 [5 h9 v# i: L* W! Y
12.7.4 停止播放波形声音 7 I- {' J P, [; p! \
12.8 开发Brainiac 2示例程序
7 ^" W: E1 G( g4 O 12.8.1 编写程序代码
& U* w+ Z. Y3 c i7 w 12.8.2 组合资源
/ |# x8 ^. s0 u0 m" ~ 12.8.3 测试完成的游戏 ) B- V% R/ ?( b* ~! e
12.9 小结 " p8 y) J: h; T7 b A/ p% X
12.10 亲身实践 $ W- ]' X$ a; j- y
第13章 播放MIDI音乐
* b4 b& c# [3 B2 k* c# A& ^& A13.1 感受MIDI音乐 3 B3 }* L J* h/ x' U
13.2 理解Windows媒体控制接口 ? a5 h3 U) m% r; S4 R
13.3 使用MCI播放MIDI音乐 4 W) |1 Y$ ~7 F7 G1 L- V" n
13.3.1 打开MIDI设备
- p9 P/ @3 E9 ~9 x! [7 D: z 13.3.2 播放MIDI歌曲
) W& g. c; B. E 13.3.3 暂停MIDI歌曲 0 O6 O j& S( K) T
13.3.4 关闭MIDI设备
$ p: h6 V& Q9 Y1 d7 n6 Y4 Y13.4 向游戏引擎添加MIDI音乐支持 ) D7 X- y) T; T0 O
13.5 开发Henway 2示例程序
8 `; S7 h+ p3 s: t, n+ h 13.5.1 编写程序代码 1 C) Q. s6 i' f! f0 X! K6 K& X7 s
13.5.2 测试完成的游戏
7 K. i2 ~4 Z% b; O$ @) r13.6 小结 ! l# W; O0 M1 u+ a
13.7 亲身实践 + {) ~! E6 L1 q1 c9 ^6 d9 B; n
第14章 示例游戏:Battle Office 8 y* P2 _8 T- N3 k5 ?. }' S
14.1 游戏的玩法
8 ?5 e+ I( X6 J9 o) C( K6 {( A4 T14.2 设计游戏 0 s5 N( w+ ^! V9 u
14.3 开发游戏 2 X9 d* b7 P9 o4 x. ?, Q. q! D% |
14.4 测试游戏 * I! I6 ?8 J* A. h9 t' N" _
14.5 小结 : g% T3 y2 p" ?6 k5 k; s
14.6 亲身实践
7 ~0 \2 ^2 h. ^2 l( \& S: @第5部分 高级动画
1 h' ^) t2 ?) G: H+ B4 L! @. ?第15章 实现子画面外观动画 8 @! G" A/ r3 x3 \/ i
15.1 再次介绍帧动画
O. }1 _0 T( f! m- S2 I$ O15.2 设计动画子画面
. W$ i2 d0 {& g15.3 向游戏引擎添加动画子画面支持
* X( G& @2 P+ @$ Y. P0 _# u 15.3.1 只绘制位图的一部分 ; Y( M" D. U' N0 r+ v
15.3.2 对Sprite类实现动画 $ v d% d1 ]$ m7 v3 f% [/ Y
15.4 开发Battle Office 2示例程序
8 o7 r: n1 h0 L4 N: t, q' F 15.4.1 编写程序代码 - u$ l! l2 I$ v1 b
15.4.2 测试完成的游戏 3 o3 b5 \% e$ j/ N' a' G
15.5 小结
" D' W9 Z! Q8 w+ K) c15.6 游戏大变身
6 S/ I8 B/ G/ I( U& P第16章 创建子画面背景
- S3 L% {8 `9 F5 G( o" @16.1 了解游戏背景的重要性 ( z( D s5 j N3 K4 b% w
16.2 了解游戏背景的类型
8 @+ E8 C" U; T7 d6 X, Q" V 16.2.1 纯色背景 9 Z2 _0 h; J4 h
16.2.2 图像背景 ! t8 [' ?0 ?7 g
16.2.3 动画背景 , Y# w1 R; h, s0 f9 b' e( J
16.2.4 滚动背景
* Q2 Q6 E* _& @" r/ y16.3 向游戏引擎添加背景支持
2 l$ L6 j) L6 a% ?2 n 16.3.1 创建基本的背景类 0 z+ F# a+ ]7 B8 z* S+ P
16.3.2 创建动画背景类
5 A8 C+ O+ {5 w4 r16.4 开发Roids示例
- ^" g3 R9 s% u1 A7 j, w 16.4.1 编写程序代码
( z/ v4 z& H; f2 h$ ^5 M 16.4.2 测试完成的游戏
; M. R. d z8 Q- I% ?( l+ S16.5 小结 ! R9 W$ \+ q& g9 l6 b
16.6 亲身实践 6 D/ p# t2 a1 B c/ t
第17章 示例游戏:Meteor Defense 9 l1 Y; X' `: d3 [7 ^1 \
17.1 游戏的玩法
1 X7 ?" f4 I8 X- O1 D17.2 设计游戏 * N' u- ^# F# C5 N
17.3 增强游戏引擎中的子画面 , m V% U8 s$ U! O
17.4 开发游戏 : d0 ^; X, J- W6 d) M
17.5 测试游戏 3 w M6 D. h. I
17.6 小结 & K- p+ R! B: b2 V+ h: y
17.7 游戏大变身
' _% B0 H. `: g2 a/ T第6部分 让游戏拥有大脑
t0 |. G8 F# b* B% o9 V( A第18章 教游戏思考
4 T- Q: v3 _, f# W) `18.1 理解人工智能
) J4 [6 c3 H; i) t18.2 了解游戏AI的类型
) D+ }5 M- c) V$ ]/ d 18.2.1 漫游AI
' t# ]' f5 r+ L, N/ M 18.2.2 行为AI
5 f# v4 n# m4 r( Y2 c3 d% y 18.2.3 策略AI ' w3 o# v. R& D; ]3 @ C
18.3 开发AI策略
$ m8 ^& X% L1 I& h18.4 开发Roids 2示例程序 f3 P" Q; ^; o+ j/ V6 T8 g' w
18.4.1 编写程序代码 7 K$ m: k- m3 u/ v" r" ~
18.4.2 测试完成的程序 " f7 f* l* j9 u7 `- G2 s
18.5 小结
: S$ |$ `: R- H) L& ^( V8 ^18.6 亲身实践 / L' A/ z3 e( D
第19章 示例游戏:Space Out . {3 U2 H) o7 d1 R# f# ?( H8 R
19.1 游戏的玩法
J6 X# `2 v3 M4 b# J19.2 设计游戏
* h1 u4 d2 x& K' o( B19.3 向游戏引擎中添加另一个子画面特性 7 X! w1 C0 h G. a* z
19.4 开发游戏
( \1 N2 ^& f5 T& [! v$ p/ E7 ]19.5 测试游戏
. L& f2 l$ n' A) K+ r19.6 小结
5 ]5 z0 }: I& R% P! e( K第7部分 增添游戏的趣味性
* _8 J* C9 Y' E7 D: g& y1 J; j第20章 使用闪屏增添游戏的活力 3 ?0 H k9 ~. w
20.1 闪屏的重要性 ! H) o1 m4 D4 u( [
20.2 了解闪屏 * S4 E5 V( l% f5 `% S$ T- u( ~
20.3 创建Space Out 2游戏 # N$ q" l. r5 A% v* R+ U
20.3.1 编写游戏代码
+ i) K; h( J8 ~/ d5 J 20.3.2 测试完成的游戏 / ^5 e. b- b$ X5 w, T
20.4 小结
' V; Z6 O$ _3 M0 I20.5 亲身实践 . \0 ]. ?( F& T6 o( Q4 V
第21章 使用演示模式展示游戏
: e* B/ g, r6 G" l6 l- v/ k' D21.1 什么是演示模式
& q, u1 [; u0 I21.2 演示模式的细节
' k* i9 d6 |2 C0 y# t3 x- F21.3 开发Space Out 3游戏 ( M6 k) A Y( u. T- m1 E7 r
21.3.1 编写游戏代码
! N3 h0 p9 Y% D5 E5 m$ A( l 21.3.2 测试完成的游戏 ' O# z: H& z" y" V
21.4 小结 { w: a4 z# B% t# {
21.5 游戏大变身 1 W2 n* A& |# D
第22章 记录高分 8 Q: D' F( ^, J5 ~0 j o
22.1 记录得分的重要性
- k) Z% j* O/ s5 M/ _0 X [1 _ A22.2 确定高分数据模型
' B3 D. p9 {5 ~" q1 `; z; W8 J, M& o4 A) C22.3 存储和检索高分数据
+ O5 t/ E$ ?" w% u/ m6 K: O2 |22.4 开发Space Out 4游戏 4 V( X! O; o. d& W( h. h1 j; R
22.4.1 编写游戏代码 $ D, l4 J7 q* q4 g+ S K" P* Z4 b9 N
22.4.2 测试完成的游戏
* C& a5 g1 U# q22.5 小结 : [9 k" T! I9 K
22.6 亲身实践
3 w' c0 ?) _ \5 w第8部分 附加练习 2 H+ F: o: P) B5 \4 G5 b
第23章 使用滚动背景更改远景
( w. v+ P& _4 L* L% T23.1 什么是滚动背景 9 z' `0 _ o! k
23.1.1 横向滚动的背景 $ L: n$ q5 d3 G1 s
23.1.2 纵向滚动的背景
2 l$ _& K+ W" H3 G1 { \" B# }" G 23.1.3 视差滚动背景 8 R1 v9 v$ o2 c0 @( t6 g7 ]4 R+ [
23.2 理解滚动背景的工作原理
" {- }1 ~8 z3 f- J3 K" H23.3 向游戏引擎添加滚动背景支持
, Z7 p; z8 \4 T' w5 E0 W' B 23.3.1 创建背景图层类 $ n7 y+ a% G4 t) \
23.3.2 创建滚动背景类 * w2 | ^ s$ ? d7 [
23.4 开发Wanderer示例 9 t! f# @. o* ?0 R, b
23.4.1 编写程序代码 4 g' d1 w* k( H* c: u( T. s! @
23.4.2 测试完成的程序
$ k. \% H9 K0 b4 O- N; V) R3 h! W' u23.5 小结
: `% v1 {4 C, ?. F- W- I) S: A8 v23.6 游戏人变身
, h4 x% D% E2 Z8 P1 W第24章 示例游戏:Stunt Jumper 8 T0 {2 s6 t, t6 \
24.1 游戏的玩法
8 ?" s% O1 R. ~9 E24.2 设计游戏 # d2 [8 x7 R4 V) B
24.3 开发游戏 * d/ V- r$ C8 P1 B! S5 H5 K
24.4 测试游戏 3 n# H# }( Z8 G- s( v
24.5 小结 5 @5 @$ w6 M3 `/ R- p% y6 f2 T' j
24.6 游戏大变身
( z l {7 J ]; @* i24.7 亲身实践 5 J" e _+ C8 ]8 n \' `3 o
& F; e4 P) k, w1 I+ o【下载地址】' Y- Q0 ?! v K
; j) a' D4 v( @4 X- M8 W) @5 J: U$ I0 a) @
|
|