Acknowledgments |
|
xv | |
About the Author |
|
xvii | |
Introduction: About 3D Games |
|
xix | |
1 GameGuru for Game Development |
|
1 | (10) |
|
|
2 | (1) |
|
What is the History of GameGuru? |
|
|
3 | (8) |
|
FPS Creator, aka FPS Creator Classic, aka FPSC |
|
|
3 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
On a Purely Speculative Note |
|
|
5 | (1) |
|
Lee Bamber, Creator and Founder of GameGuru and The Game Creators |
|
|
5 | (6) |
2 A Brief History of FPS Games |
|
11 | (10) |
|
|
11 | (1) |
|
The Godfathers of 3D Gaming: Romero and Carmack |
|
|
12 | (1) |
|
|
12 | (9) |
|
Early Games: Battlezoner" |
|
|
13 | (1) |
|
The Ray Caster Era (1991-December 1993) |
|
|
13 | (2) |
|
Doom Era (December 1993-1996) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
"Quake III®" Rules the Roost |
|
|
18 | (1) |
|
|
18 | (1) |
|
Doom 3 and the Era of Graphical Innovation |
|
|
18 | (1) |
|
A New Generation is Born (Crytek®, "Unreal 4") 2007 |
|
|
19 | (1) |
|
FPS Gamedev and the Common Man |
|
|
19 | (2) |
3 A Design Flow Document or Technical Design Document |
|
21 | (6) |
|
So What Goes into a Design Document? |
|
|
22 | (2) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
23 | (1) |
|
Weapons, Collectibles, and Other Objects |
|
|
24 | (1) |
|
|
24 | (3) |
|
|
25 | (1) |
|
|
26 | (1) |
4 Using GameGuru |
|
27 | (48) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
30 | (1) |
|
A Blow-By-Blow Walk-Through of Every Button |
|
|
30 | (9) |
|
|
30 | (4) |
|
|
34 | (1) |
|
|
34 | (1) |
|
|
35 | (1) |
|
|
36 | (1) |
|
Graphic User Interface (GUI) Details |
|
|
36 | (3) |
|
Using the Character Creator |
|
|
39 | (2) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (5) |
|
|
46 | (1) |
|
Using the Easy Building Editor or the EBE |
|
|
47 | (3) |
|
|
50 | (14) |
|
|
50 | (1) |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
53 | (1) |
|
|
54 | (1) |
|
Water Configuration Settings |
|
|
55 | (3) |
|
|
58 | (1) |
|
|
59 | (1) |
|
|
60 | (2) |
|
|
62 | (2) |
|
In-GUI: How to Use the Terrain System |
|
|
64 | (1) |
|
New Flat Level Versus Random |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
67 | (3) |
|
|
70 | (3) |
|
When to Use High-Quality Entities |
|
|
72 | (1) |
|
Where to Find Additional Documentation |
|
|
73 | (2) |
5 Building Your First Game |
|
75 | (46) |
|
Priorities for GameGuru Games |
|
|
75 | (2) |
|
Building Something Memorable |
|
|
77 | (1) |
|
|
78 | (2) |
|
|
80 | (3) |
|
|
83 | (1) |
|
Making Realistic Mountains |
|
|
84 | (11) |
|
Secondary Foliage and Rocks |
|
|
92 | (2) |
|
|
94 | (1) |
|
The Large to Small Method |
|
|
94 | (1) |
|
|
95 | (1) |
|
Making a Realistic Forest |
|
|
95 | (5) |
|
|
96 | (4) |
|
|
100 | (11) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (1) |
|
|
103 | (2) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
107 | (2) |
|
|
109 | (2) |
|
|
111 | (8) |
|
|
112 | (2) |
|
|
114 | (2) |
|
|
116 | (1) |
|
|
116 | (2) |
|
|
118 | (1) |
|
|
119 | (2) |
6 Adding Simple Functionality |
|
121 | (10) |
|
|
121 | (3) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
126 | (5) |
7 Adding Sounds and Music |
|
131 | (8) |
|
A Brief History of Sound in Computing |
|
|
131 | (2) |
|
Key Concepts in Sounds for Video Games |
|
|
133 | (1) |
|
|
134 | (2) |
|
|
136 | (3) |
|
|
137 | (2) |
8 Adding Effective Enemies |
|
139 | (10) |
|
|
141 | (2) |
|
|
143 | (1) |
|
Placement and Positioning Enemies |
|
|
144 | (2) |
|
|
146 | (1) |
|
Custom Enemies with the Character Creator |
|
|
147 | (2) |
9 Advanced Lighting |
|
149 | (18) |
|
|
150 | (2) |
|
|
152 | (2) |
|
What is a Self-Illumination Map? |
|
|
154 | (1) |
|
|
155 | (1) |
|
Detailed Information on PBR Textures |
|
|
155 | (3) |
|
|
158 | (3) |
|
On Lighting Temperature and Color |
|
|
161 | (1) |
|
|
162 | (2) |
|
Illuminated Objects and Ambient Lighting |
|
|
164 | (3) |
10 Adding Ambience |
|
167 | (6) |
|
|
169 | (1) |
|
|
169 | (1) |
|
|
170 | (1) |
|
|
170 | (1) |
|
|
171 | (1) |
|
|
171 | (1) |
|
Cutting Back on the Garbage |
|
|
172 | (1) |
11 Lua Code Introduction |
|
173 | (14) |
|
|
173 | (1) |
|
|
174 | (1) |
|
Simple Programs, Building Upward |
|
|
175 | (4) |
|
|
175 | (4) |
|
|
179 | (7) |
|
|
179 | (1) |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
182 | (2) |
|
|
184 | (2) |
|
|
186 | (1) |
12 3D Math ... Made Easier |
|
187 | (8) |
|
|
188 | (3) |
|
|
191 | (1) |
|
|
191 | (1) |
|
A Brief Note on Quaternions |
|
|
192 | (3) |
13 Lua Code, Advanced |
|
195 | (10) |
|
|
195 | (2) |
|
|
197 | (1) |
|
|
198 | (7) |
14 Adding Advanced Al |
|
205 | (12) |
|
|
205 | (2) |
|
|
207 | (2) |
|
|
209 | (1) |
|
|
210 | (2) |
|
|
212 | (1) |
|
|
213 | (1) |
|
|
214 | (1) |
|
Creating a Circuit with Waypoints |
|
|
214 | (1) |
|
|
215 | (1) |
|
|
216 | (1) |
15 Advanced Engine Tricks |
|
217 | (12) |
|
|
218 | (1) |
|
|
219 | (1) |
|
Configuring Other View Modes |
|
|
220 | (1) |
|
An Introduction to Custom Particles |
|
|
221 | (2) |
|
An Introduction to Custom Physics |
|
|
223 | (6) |
16 Retexturing Assets |
|
229 | (10) |
|
|
231 | (1) |
|
|
231 | (2) |
|
Using Paint.net to Modify |
|
|
233 | (3) |
|
Changing Diffuse Textures |
|
|
236 | (1) |
|
|
237 | (2) |
17 Adding Advanced Design Elements |
|
239 | (28) |
|
Level of Detail and Model Quality |
|
|
239 | (1) |
|
|
240 | (1) |
|
|
241 | (2) |
|
|
243 | (2) |
|
|
244 | (1) |
|
|
245 | (1) |
|
|
246 | (2) |
|
|
248 | (1) |
|
|
248 | (4) |
|
|
252 | (1) |
|
|
253 | (1) |
|
|
254 | (1) |
|
|
255 | (4) |
|
|
255 | (1) |
|
|
256 | (2) |
|
Techniques to Help Players Find Secrets |
|
|
258 | (1) |
|
|
259 | (1) |
|
|
260 | (1) |
|
|
261 | (6) |
18 Building a Standalone |
|
267 | (12) |
|
How a Standalone is Built |
|
|
267 | (1) |
|
Custom Lua Standalone Menus |
|
|
268 | (2) |
|
|
270 | (7) |
|
|
277 | (1) |
|
|
277 | (2) |
19 Finishing Touches |
|
279 | (10) |
|
|
281 | (1) |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
283 | (1) |
|
|
284 | (1) |
|
|
285 | (1) |
|
|
285 | (1) |
|
|
286 | (1) |
|
|
287 | (2) |
20 Testing and Troubleshooting |
|
289 | (12) |
|
|
290 | (2) |
|
|
292 | (1) |
|
|
292 | (2) |
|
Common Problems and Resolutions |
|
|
294 | (3) |
|
Objects Popping In and Out Visually |
|
|
294 | (1) |
|
Character Creator Buttons Not Visible |
|
|
294 | (1) |
|
|
294 | (1) |
|
|
295 | (1) |
|
Missing MultiTexture Objects |
|
|
295 | (1) |
|
|
295 | (1) |
|
|
295 | (1) |
|
|
295 | (1) |
|
|
296 | (1) |
|
|
296 | (1) |
|
|
296 | (1) |
|
|
297 | (4) |
|
Real-World Example #1: Len the Man's Cowboy Shooter |
|
|
297 | (1) |
|
Real-World Example #2: A Personal FNAF Clone |
|
|
298 | (1) |
|
Real-World Example #3: Duchenkuke's Soldiers |
|
|
299 | (2) |
21 Optimization (and More Testing) |
|
301 | (20) |
|
Reading the Performance Statistics |
|
|
301 | (4) |
|
|
305 | (2) |
|
Occlusion for Fun and Profit |
|
|
307 | (2) |
|
Tab Settings and Performance |
|
|
309 | (1) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
312 | (1) |
|
Optimizing Your Set Pieces |
|
|
313 | (1) |
|
|
314 | (2) |
|
Optimizing Your Post-Effects |
|
|
316 | (1) |
|
|
316 | (2) |
|
Performance Hacks and Tweaks |
|
|
318 | (3) |
22 Laws, Licenses, Marketing, and Selling |
|
321 | (22) |
|
|
324 | (1) |
|
What is Limited Liability? |
|
|
324 | (1) |
|
|
325 | (2) |
|
|
327 | (1) |
|
On Kickstarter and Crowdsourcing |
|
|
327 | (1) |
|
|
328 | (1) |
|
|
329 | (2) |
|
|
331 | (1) |
|
|
332 | (2) |
|
|
334 | (2) |
|
Sales and Marketing Techniques |
|
|
336 | (1) |
|
|
336 | (1) |
|
|
337 | (6) |
23 In Closing |
|
343 | (64) |
|
|
343 | (27) |
|
|
343 | (1) |
|
|
344 | (2) |
|
|
346 | (1) |
|
|
346 | (3) |
|
|
349 | (1) |
|
Disable and Enable Core Functions |
|
|
350 | (1) |
|
|
350 | (1) |
|
|
351 | (1) |
|
|
352 | (2) |
|
|
354 | (1) |
|
|
355 | (1) |
|
|
356 | (5) |
|
|
361 | (1) |
|
|
361 | (2) |
|
Sprites, Lights, and Images |
|
|
363 | (2) |
|
|
365 | (1) |
|
Title and Menu System Controls |
|
|
366 | (1) |
|
|
367 | (1) |
|
|
368 | (1) |
|
|
368 | (1) |
|
Dynamic Light and Sky Controls |
|
|
369 | (1) |
|
|
370 | (15) |
|
|
370 | (15) |
|
|
385 | (8) |
|
|
385 | (8) |
|
|
393 | (2) |
|
|
393 | (1) |
|
Type of Light & RGB Color Code for GG |
|
|
393 | (1) |
|
Ambient/Surface Light Values from Sun |
|
|
394 | (1) |
|
Atmospheric Values for Fog |
|
|
394 | (1) |
|
|
395 | (6) |
|
Gunspec Muzzle Flash Alignments |
|
|
399 | (2) |
|
|
401 | (1) |
|
Hyperlink Reference Guide |
|
|
401 | (3) |
|
|
401 | (1) |
|
|
402 | (1) |
|
On games improving cognition |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
404 | (3) |
Index |
|
407 | |