•  Table of Contents
•  Index

Developing Games in Java
By David Brackeen, Bret Barker, Laurence Vanhelsuwé
  Java ScreenShot
uploader New Riders Publishing
Pub Date August 20, 2003
Pages 1008
    Screenshot     Screenshot Preface       Screenshot About the Author       Screenshot About the Contributing Authors       Screenshot About the Technical Reviewers       Screenshot Acknowledgments     Screenshot Introduction       Screenshot Why Java?       Screenshot What You Need       Screenshot What Is in this tutorial       Screenshot What's Not in this tutorial       Screenshot About the Code in this tutorial       Screenshot Using Ant       Screenshot Summary     Screenshot Part I.  Java Game Fundamentals       Screenshot  1.  Java Threads       Screenshot What Is a Thread?       Screenshot Creating and Running Threads in Java       Screenshot Synchronization       Screenshot Using wait() and notify()       Screenshot The Java Event Model       Screenshot When to Use Threads       Screenshot When Not to Use Threads       Screenshot Sum It Up: Thread Pools       Screenshot Summary       Screenshot  2.  2D Graphics and Animation       Screenshot Full-Screen Graphics       Screenshot Images       Screenshot Getting Rid of Flicker and Tearing       Screenshot Simple Effects       Screenshot Summary       Screenshot  3.  Interactivity and User Interfaces       Screenshot The AWT Event Model       Screenshot Keyboard Input       Screenshot Mouse Input       Screenshot Mouselook-Style Mouse Movement       Screenshot Creating an Input Manager       Screenshot Using the Input Manager       Screenshot Designing Intuitive User Interfaces       Screenshot Using Swing Components       Screenshot Creating a Simple Menu       Screenshot Letting the Player Configure the Keyboard       Screenshot Summary       Screenshot  4.  Sound Effects and Music       Screenshot Sound Basics       Screenshot The Java Sound API       Screenshot Playing a Sound       Screenshot Creating a Real-Time Sound Filter Architecture       Screenshot Creating a Real-Time Echo Filter       Screenshot Emulating 3D Sound       Screenshot Creating a Sound Manager       Screenshot Playing Music       Screenshot Summary       Screenshot  5.  Creating a 2D Platform Game       Screenshot Creating a Tile-Based Map       Screenshot Collision Detection       Screenshot Finishing Things Up and Making It Fast       Screenshot Creating an Executable .jar File       Screenshot Ideas to Expand the Game       Screenshot Summary       Screenshot  6.  Multi-Player Games       Screenshot The Revolution in Java's I/O Libraries       Screenshot ChatterBox, A Basic Multi-Player app       Screenshot Multi-Player Game Server Framework       Screenshot A Sample Game: RPS (Rock, Paper, Scissors)       Screenshot Complete the Look: Building on the Framework       Screenshot Server Administration       Screenshot Advanced Topics       Screenshot Summary     Screenshot Part II.  3D Graphics and Advanced Techniques       Screenshot  7.  3D Graphics       Screenshot Types of 3D Rendering       Screenshot Don't Forget Your Math       Screenshot 3D Basics       Screenshot 3D Math       Screenshot Polygons       Screenshot 3D Transforms       Screenshot A Simple 3D Pipeline       Screenshot Camera Movement       Screenshot Solid Objects and Back-Face Removal       Screenshot Scan-Converting Polygons       Screenshot 3D Clipping       Screenshot Final Rendering Pipeline       Screenshot Summary       Screenshot  8.  Texture Mapping and Lighting       Screenshot Perspective-Correct Texture Mapping Basics       Screenshot A Simple Texture-Mapper       Screenshot Optimizing Texture Mapping       Screenshot Simple Lighting       Screenshot Implementing Texture Lighting       Screenshot Advanced Lighting Using a Shade Map       Screenshot Additional Concepts       Screenshot Summary       Screenshot  9.  3D Objects       Screenshot Hidden Surface Removal       Screenshot 3D Animation       Screenshot Polygon Groups       Screenshot Loading Polygon Groups from an OBJ File       Screenshot Game Objects       Screenshot Managing Game Objects       Screenshot Putting It All Together       Screenshot Future Enhancements       Screenshot Summary       Screenshot  10.  3D Scene Management Using BSP Trees       Screenshot BSP Tree Intro       Screenshot Binary Tree Basics       Screenshot The One-Dimensional BSP Tree       Screenshot The Two-Dimensional BSP Tree       Screenshot Implementing a 2D BSP Tree       Screenshot Drawing Polygons Front to Back       Screenshot First BSP Example       Screenshot Drawing Objects in the Scene       Screenshot Loading Maps from a File       Screenshot Putting It All Together       Screenshot Enhancements       Screenshot Summary       Screenshot  11.  Collision Detection       Screenshot Collision Basics       Screenshot Object-to-Object Collisions       Screenshot Object-to-World Collisions       Screenshot Basic Collision-Detection Demo       Screenshot Collision Handling with Sliding       Screenshot Collision Detection with Sliding Demo       Screenshot Enhancements       Screenshot Summary       Screenshot  12.  Path Finding       Screenshot Path-Finding Basics       Screenshot Some Initial Path-Finding Attempts       Screenshot Basics of the A* Algorithm       Screenshot Applying the A* Algorithm       Screenshot Using the A* Algorithm with a BSP Tree       Screenshot Generic Path Finding       Screenshot Making a PathBot       Screenshot Enhancing the A* Search       Screenshot Summary       Screenshot  13.  Artificial Intelligence       Screenshot AI Basics       Screenshot Take Away Those Godlike Powers!       Screenshot State Machines and Reacting       Screenshot Probability Machines       Screenshot Making Decisions       Screenshot Patterns       Screenshot Object Spawning       Screenshot Putting It All Together       Screenshot Evolution       Screenshot Other Game AI Ideas       Screenshot Summary       Screenshot  14.  Game Scripting       Screenshot Scripting Cookbook: What You Need       Screenshot Implementing Touch and Release Notifications       Screenshot Game Object Listeners       Screenshot Scripting       Screenshot Delayed Events       Screenshot Putting It All Together       Screenshot Enhancements       Screenshot Summary       Screenshot  15.  Persistence—Saving the Game       Screenshot Game-Saving Basics       Screenshot Using Java's Serialization API for Game State Persistence       Screenshot Creating Game Screen Snapshots       Screenshot Saving Games to the Right Destination       Screenshot Summary     Screenshot Part III.  Tuning and Finishing Your Game       Screenshot  16.  Optimization Techniques       Screenshot Optimization Rules       Screenshot Profiling       Screenshot HotSpot       Screenshot Optimization Tricks       Screenshot Memory Usage and the Garbage Collector       Screenshot Perceived Performance       Screenshot Summary       Screenshot  17.  Creating Game Art and Sounds       Screenshot Choosing a Look and Feel       Screenshot Getting Royalty-Free Game Media       Screenshot Working with Artists and Sound Effect Engineers       Screenshot Tools       Screenshot Creating Sounds       Screenshot Creating Textures and Sprites       Screenshot Creating Splash Screens and HUD Graphics       Screenshot Creating UI Graphics       Screenshot Creating Your Own Fonts       Screenshot Summary       Screenshot  18.  Game Design and the Last 10%       Screenshot The Last 10%       Screenshot Elements of Game Design       Screenshot Creating a Map Editor       Screenshot Debugging       Screenshot Protecting Code       Screenshot Game Deployment       Screenshot Game Deployment with Java Web Start       Screenshot Game Deployment with Native Compilation       Screenshot Updates and Patches       Screenshot Bandwidth Issues       Screenshot Getting Feedback and Beta Testing       Screenshot Making Money       Screenshot Putting It All Together       Screenshot Summary       Screenshot  19.  The Future       Screenshot How Java Evolves       Screenshot The Future: Java 1.5 "Tiger"       Screenshot What the Java Platform Needs       Screenshot New Devices and the Java Games Profile (JSR 134)       Screenshot Summary     Screenshot Index