packages
Java audio, described, 87
java.io, 119–123
java.nio, 132
packets
latency, 196
and UDP multicast, 200–201
page flipping and rendering, 66–67
paint method, 422
paintFocus method, 423
parsing text files, 149
patterns
DAO (data access object), 294–295
game design, 275
pauseRenderThread( ) method, 68
pauses and collection algorithm, 169
PC ports and Java, 7
PCM (pulse code modulation) file format, 89
penetration depth of collision, 464, 466
performance
access overhead of byte buffers (table), 148
benchmarking, 171–173
bottlenecks, solving problems, 177–178
and design, 261–269
different Java file IO methods (table), 147
interfacing Java and native code, 348–350
and Java scripting, 310
Java vs. other languages, 4
Java.io, .nio vs. native IO, 132, 143–149
JavaSound, 87
JDBC techniques, 289–295
mathematical. See math performance
measuring, 171
and non-blocking loops, 30–31
profiling and optimization, 173–178
reading and writing, Java file IO vs. standard C file IO (table), 146
troubleshooting generally, 179–187
troubleshooting Java, 187–193
perspective frustrums, 412
pitch, audio programming, 105
pixels
described, 55
fill rate, 3D graphics (fig.), 358
and texels, 373–375
and textured geometry, 415
plane collisions, 488–497
platform independence, 3
platformer games, 2D and 3D, 16
player controls and playback controls, 100
PlayerAdapter class, 79–80
players and item database tables (fig.), 277
player’s input, obtaining, 26–27
.png files, 56
Point class and serialization, 126
point sampling, 373
point-to-AABB and sphere collisions (fig.), 478
point-to-cylinder collision (fig.), 483
pointers, OpenGL’s use of C, 395
polygons in 3D graphics, 360, 448–449
Pong game, 47
port numbers, dynamic, 232
portability of native code, 350
ports, PC, and Java, 7
positioning Source, audio, 105
Practical Java Game Programming CD-ROM, 499–500
precomputations, using, 181–182
PreparedStatement (SQL), 287
primary buffer and rendering, 65
primary keys in game databases, 276–278
primitive arrays, 348
primitive identifiers, JNI (table), 326
primitive types, Java vs. native (table), 321
primitives, basic collision (fig.), 473
printing, enabling, 40
procedures, stored, 293–294
processInputEvent method, 420, 423
productivity of scripting languages, 300–301
profilers, hprof, 174–176
profiling to find performance bottlenecks, 173–178
programming. See game programming
projection, 3D graphics, 364
promptness, and collection algorithm, 169
protocols
See also specific protocols
game-networking, 232–236
network communications, 198–199
pulse code modulation (PCM) file format, 89
PushbackInputStreams, 122
puzzle games, current development of Java, 8
Puzzle Pirates (Three Rings), 8