|
|
如果你会一点C、C++语言,你就可以学习游戏编程了,开发真正的游戏!如果你学过一点C++更好,没学过也没关系。本课程教你从零基础开始开发7个完整的游戏:Brainiac、Light Cycles、Henway、Battle Office、Meteor Defense、Space Out、Stunt Jumper。教程无KEY wmv版本,手机平板等移动设备均可观看!. I2 [5 F. W2 m# K: Z+ b3 E
【课程目录】+ r c. C' v" l( e
第1部分 入门
1 m2 o" Y3 ?( b, v第1章 学习开发游戏的基础知识
) J- N: ]1 s8 M- Z% K1.1 认识视频游戏
" \8 c+ B$ c3 H% V, l M; {- z 1.1.1 为什么人们如此沉迷于开发视频游戏 : e- N6 p3 S6 c. b0 X, H
1.1.2 视频游戏的类型
( [3 j @7 i& P9 j1 v- {/ \1.2 学习游戏设计的要素
8 q3 g, |9 h% E4 l6 ?$ N, F 1.2.1 提出基本思想 ! c( `6 M" h* f' ?' x3 ^6 A' s
1.2.2 整理剧情
$ h' Y5 [% N2 B: H! S 1.2.3 可视化图形
w. r2 Y! A9 b. n5 I1 y: i. c 1.2.4 为游戏选择正确的声音 " z* w" b7 h7 b% Q
1.2.5 使用控制器控制游戏
" N4 {# O6 ?* a% T, e 1.2.6 确定游戏模式
3 K1 t3 ~0 m' e1.3 面向对象的编程和游戏
3 @: E8 u$ [4 z2 i6 P3 n 1.3.1 理解OOP
! P& L" U. S+ v2 G B 1.3.2 在游戏中应用OOP + A0 q. `4 Y# y0 N, o0 M2 K) a
1.4 研究相关工具 - R7 Q6 w5 y6 R5 Y: @1 i! I
1.4.1 编译器和开发环境
% m4 J7 a/ B/ R" D4 g 1.4.2 选择图形工具
4 l4 S# _: X& j) E 1.4.3 选择声音和音乐工具 1 T) C6 F! q$ s) f7 n f7 t
1.5 小结
9 Z0 A5 z) G* F5 i3 z, I! D" o1.6 亲身实践
; R: J# r7 z0 r8 j+ H5 G& S+ D第2章 创建游戏引擎 r1 A1 V# I, a& m4 l+ F q L
2.1 什么是游戏引擎 " e+ N; N, _, S! [$ a: E
2.2 考虑游戏引擎的作用
) m/ | |' w- ~# X 2.2.1 将游戏分解为事件 ) w6 U S% [, y9 z
2.2.2 建立游戏的计时机制 " S9 u1 Q6 F- b- D8 Z
2.3 开发游戏引擎
! ^1 y" v* x- [& W 2.3.1 游戏事件函数
1 T* m* `4 j4 a+ j/ a4 a 2.3.2 GameEngine类 , [$ M, i% K9 o- Q) P
2.4 开发Blizzard示例 # n* t4 ?- T2 o% S* R# F
2.4.1 编写程序代码
& c. u& @9 Q J+ J( R 2.4.2 测试完成的程序
. f6 h) r7 ^9 P" t( o3 r2.5 小结 7 u" L# J* Y: u" r
2.6 游戏大变身
- c) y& S4 M; p. F第3章 学习绘制基本图形
6 {5 C, {3 s2 K3.1 图形基础 4 ]' ^/ v) e& ]9 U8 i( G
3.1.1 理解图形坐标系统 ! h Q* a9 P2 r9 y- q( ^( H% I
3.1.2 学习颜色的基础知识
0 q1 o$ o/ R% v; L$ u3.2 查看Windows中的图形 5 }) f2 \: Q1 X5 q& c" Y/ I8 j: L
3.2.1 使用设备环境 / S2 {/ S. [+ D& O4 R6 U
3.2.2 使用画笔写
) w+ x; {/ d- {+ E 3.2.3 使用画刷绘制 ; K& ^7 J* B2 q5 V0 F, r
3.2.4 使用位图绘制图像 0 d6 N6 m% ?* v2 |: E
3.2.5 使用调色板管理颜色 , n3 d6 L x% |* W2 w4 N3 N6 F# V
3.3 绘制窗口
V& y( f" \: g" f1 b 3.3.1 绘制文本
8 U* _+ N, N6 H 3.3.2 绘制图元
9 o9 C& @8 ^+ e8 W 3.3.3 使用画笔和画刷
# a& L+ `3 j6 m6 Q4 Y& [1 D3.4 开发Crop Circles示例 2 M# u* U- m, O- J. \9 S5 f
3.4.1 编写程序代码 + ]4 c- A0 Z0 o# k$ Z. {; [
3.4.2 测试完成的程序
9 H* e F) ?/ W9 V1 |/ N3.5 小结
/ H6 {6 {0 Q, i8 }# i. A3.6 亲身实践
, `2 r6 v3 y7 M0 W% g' h B第4章 绘制图形图像 3 t3 G' w0 g( [; p
4.1 位图图像的基础知识 # m" `+ e: |1 x
4.2 深入学习位图 7 V; [: ^" `( t; b( V6 ~
4.3 开发位图类
- ^/ [/ b" Y G" F4 r# x 4.3.1 位图类的工作原理 4 N* P) @2 \/ u C
4.3.2 整合代码
2 t: ?- }9 W! A4.4 开发Slideshow示例 0 ?, P) d; I% Y. @
4.4.1 编写程序代码 : A6 `' r2 s% l) w/ U# a+ \. l: c' H
4.4.2 汇集资源
# B8 `8 n- e- Q3 l m* l7 G 4.4.3 测试完成的程序 $ i2 C7 X! N- P% U) `! O9 N
4.5 小结
5 U+ I2 `: [5 S! ^( v4.6 游戏大变身 + Q5 q/ {) A# {
第2部分 与游戏玩家交互
& W+ E. m* r |第5章 使用键盘和鼠标控制游戏
' Z+ N6 N/ A1 P) F- g) A) {5.1 游戏与用户输入 2 W0 O# U7 g- K
5.2 了解用户输入设备 . f2 D3 }$ @9 e( M! _1 Y4 z. S9 i, D
5.2.1 接受键盘输入
1 Q" X/ L2 R4 P/ m 5.2.2 响应鼠标 0 C$ a _" A) [5 x& c, i
5.2.3 使用游戏杆交互
7 ]: k+ O. ?7 D( D5.3 评估游戏的键盘输入
8 _. y! L) s2 G- D1 d: P5.4 跟踪鼠标 1 g- Z& U9 u4 r9 t6 d
5.5 向游戏引擎添加输入支持 , X. V$ [# b. Y3 d/ ]5 U
5.5.1 添加键盘支持 i- G* b& i- c
5.5.2 添加鼠标支持 & j* Z1 @# ?. w
5.5.3 修改Bitmap类 8 J' S- E# [6 v8 U! j/ a+ V* ~
5.6 开发UFO示例 1 o' N7 p7 A0 X9 C) G; e
5.6.1 编写程序代码 , p' `9 f o" Z% j
5.6.2 测试完成的程序 0 w/ ]$ b$ s7 S* l" Y6 @! e
5.7 小结
8 c3 J( t8 Z5 l$ c4 w5 Z7 |5.8 亲身实践 . o1 P0 s) M0 d# T; n
第6章 示例游戏:Brainiac - S( n1 | {! J1 D+ M7 ~
6.1 游戏的玩法
6 ?) @2 f: b, ]3 d6.2 设计游戏 ' O6 a7 Y2 U# ^1 r
6.3 开发游戏
0 M! X) ]% v% ?7 D, x0 G. C$ d& \6.4 测试游戏
6 R* M+ ~+ K) h% ?" p6.5 小结 # Y! z8 S7 p" U1 Z
6.6 游戏大变身 / E% v. _) ]0 o) r' [
第7章 使用游戏杆改进输入
$ t9 h: u- A0 U7 c5 J7.1 了解游戏杆的基础知识 $ k$ l! t5 ~9 |& ^4 {8 H
7.2 校准游戏杆 # u1 `( t5 H! p6 \7 z
7.3 追踪游戏杆的移动 4 o1 O) b6 n7 V* m; n9 x5 u; g
7.4 向游戏引擎添加游戏杆支持 i' a4 W# b) M: f" g
7.4.1 访问Win32多媒体功能 $ j. p. i. w" ~. n( @9 p
7.4.2 开发游戏杆代码
9 U/ R5 d: [1 L6 i4 e' |% D1 g7.5 开发UFO 2示例
2 ?3 w+ ~/ F8 A7 k0 [& t 7.5.1 编写程序代码
5 b$ D: g" Q! K. X0 u3 u" y" \- ? 7.5.2 测试完成的程序 6 C- E+ {1 N8 H; _8 H
7.6 小结 2 t) O/ J5 d2 h& _* |9 c
7.7 亲身实践 & `" ?! q$ k- o4 B( h1 |8 ]
第8章 示例游戏:Light Cycles
0 O0 v" ]% E2 U7 R: z, ~0 [: ~- k8.1 游戏的玩法
) [# p$ O1 |; z5 [( T% K8.2 设计游戏
# \4 A& }, x! \. V$ a% ?: O8 L8.3 开发游戏
4 m: u: U, h) ^8 g8 r3 a8.4 测试游戏
; g5 v. b* E. O% c- P" E8.5 小结 4 O& x' D9 T( C! A: d
8.6 游戏大变身
8 f- @( b' \# K" {1 v第3部分 在游戏中使用子画面 ! g4 D7 K9 P! L+ A" U
第9章 使用于画面动画移动对象 % X- c& ]& M F- ]0 {" U
9.1 理解动画的基础知识 / D% h0 p, ` L9 G- f
9.1.1 动画和帧频
2 _+ {9 n+ D# @1 I- \' N4 \ 9.1.2 了解计算机动画
0 J$ E( ^- I" i' c9.2 2D动画与3D动画
4 Y d6 ]4 r0 C# q9.3 理解2D动画的类型
7 }. Z7 N2 N/ L* P 9.3.1 基于帧的动画 # h" u; T) a9 U, h5 M9 I+ i
9.3.2 基于形状的动画 7 j) e) H" w( @1 x# ]! A) v
9.4 将子画面动画应用于游戏
8 d3 _6 p5 H4 W+ P* o/ C" a @9.5 设计通用的子画面 - C$ W* N1 j s6 Q1 j2 S
9.6 创建Sprite类 ) M/ W, C% U& e, V# A6 x
9.6.1 创建和破坏子画面
$ F' {6 C3 `( V7 G! u: f 9.6.2 更新子画面
4 ^6 R" ?6 m; u 9.6.3 绘制子画面
+ E) [, ]5 N: k. V& ~9.7 开发Planets示例程序
3 C' U5 a* l4 S2 J+ Q, d% M- w 9.7.1 编写程序代码 0 A( O# s% y- v$ @" n
9.7.2 测试完成的程序
/ D. m% o1 ~3 B! y$ m T7 |- b9.8 小结 # p# X" q1 C O8 d
9.9 亲身实践 9 i4 `8 Y2 [/ Y* c8 Z& s
第10章 管理子画面 1 H5 p# E, E, K0 @- ~. C. b
10.1 了解管理子画面的需求
% X, j1 u9 V" E- Z9 Z* |" J10.2 设计子画面管理器 C* \% `# q1 V0 Z
10.3 向游戏引擎添加子画面管理器 3 B" r: z% K- N9 v6 ^
10.3.1 改进Sprite类 + Y' A" c v' l! \' v
10.3.2 增强游戏引擎
- }- z* O1 P; W5 S" D10.4 使用双重缓存消除闪烁
( D) ]/ [$ ?' l( K# u) r! v# B# v2 d10.5 开发Planets 2示例
9 D: `5 z# _4 ]- h: f 10.5.1 编写程序代码
0 E7 e% p. I) E/ D9 o0 N. `$ ? 10.5.2 测试完成的程序
: A0 z; f, u! d! a! n" V. ?4 d' Y& G10.6 小结 8 [# v6 C1 d+ O' v. }
10.7 游戏大变身 X* @$ M5 e7 k
第11章 示例游戏:Henway 4 H2 [5 P. x3 x" ]& ?
11.1 游戏的玩法
- _, u$ i# O; h0 V11.2 设计游戏 8 d. [: ]5 a+ [! ?4 F& D/ N) v. z$ B2 ?
11.3 开发游戏 6 o" j- h/ A6 g0 [0 p* [
11.4 测试游戏 X! ]& q/ o. D% Q9 l) C
11.5 小结
. z" E) E* @6 W. b6 Y o( p; V11.6 游戏大变身 * X0 u f, h; X/ g- b" p
第4部分 使用声音和音乐 ) T- n9 ^( g, A0 ~4 [4 B: T
第12章 播放数字声音效果 3 j4 I7 @: u3 ]% u5 X9 r
12.1 理解数字声音 ' v( @. Z% u Q7 g- G
12.2 了解Windows波形声音 4 r$ M- l: B5 u" v4 g; t# z0 h7 f
12.3 了解声音工具
3 A5 {2 h" I Q" ], M1 j1 _' u/ R 12.3.1 Sony Sound Forge * [# p' O1 Z; G, W
12.3.2 Adobe Audition 6 ?% X, t: q; A& t" l6 w. P0 l
12.3.3 廉价的声音编辑器
( a" S: F- \) C& W12.4 创建和编辑声音
. Q/ k O) |" w: _- Z12.5 查找声音和音乐 + a8 z; a: C( A& A
12.6 访问波形声音
; _) I1 R# `. K a12.7 播放波形声音
2 v0 y* ]( k& Q 12.7.1 播放文件中的波形声音
" e+ j; E) }0 l' @" U+ g 12.7.2 播放作为资源的波形声音
8 f3 G4 x b6 @ 12.7.3 循环播放波形声音
5 t5 L8 ]3 \: w& E 12.7.4 停止播放波形声音 ( u% D2 W- ~2 U" i& H
12.8 开发Brainiac 2示例程序 V- w, I4 @5 |8 e
12.8.1 编写程序代码
+ ~% d9 O) @- k5 t# Y 12.8.2 组合资源 % M2 F& j: H, q( U
12.8.3 测试完成的游戏 0 q& l0 W8 A8 g" `
12.9 小结 2 l3 _( q' a8 s9 {+ E9 ?% m: M, p
12.10 亲身实践
9 N9 s( u! y6 ^; e/ c4 Y第13章 播放MIDI音乐
2 @# H+ H/ Z. B# ] u/ v* K0 Y/ x13.1 感受MIDI音乐
# ^. z& D9 @7 u3 B, M13.2 理解Windows媒体控制接口 8 a' K7 { T5 p( N3 a9 U
13.3 使用MCI播放MIDI音乐 % n1 W4 E; I# M2 u) E
13.3.1 打开MIDI设备 2 Z% g6 {* T, X4 W! N
13.3.2 播放MIDI歌曲
- W5 X: f7 P: z Q( u4 N. f/ p$ C 13.3.3 暂停MIDI歌曲 % T" i! e: h8 S/ D2 \! B) x
13.3.4 关闭MIDI设备 ) I: {! x8 Q+ l2 |4 P) ?0 C6 L
13.4 向游戏引擎添加MIDI音乐支持
6 y8 O9 y2 y6 Y- r! v13.5 开发Henway 2示例程序
+ x* x0 N1 K B5 a, n9 r 13.5.1 编写程序代码
5 Y! Q3 Y p) d; ] 13.5.2 测试完成的游戏 1 x, N8 h. Y( B w) Z
13.6 小结
9 p% z+ l6 g! r+ v7 p13.7 亲身实践 " h9 c6 ^! k' W( j
第14章 示例游戏:Battle Office % e8 t7 M8 Q' z9 ~" f8 e0 _
14.1 游戏的玩法 O+ p [$ C' ~0 }/ d) o& {. }
14.2 设计游戏 ) \$ S+ t0 n* {$ @1 O+ N G
14.3 开发游戏
( V1 g- e' @3 U; y' C! F" p14.4 测试游戏 3 Q3 q% h) H9 n; `6 x1 V
14.5 小结
$ q( a" z i( x8 \* I14.6 亲身实践 : E8 S7 T' \. B3 `* p
第5部分 高级动画
0 q% W \5 H3 z第15章 实现子画面外观动画 8 H0 E! z E" W0 Y) W7 ]
15.1 再次介绍帧动画 # n; E/ L0 `5 N4 {
15.2 设计动画子画面 ; q: n1 ?- H9 }9 \1 B/ k8 a
15.3 向游戏引擎添加动画子画面支持
1 v% _ q4 P: s5 o- L# _ 15.3.1 只绘制位图的一部分 ( {- Z$ _2 K8 g$ E/ u8 i2 ?
15.3.2 对Sprite类实现动画
' |$ ?) c! a+ }15.4 开发Battle Office 2示例程序 ' j2 M. _) W. p P+ Q* p6 K, l
15.4.1 编写程序代码
) C. f' {! O% ]7 i! P 15.4.2 测试完成的游戏
/ c0 q" O I8 x/ z) a15.5 小结 % w1 d9 m: H* s
15.6 游戏大变身 2 \- d( I' u. g5 P
第16章 创建子画面背景 # f" r2 W! I. e3 {- b% S5 g5 h
16.1 了解游戏背景的重要性
. j3 n6 E( [/ c9 M- q16.2 了解游戏背景的类型 ) k" m3 e4 ]8 [
16.2.1 纯色背景 + `0 R# m [5 w2 `: i
16.2.2 图像背景 2 r! _( C9 y) @. i6 Q
16.2.3 动画背景
1 C4 ^3 p# F3 A' s. q& h7 w& \ 16.2.4 滚动背景
* y9 J1 A" P( m5 q; a16.3 向游戏引擎添加背景支持 % r5 a( B6 R6 c% v8 C( e8 z. E& c
16.3.1 创建基本的背景类 ; |4 Y" I$ G0 f# \1 p3 e# a
16.3.2 创建动画背景类 : a4 T$ @% c5 ^ g, r, L
16.4 开发Roids示例
4 i0 A7 ?+ d8 w2 B. i# |9 e1 P 16.4.1 编写程序代码 ' w8 M; Z6 |+ T7 M& N
16.4.2 测试完成的游戏
! `$ X; f' w. y* @& p; |16.5 小结
D9 C/ `1 F2 G( J ?16.6 亲身实践 $ D6 d: J8 ^& [2 k% f0 @1 |9 Q
第17章 示例游戏:Meteor Defense ( n* N' a! L! g5 T
17.1 游戏的玩法
# e* z/ G, B- h- o. O2 G8 b17.2 设计游戏
' P! b L& T% @% P17.3 增强游戏引擎中的子画面
3 ^: f5 ~9 w5 c( k+ h" E% W17.4 开发游戏
1 K. U9 x6 ^ k7 r17.5 测试游戏
& w7 c3 k$ O- j4 f O7 Z17.6 小结 8 ?" h0 l) y& n1 f( Y
17.7 游戏大变身
$ [. F9 U, D9 h! K第6部分 让游戏拥有大脑
& Z4 t; V0 Z. @第18章 教游戏思考 , y H6 L# s7 |4 P, [
18.1 理解人工智能
- S& p# K! V/ d& i18.2 了解游戏AI的类型
' H) }" h4 b' F* @# c, u( j2 Y 18.2.1 漫游AI ) r3 G5 i2 }( Y7 G* i; y
18.2.2 行为AI 0 F" p; I2 M7 _$ E2 c# ]% j
18.2.3 策略AI ) ^+ h% K9 E) i: X
18.3 开发AI策略
. H- X8 ]/ m' Z" Z0 T, `6 f18.4 开发Roids 2示例程序
0 b& O! D5 @* y 18.4.1 编写程序代码 3 w2 n: }0 K3 r: g) i. o9 H
18.4.2 测试完成的程序 ! n, I) P* T/ ?# ~
18.5 小结
0 ~/ P3 l5 k* p/ z' f) i18.6 亲身实践 # h" x, L, \6 c8 E; x7 \" a
第19章 示例游戏:Space Out 8 s( b" g' d; P; ^. s4 T
19.1 游戏的玩法 & B; B. P) K7 C6 p
19.2 设计游戏 . g/ I* B2 _/ [0 ?% C) t) o
19.3 向游戏引擎中添加另一个子画面特性 5 Y8 n% p9 M& @. l7 f7 e
19.4 开发游戏 ) N$ t4 w+ w/ G
19.5 测试游戏
) y2 L, o' Y% u' k19.6 小结 / f, I/ d9 y8 K, L# L5 ^, J
第7部分 增添游戏的趣味性 # L0 ?" O3 x) M3 ]
第20章 使用闪屏增添游戏的活力
5 d! [: Q% L8 z20.1 闪屏的重要性
5 p1 t' Q) r% |" C! {2 L& A20.2 了解闪屏 6 N! p9 [! H+ Q$ j
20.3 创建Space Out 2游戏 + o L" U$ Y: w5 u
20.3.1 编写游戏代码 ) a: r4 M/ v/ B( k" A
20.3.2 测试完成的游戏 2 J0 A6 Y F: M Z9 D$ w, k
20.4 小结 ! M! w* {( ~+ S6 R
20.5 亲身实践 " r( y# p" i7 S0 N/ Z3 X+ h! G6 I
第21章 使用演示模式展示游戏
/ ` A" Q2 B. ]. `* V! b8 m21.1 什么是演示模式
8 z5 I" `6 w6 h/ k( m, {% L1 j+ V21.2 演示模式的细节
3 |# ]+ A3 u( r21.3 开发Space Out 3游戏
" Q X" h2 w( V3 s) [) R1 { 21.3.1 编写游戏代码 ( |- I0 T3 d+ P/ \# L2 e
21.3.2 测试完成的游戏
! q# W6 a+ s9 q3 C21.4 小结 : ~. u. K+ e m: ]
21.5 游戏大变身
3 k8 H T8 }/ t1 ^* n第22章 记录高分
4 r' s3 B6 p, @2 p+ B' r7 o& V: Q22.1 记录得分的重要性
( \; d4 b& l4 [" M' d22.2 确定高分数据模型
- @$ H4 {$ x5 h* Z9 p' F22.3 存储和检索高分数据
; a6 a( B, K! Z2 r( q22.4 开发Space Out 4游戏 ! x- ?; J! M; r. X
22.4.1 编写游戏代码 4 G' R: `" F0 l" a* |) t
22.4.2 测试完成的游戏
0 U4 B! N+ a7 k2 g% X22.5 小结 C3 }2 O3 S+ j/ k( x5 u
22.6 亲身实践 - R! K. R3 e X$ A( p7 k
第8部分 附加练习 3 F. T6 q' t" g% j$ ~" }/ x
第23章 使用滚动背景更改远景 ' _* r; W% U7 ^6 T" g% Z" ~4 ^6 ]
23.1 什么是滚动背景
7 T$ a0 m* K& E9 O3 H6 @* ^, ~+ V 23.1.1 横向滚动的背景
- E2 j1 Z8 a; b+ ?6 V 23.1.2 纵向滚动的背景 : Y; d6 h# ~+ L9 q
23.1.3 视差滚动背景 8 b. R4 e! |- A( S% H7 s* k5 I
23.2 理解滚动背景的工作原理
6 }$ l, E) j! l9 n3 `$ `( o23.3 向游戏引擎添加滚动背景支持
% u* U* z. N8 G# W7 t1 w; W 23.3.1 创建背景图层类 " X1 X3 J' D' I1 q
23.3.2 创建滚动背景类 & S, Z, ~2 X/ z( K5 ?. z
23.4 开发Wanderer示例 ) B7 P5 D# J9 U* E! a
23.4.1 编写程序代码 ' X2 a9 Y$ G; B! c
23.4.2 测试完成的程序 ! m4 ?. O1 Q; T5 ^% N. G
23.5 小结 y' u5 Q5 n$ L
23.6 游戏人变身
9 h# C3 O1 C$ B$ I0 n第24章 示例游戏:Stunt Jumper
2 _9 T2 F5 j |24.1 游戏的玩法
. m0 [1 w$ x2 o1 v24.2 设计游戏
4 {# y; a$ ?. }9 H5 z1 _7 C& z24.3 开发游戏
$ ~+ [1 `6 W' K( j# I24.4 测试游戏
0 `" |9 T5 [. b+ @ D9 s24.5 小结
: [* [' P, G6 Z24.6 游戏大变身 0 U' X F" N1 @9 f
24.7 亲身实践 " P) L& @) w9 K' [* V- r T
& I$ N/ P3 T Q& ^* z【下载地址】+ X. Z; S" ]$ _5 h3 O
: P4 Z' R6 \# G$ A: r& N9 W p6 ?+ u0 A5 H
|
|