|
|
如果你会一点C、C++语言,你就可以学习游戏编程了,开发真正的游戏!如果你学过一点C++更好,没学过也没关系。本课程教你从零基础开始开发7个完整的游戏:Brainiac、Light Cycles、Henway、Battle Office、Meteor Defense、Space Out、Stunt Jumper。教程无KEY wmv版本,手机平板等移动设备均可观看!% l% f& t" L+ {4 k
【课程目录】
0 w! [3 j/ T* ~* F第1部分 入门
5 W) i! B4 g/ U l( J第1章 学习开发游戏的基础知识
6 v+ i- _4 h6 T/ K1.1 认识视频游戏
* [* S3 t+ k7 U/ j$ v% f/ h7 e 1.1.1 为什么人们如此沉迷于开发视频游戏 ' u5 C% M) a6 |* L, x( W* R
1.1.2 视频游戏的类型
2 @' W" {. {& O1 y! i1.2 学习游戏设计的要素 & P: r m" O& q7 f" b- X+ ], L. u
1.2.1 提出基本思想 & a! f3 j% Y K% B' q
1.2.2 整理剧情
8 z1 [8 N4 c, x8 k" H# ~ 1.2.3 可视化图形 , L# T+ P B% b
1.2.4 为游戏选择正确的声音
- Y) R) N# M3 r% S3 {# r 1.2.5 使用控制器控制游戏
/ {, G9 G ~( c7 [. d 1.2.6 确定游戏模式
. K( m5 |: Y, d! C( z9 l1.3 面向对象的编程和游戏 ; F+ s% s' N* P' D4 Y/ m
1.3.1 理解OOP
; B9 E4 l7 t* I' J7 G& n& L 1.3.2 在游戏中应用OOP
2 `' ~8 ]8 t4 U! c0 i1.4 研究相关工具 3 }; G4 x, k9 R1 d1 b3 [
1.4.1 编译器和开发环境
5 o8 J0 k8 s# y: r7 L4 z/ ~( X 1.4.2 选择图形工具
" t/ E, P: E$ C/ g3 O* P4 x: v 1.4.3 选择声音和音乐工具
, w0 L8 q# B* _( x7 s1.5 小结 1 q: N% V+ ?2 a+ D# B+ K4 i% c
1.6 亲身实践 7 f! H8 ]7 Z1 [# t5 N8 u7 q' u8 T0 }
第2章 创建游戏引擎
7 _- h% w" X8 {" ^- {6 u. ]7 a. H2 l2.1 什么是游戏引擎 2 [7 N; ]" V& r3 h& b, x
2.2 考虑游戏引擎的作用 0 J/ q/ V6 ^; b8 o% t( T
2.2.1 将游戏分解为事件 0 D( X7 Y& v0 o( T& @
2.2.2 建立游戏的计时机制
$ ?+ h' t, z( q9 |% w2.3 开发游戏引擎 4 c! I# ^2 l* O U5 f0 s
2.3.1 游戏事件函数
- C: J$ `' q+ L5 g* ~# W8 u 2.3.2 GameEngine类
, t* k) R( F, H; r) [. ]2 G" B2.4 开发Blizzard示例 4 b3 y$ Q z5 E. K9 R* [7 I( [
2.4.1 编写程序代码
3 k! z4 p& P7 ~ 2.4.2 测试完成的程序 ! }7 f3 g, n; N3 c: v" d
2.5 小结
- G$ i8 i! v! `* D) g2.6 游戏大变身
* b2 F6 W7 k/ e) f% l# U% ]4 e第3章 学习绘制基本图形
. L3 J1 w5 }* J, l$ ~& V3.1 图形基础 9 O0 l$ p2 u; U( |& M# j
3.1.1 理解图形坐标系统
, q, a& @4 @7 H: Y% x% l0 A 3.1.2 学习颜色的基础知识
* A$ ~3 Q t. q3.2 查看Windows中的图形
( v$ v$ F3 z& @% Y( N& a 3.2.1 使用设备环境 % x J0 ]# [$ {% X) n5 A4 D
3.2.2 使用画笔写 ' V* u% R/ l( |7 C3 M! n+ D7 p; N
3.2.3 使用画刷绘制
( B/ a: R3 \+ ~ 3.2.4 使用位图绘制图像
5 w9 F, N* _1 @$ [$ C 3.2.5 使用调色板管理颜色 3 ^" ?) j- y" G( q( U
3.3 绘制窗口 * K8 g8 ?# p1 }
3.3.1 绘制文本
4 M, T; {% d+ S, n, b; L 3.3.2 绘制图元
2 Y T, S2 b3 Q9 n 3.3.3 使用画笔和画刷
! S3 f5 ?2 h5 b7 Z( L3.4 开发Crop Circles示例 3 x& E) i4 A, R1 J+ ]
3.4.1 编写程序代码
4 B5 {# l' j; J7 P: p' f$ [ 3.4.2 测试完成的程序
3 u& w4 g# v7 Q; ~$ k Y9 Q3.5 小结
6 o! K4 n+ P' ?' ~' V6 K' r3.6 亲身实践 8 v8 P8 o% `: k
第4章 绘制图形图像
* Q" p6 L- {3 y+ X" J' C! x4.1 位图图像的基础知识
3 d8 u. U. v: T6 `" r6 }4.2 深入学习位图 & F5 f6 J0 n2 `" T$ D
4.3 开发位图类
! F: g8 R* y6 J2 N 4.3.1 位图类的工作原理
( s$ ~) h' K! z0 J 4.3.2 整合代码
3 y' P& f" B8 A4 n! q4.4 开发Slideshow示例
! K2 }1 M$ i6 S! U) w8 o 4.4.1 编写程序代码
9 l: r6 l# P- \- R 4.4.2 汇集资源
' g! z- ] t2 O 4.4.3 测试完成的程序
9 i6 T* u+ _5 Y9 b4.5 小结
5 X% l: s2 ^/ `1 z. T- L4.6 游戏大变身
( @1 J L, W; Y; a6 S6 N# ]" S' ~) k# [/ h第2部分 与游戏玩家交互
: R: c. f" q O4 N第5章 使用键盘和鼠标控制游戏 # H6 \0 ` V* y2 v1 E: d7 U
5.1 游戏与用户输入 1 H. j% W% |& N* N" |
5.2 了解用户输入设备
9 C! t+ D& E1 i% p7 R3 L; a$ [ 5.2.1 接受键盘输入
3 h7 p1 w0 {7 ]# L6 z 5.2.2 响应鼠标 4 w! m5 y) d! a
5.2.3 使用游戏杆交互
0 c* I/ W9 ~( L# p5.3 评估游戏的键盘输入
; w% M/ h& O* @ Z5.4 跟踪鼠标
/ j3 k% w+ [0 q% {# @5.5 向游戏引擎添加输入支持 ( Y G( @. J c5 Z N1 p. l
5.5.1 添加键盘支持
' z& N, l5 ~5 S% y7 b 5.5.2 添加鼠标支持 6 T4 j; v1 e, d: W- k
5.5.3 修改Bitmap类 ; `' @* Y5 v: l# o
5.6 开发UFO示例
* Z' a+ O+ X$ M6 E( Z, u1 K, \ 5.6.1 编写程序代码
" m l% k8 S6 J/ T 5.6.2 测试完成的程序 8 Q0 i$ I8 R% {8 T) @( T/ u
5.7 小结
- M) S5 Z7 o" W7 A0 h6 y5.8 亲身实践 : V1 A! q) Q3 }- b7 q9 B
第6章 示例游戏:Brainiac
$ _& f8 g! @5 |/ ?6.1 游戏的玩法
( m/ O$ x/ r* M4 y- U5 e4 ^2 l5 W6.2 设计游戏
% B2 N& F5 n+ e/ _$ `! U6.3 开发游戏
2 T8 m# P) f' e# u( R) Q6.4 测试游戏 ' x. q7 }7 ?% v; I
6.5 小结 . ]$ s- B8 S0 G" R5 G9 L
6.6 游戏大变身 - O0 L) O# ` `% V/ H) I" S
第7章 使用游戏杆改进输入 . i* y+ O4 x; b% Z D& }
7.1 了解游戏杆的基础知识
; F+ n# {6 {- |3 d7.2 校准游戏杆 4 ~& g( {- \3 I+ s( K: B
7.3 追踪游戏杆的移动 % h4 E4 x& `% C6 p% T0 m3 h, v
7.4 向游戏引擎添加游戏杆支持 : E6 I( ^, j# d& W
7.4.1 访问Win32多媒体功能
, C5 P+ t# o& y- f+ c 7.4.2 开发游戏杆代码 * S0 J9 B4 M5 @0 R8 C
7.5 开发UFO 2示例
) \6 Q9 b8 ^& g* h1 q0 z 7.5.1 编写程序代码 0 \$ Q& P1 t* l" z1 @+ P2 O3 O2 h+ M! |
7.5.2 测试完成的程序
( G4 B) W/ t, O9 Y7.6 小结 3 v f2 V. ^5 `
7.7 亲身实践
+ W) ]$ m$ } w1 m* v1 P第8章 示例游戏:Light Cycles ' U% ]' f$ B3 `3 _; o& _
8.1 游戏的玩法 & \; M7 A: D1 e! c
8.2 设计游戏
- p7 ?7 p6 ?# Y0 m5 d/ z8.3 开发游戏
# Z- r" y4 I7 }- R9 P8.4 测试游戏 ) H' v5 d _1 {8 w+ {; I( X
8.5 小结
' ?0 @9 B+ P/ ^8.6 游戏大变身 7 t. j' N% W& H7 }% {9 l1 l! M
第3部分 在游戏中使用子画面
) X, v5 S) g/ j第9章 使用于画面动画移动对象
Y; w2 D& a, \( l- `/ t9.1 理解动画的基础知识
/ a& p5 C% Y" w6 w2 J! |, C" M0 E 9.1.1 动画和帧频 ( {( d6 b0 @" d) H" v( ]% [
9.1.2 了解计算机动画
# r6 s# t3 d& D7 l4 F9.2 2D动画与3D动画 / `2 |6 @$ z) L7 ~
9.3 理解2D动画的类型 8 X7 r I5 ~; N& @! K# r
9.3.1 基于帧的动画 6 g r6 w3 W: A$ h9 e
9.3.2 基于形状的动画 * p$ @( `! L$ @* r, f
9.4 将子画面动画应用于游戏 7 S* T' z/ G7 E
9.5 设计通用的子画面 2 o) T9 [: F1 I: i* z2 E6 ^9 y' f! l3 p
9.6 创建Sprite类 . S* G% I1 X; w2 h9 L7 E
9.6.1 创建和破坏子画面 & \1 q" L: r+ y0 y, _
9.6.2 更新子画面
: r7 y( E* k3 v& [" j' K# _ 9.6.3 绘制子画面
6 y$ I4 h' k) C+ ?* i9.7 开发Planets示例程序
; s& A. s0 F- u; [, F; J5 q& q+ B 9.7.1 编写程序代码 # [- d1 G! D, N& |) C
9.7.2 测试完成的程序 & H6 a% K0 ~& o) u1 v
9.8 小结
; B$ j. r- P R) `& p1 l9.9 亲身实践
7 L8 ^4 Q, U: [, C" Z9 D第10章 管理子画面 1 }# \; S* c+ q: k/ Q1 S
10.1 了解管理子画面的需求 ) g- l r9 O( c' Q( z
10.2 设计子画面管理器 ; X0 v& \, c: @- F# S8 m/ U7 K
10.3 向游戏引擎添加子画面管理器 ; T n2 h0 p$ M9 m$ h: a' ]6 f
10.3.1 改进Sprite类
7 k. m2 h- o4 M! m 10.3.2 增强游戏引擎
- K; d0 ^5 k7 ^( F# F3 a7 G10.4 使用双重缓存消除闪烁
4 t- Q% D; `" D10.5 开发Planets 2示例 9 V1 A) a0 i) g3 q# _9 S
10.5.1 编写程序代码 9 O0 c% a i A, E, ?: t$ @
10.5.2 测试完成的程序 6 b8 s* s$ [" z9 E9 x* U$ `
10.6 小结
* Z. r6 ^4 ]0 z7 b' v5 _# Z1 y1 W10.7 游戏大变身 ( B: b3 R1 ^( O* W# k4 ^
第11章 示例游戏:Henway " z% [" J- X- F$ Z8 l" l' O
11.1 游戏的玩法
: n. F6 D* c/ S9 c; |11.2 设计游戏 " f& }, N" B9 P% w0 d# X' z) ]. b1 a
11.3 开发游戏
3 S; m2 T; q1 d4 z11.4 测试游戏 ( e: k9 D/ A5 }, u5 w6 F8 t* h
11.5 小结 8 _9 J5 U7 u6 C/ o
11.6 游戏大变身
+ O/ a) {2 N$ c* O% T J8 P) k2 l第4部分 使用声音和音乐 ( F& x; U1 ^' A# K% l/ k/ r
第12章 播放数字声音效果 " M, C/ ?2 i1 D7 T3 y
12.1 理解数字声音 9 h& I6 T0 B" y# |: w7 m4 K; T
12.2 了解Windows波形声音 , d7 h" q# ]1 z+ Y _# }
12.3 了解声音工具
0 L, ~3 p! w- w 12.3.1 Sony Sound Forge
; A! x! g. x2 O w: z6 x, O 12.3.2 Adobe Audition ( e) Q$ |0 V/ n8 r$ E5 j8 }0 K
12.3.3 廉价的声音编辑器 ! G( f x& c, w5 f$ F, K3 n2 {: ?
12.4 创建和编辑声音 ! H3 _0 J. a' Q# z$ [& q' z/ F$ B; [/ F
12.5 查找声音和音乐
4 T, m2 N$ {6 c- @3 r12.6 访问波形声音 6 C# I9 v* ]% c j5 i6 M
12.7 播放波形声音 ' [$ \/ ]6 d" V6 a' Q) g
12.7.1 播放文件中的波形声音
% W6 W% v$ T; a+ \- Y* I 12.7.2 播放作为资源的波形声音 ! T4 Q; K3 F1 A* N2 P
12.7.3 循环播放波形声音 # e/ E/ }- z. P' S$ t! K
12.7.4 停止播放波形声音 7 {0 K% ~7 Y" x( m6 L7 m) A9 U
12.8 开发Brainiac 2示例程序 - Q1 D$ s; L2 B' q. a- @
12.8.1 编写程序代码
1 ?6 U L7 q( J6 Y7 | 12.8.2 组合资源 $ ^+ ]; Q0 d) Q
12.8.3 测试完成的游戏 ! O y; ~# u/ j
12.9 小结
# r9 N; U" T4 J* g12.10 亲身实践
4 ?. J; p7 B E9 b5 H1 B7 A4 \第13章 播放MIDI音乐
8 f' @# p: U9 O" K8 B. a' ~13.1 感受MIDI音乐
$ X( i5 y; C9 W6 n13.2 理解Windows媒体控制接口 + N X: [ w- y& R H7 j; E
13.3 使用MCI播放MIDI音乐
' z. j. K3 w& z 13.3.1 打开MIDI设备
8 O$ N3 z4 l( G/ a" g# K 13.3.2 播放MIDI歌曲 $ k" m% j- `" W% W# A) P3 |7 ]
13.3.3 暂停MIDI歌曲
4 z: O( L2 G5 l' k; o9 R 13.3.4 关闭MIDI设备 - U& T& [% `6 Z; z1 |- V E
13.4 向游戏引擎添加MIDI音乐支持
: s! ]" u! T7 ^/ p$ c9 ^/ g13.5 开发Henway 2示例程序
& j/ C! {4 Q' U, H4 \1 v 13.5.1 编写程序代码
% w7 \; ?# B5 @: N 13.5.2 测试完成的游戏 ' A- m! i: n/ R( _
13.6 小结
# P: L( S( e% a) |13.7 亲身实践 * U0 Q* y3 ~. X! r" X4 h6 K
第14章 示例游戏:Battle Office
$ l6 t- G$ s3 c* j4 h, `0 [: N14.1 游戏的玩法 ! \# A K4 B3 Y- ~
14.2 设计游戏
2 X. U6 y0 R9 L6 m& n14.3 开发游戏
9 Z5 g$ `' o6 F! y j. x# e3 _14.4 测试游戏 3 |+ W9 e/ ~+ Y" S" r
14.5 小结
! f u1 ]5 _ Q7 l" M7 S8 _14.6 亲身实践
% g# m3 T9 D m( Q+ r第5部分 高级动画
, o8 S- A5 X- z- g/ c第15章 实现子画面外观动画
% Z3 o, b4 K9 ?6 q15.1 再次介绍帧动画 , V, X2 V7 Z1 ^
15.2 设计动画子画面 % x0 V i: H- H9 S
15.3 向游戏引擎添加动画子画面支持
# T3 h, W4 e `+ h8 Z& A 15.3.1 只绘制位图的一部分 % D5 s4 L$ e4 B0 g* N& J$ ^+ [
15.3.2 对Sprite类实现动画
$ a! v+ Z r+ n$ N15.4 开发Battle Office 2示例程序 3 s, b. d" }+ ]& r" }# z; [
15.4.1 编写程序代码
* N3 R$ F, Y( J8 V/ {5 Z- W' g* \ 15.4.2 测试完成的游戏 F" ?+ C5 D% H& ?/ B$ P5 A
15.5 小结 , h& ~8 s2 S; k
15.6 游戏大变身
$ o* P; J2 {- g! Y9 y, ^2 F第16章 创建子画面背景
* |% u* k* t7 R l9 P, ~16.1 了解游戏背景的重要性 8 q7 S- _0 H* ?
16.2 了解游戏背景的类型
( [* c6 ^6 S# }) b8 }( p& h2 ]) p 16.2.1 纯色背景 & d$ g' [1 u' f! z) M5 M2 B
16.2.2 图像背景 4 J8 H, j& F# C6 A$ z
16.2.3 动画背景
4 w' i. p7 L* T8 O* l 16.2.4 滚动背景
' K8 u0 A- K4 q+ g16.3 向游戏引擎添加背景支持
; F9 J. n0 J, V, J7 P. \ 16.3.1 创建基本的背景类
7 R1 A$ D* A; Q1 [; e- ? 16.3.2 创建动画背景类 1 S* E6 t$ ]+ \* _' X: s# m
16.4 开发Roids示例 0 u" f9 \4 `, U" b: b+ d
16.4.1 编写程序代码
: Z& V+ W* o9 j+ y. L3 G 16.4.2 测试完成的游戏 & j. c3 h& t6 I- H
16.5 小结 6 O- J9 x# W5 r% D! f; k
16.6 亲身实践 8 V( w( @& }7 w |2 J) A
第17章 示例游戏:Meteor Defense
9 z9 R1 x, b2 ~! i17.1 游戏的玩法 $ @% g; ]7 {" i3 Q. R: }
17.2 设计游戏 - T3 V' q8 K: p2 `
17.3 增强游戏引擎中的子画面
. g! ]" [* F5 T' @' t) F# ~17.4 开发游戏
- W$ x: R3 W0 N o0 f. `) W17.5 测试游戏 $ s: t9 b/ |4 q' M6 c4 E; C
17.6 小结 $ F0 O0 u* M; `
17.7 游戏大变身
, g k' V$ k/ }8 p- {8 S- ^第6部分 让游戏拥有大脑
# T2 i/ V+ o) z, U6 Y第18章 教游戏思考 2 ?/ y% p( H# S2 r& f/ {
18.1 理解人工智能% @, @% s- s2 g+ Q, c
18.2 了解游戏AI的类型 3 o2 _& @4 t0 v3 [7 t; j
18.2.1 漫游AI 1 _! `3 ~8 y7 [
18.2.2 行为AI
0 `+ W7 J/ H' `8 y( H 18.2.3 策略AI , Z0 ^' `" H9 b! z% U
18.3 开发AI策略 - \( I- O9 [$ _! ^3 Y% b$ {: z
18.4 开发Roids 2示例程序
# @& c, D' O( J0 }* u9 S2 ]8 c 18.4.1 编写程序代码
. Q" N4 @1 V( [3 ~4 |8 M 18.4.2 测试完成的程序
; V/ U8 Y D( G4 c' r18.5 小结
1 c) `4 ~4 O, L18.6 亲身实践
( i9 ^8 S! T" ]第19章 示例游戏:Space Out 4 A/ I! ?' e& w! \
19.1 游戏的玩法 # ^, X7 I7 L0 a$ D& j- D0 N. g
19.2 设计游戏 1 f, v8 j9 o: x
19.3 向游戏引擎中添加另一个子画面特性 4 ]: ~9 \ O; \* {" V+ g
19.4 开发游戏
$ i* N; X8 t) O; {1 b2 L j19.5 测试游戏
* Q' S- j+ e1 B3 ?5 h19.6 小结
, p9 ^- x9 _, H第7部分 增添游戏的趣味性
1 n9 U# J: F h0 E, n第20章 使用闪屏增添游戏的活力
0 a5 ], x z3 `" W% Z20.1 闪屏的重要性 % g. a" C& l: k5 s7 g( ^# A
20.2 了解闪屏
7 N9 I5 ]" E! X5 e+ V20.3 创建Space Out 2游戏 & U+ H7 ^: |, W `, _! t; X
20.3.1 编写游戏代码
- G- H, j4 c& _* M 20.3.2 测试完成的游戏
) x' ^" y; K. ?) E20.4 小结 4 z7 F2 }# m1 }& I# V$ C+ H. T
20.5 亲身实践 ( @4 f9 P1 m6 U" I1 u
第21章 使用演示模式展示游戏 5 ?0 F; z! i3 _) N/ J
21.1 什么是演示模式
. O; Q8 H8 U/ G' e) ?& m$ @7 q21.2 演示模式的细节
% l4 D3 ?' \' }0 t7 V21.3 开发Space Out 3游戏 4 h6 ^6 q2 v( h I$ n
21.3.1 编写游戏代码
5 ~+ }* S% F& ^1 M s3 @& ? 21.3.2 测试完成的游戏
7 { Z+ j' Y L( \4 d$ g21.4 小结
' M+ |4 C" m; ]+ O( o21.5 游戏大变身
9 q- ?& I. L" l4 r& [& C5 B第22章 记录高分
1 ^9 ]5 c/ U' b1 j22.1 记录得分的重要性
2 A& ?1 }" j- O6 r8 L {' K22.2 确定高分数据模型
, F5 G6 A$ s5 O- `+ ]: X3 z22.3 存储和检索高分数据
( ` O$ |% B' a22.4 开发Space Out 4游戏
7 [3 T0 u8 ~6 _% [/ z4 X 22.4.1 编写游戏代码 1 q5 F* g' p' Z$ u5 b
22.4.2 测试完成的游戏 : i1 \8 H, i2 Q) s: Y8 p
22.5 小结
6 R. c8 g7 h9 p22.6 亲身实践 0 w4 ?6 x4 k" Q4 {1 k5 E
第8部分 附加练习
+ X; z ~1 E$ ]% @" @第23章 使用滚动背景更改远景 ( K+ G& E. t4 U! U6 ?
23.1 什么是滚动背景 $ M4 V7 L( d) {+ L) c g
23.1.1 横向滚动的背景
7 [7 ^! Z- t" M 23.1.2 纵向滚动的背景
# v; E+ R: ^# J2 I' M0 M 23.1.3 视差滚动背景
) w8 p' e* f( i7 j2 M5 g23.2 理解滚动背景的工作原理
& b4 S% B, s6 h# u3 K23.3 向游戏引擎添加滚动背景支持 3 ^7 S' e$ P( a% d* c
23.3.1 创建背景图层类 & l# I5 S$ V" l$ K+ P. C
23.3.2 创建滚动背景类
3 C" l/ |! z: u) h$ O23.4 开发Wanderer示例 . p$ g* P. X. P7 U$ J2 P5 ^) Q
23.4.1 编写程序代码 . U4 t; h7 b0 {& g. E& L b
23.4.2 测试完成的程序
9 \* W' K& ~- P: b23.5 小结 + h1 g t7 t5 X* n
23.6 游戏人变身
2 P" F4 B0 b8 l k, d第24章 示例游戏:Stunt Jumper
+ Q. s+ O- `* m24.1 游戏的玩法 - e& I# `$ D! F7 w3 J/ H- M4 Z/ V' [
24.2 设计游戏 2 N5 g' {0 H, c& Z' i
24.3 开发游戏 8 n& u$ {/ k# L0 S
24.4 测试游戏
5 }3 S* \$ g D7 V24.5 小结 1 m: U; d2 N9 x: P) V5 b, j
24.6 游戏大变身 ' x7 g1 N3 e4 |
24.7 亲身实践 $ m9 |" K- X5 c8 ^
$ U# |8 Y9 Y3 d n0 v
【下载地址】
% U* P$ L* m0 c% t V' y ?) u4 |( X( C: d! `: G' q: e2 Y
) G6 D+ c( T U" z) I Q8 s/ Z" ? |
|