Killer Game Programming in Java

First Edition Juni 2005
ISBN 978-0-596-00730-0
Seiten 996
EUR43.00, SFR71.90


Weitere Informationen zu diesem Buch

Inhaltsverzeichnis | Index | Probekapitel | Kolophon | Rezensionen |
Beispiele |


Inhaltsverzeichnis

	

Preface

1. Why Java for Games Programming?
     Java Is Too Slow for Games Programming
     Java Has Memory Leaks
     Java Is Too High-level
     Java Application Installation Is a Nightmare
     Java Isn't Supported on Games Consoles
     No One Uses Java to Write Real Games
     Sun Microsystems Isn't Interested in Supporting Java Gaming

2. An Animation Framework
     Animation as a Threaded Canvas
     Adding User Interaction
     Converting to Active Rendering
     FPS and Sleeping for Varying Times
     Sleeping Better
     FPS and UPS
     Pausing and Resuming
     Other Animation Approaches

3. Worms in Windows and Applets
     Preliminary Considerations
     Class Diagrams for the WormChase Application
     The Worm-Chasing Application
     The Game Panel
     Storing Worm Information
     Worm Obstacles
     Application Timing Results
     WormChase as an Applet
     Compilation in J2SE 5.0

4. Full-Screen Worms
     An Almost Full-Screen (AFS) Worm
     An Undecorated Full-Screen (UFS) Worm
     A Full-Screen Exclusive Mode (FSEM) Worm
     Timings at 80 to 85 FPS

5. An Introduction to Java Imaging
     Image Formats
     The AWT Imaging Model
     An Overview of Java 2D
     Buffering an Image
     Managed Images
     VolatileImage
     Java 2D Speed
     Portability and Java 2D
     JAI

6. Image Loading, Visual Effects, and Animation
     Loading Images
     Applying Image Effects
     Displaying Image Sequences
     Visual Effects for `o' Images
     Packaging the Application as a JAR

7. Introducing Java Sound
     Applet Playing
     The AudioClip Class
     The Sound Player
     The Java Sound API
     Sampled Audio
     MIDI
     Java Sound API Compared with JMF and JOAL
     Java Sound API Resources
     Audio Resources

8. Loading and Playing Sounds
     Loader Design and Implementation Issues
     Testing the Loaders
     The Sounds Panel
     The Clips Loader
     Storing Clip Information
     The Midi Sequences Loader
     Storing Midi Information
     LoadersTests as a JAR File

9. Audio Effects
     Audio Effects on Sampled Audio
     Audio Effects on MIDI Sequences

10. Audio Synthesis
     Sampled Audio Synthesis
     MIDI Synthesis
     Audio Synthesis Libraries

11. Sprites
     Bats, Balls, and Sprites
     Class Diagrams for BugRunner
     The Bug Starts Running
     The Animation Framework
     Defining a Sprite
     Coding a Sprite
     Specifying a Sprite with a Statechart
     The Ball Sprite
     Defining the Bat

12. A Side-Scroller
     JumpingJack in Layers
     Class Diagrams for JumpingJack
     Start Jack Jumping
     The Animation Framework
     Managing the Ribbons
     Wraparound Ribbons
     Managing the Bricks
     Storing Brick Information
     The Fireball
     The Jumping Sprite
     Other Side-Scroller Examples
     Tiling Software

13. An Isometric Tile Game
     Isometric Tiles
     Class Diagrams for AlienTiles
     The Animation Framework
     Managing the World
     Managing WorldItems
     The Tile Occupier
     A Sprite on a Tile
     The Player Sprite
     The Alien Sprite
     The Quadrant-Based Alien Sprite
     The A*-Based Alien Sprite
     Storing Tile Details
     Further Reading

14. Introducing Java 3D
     Java 3D
     Java 3D Strengths
     Criticisms of Java 3D for Games Programming
     Alternatives to Java 3D

15. A 3D Checkerboard: Checkers3D
     Class Diagrams for Checkers3D
     Integrating Java 3D and Swing
     Scene Graph Creation
     Floating Spheres
     The Floor
     Viewer Positioning
     Viewer Movement
     Viewing the Scene Graph

16. Loading and Manipulating External Models
     An Overview of LoaderInfo3D
     Loaders in Java 3D
     Displaying a Model
     Examining a Model's Scene Graph
     Adjusting a Model's Shape Attributes
     An Overview of Loader3D
     Using Loader3D
     Creating the Scene
     Managing the Model
     Building the Model's Scene Graph

17. Using a Lathe to Make Shapes
     Class Diagrams for Lathe3D
     Creating the Scene
     The Lathe Curve
     The Lathe Shape
     Subclassing the Lathe Shape

18. 3D Sprites
     Class Diagrams for Tour3D
     Creating the Scene
     The Basic 3D Sprite
     The User's Touring Sprite
     The Alien Sprite
     Behaviors in Java 3D
     Controlling the Touring Sprite
     Updating the Alien Sprite

19. Animated 3D Sprites
     Class Diagrams for AnimTour3D
     Creating the Scene
     The Animated 3D Sprite
     Controlling the Sprite
     Animating the Sprite
     Full-Screen Exclusive Mode (FSEM)
     A Full-Screen Version of the Application
     Pros and Cons of Keyframe Animation

20. An Articulated, Moveable Figure
     The Articulated Figure Application
     Forward and Inverse Kinematics
     Class Diagrams for Mover3D
     Creating the Scene
     Processing User Input
     The Commands Panel
     Making and Moving the Figure
     Modeling a Limb
     Moving a Limb
     Other Articulated Figures
     Articulation and Mesh Deformation
     Articulation and Skinning
     Articulation and Morphing

21. Particle Systems
     Particle Systems in Java 3D
     Class Diagrams for Particles3D
     Creating the Scene
     A Fountain of Points
     A Fountain of Lines
     A Fountain of Quads
     Performance Results
     More Particle Systems
     Other Java 3D Approaches
     Non-Java 3D Approaches

22. Flocking Boids
     A Flocking Application
     Scene Creation
     Adding Obstacles
     Types of Boids
     Grouping the Boids
     Flock Behavior

23. Shooting a Gun
     Class Diagrams for Shooter3D
     Scene Creation
     The Sound of Shooting
     Picking Scene Objects
     Controlling the Gun
     Preparing the Laser Beam
     Causing an Explosion
     Picking with a Mouse Click
     Shooting Behavior
     Firing the Beam
     More on Picking

24. A First-Person Shooter
     Class Diagrams for FPShooter3D
     Setting Up the Target
     Positioning and Moving the User's Viewpoint
     Initializing the User's Viewpoint
     Adding an Image to the Viewpoint
     Managing the Ammunition
     Managing a Laser Beam
     Moving the Viewpoint

25. A 3D Maze
     Class Diagrams for Maze3D
     Making a Maze Plan
     The User Interface
     Managing the Maze
     Scenery Creation
     Tiling the Floor
     Viewpoint Creation
     The Back Facing Camera
     Moving the Viewpoint
     The Bird's-Eye View
     Related Approaches to Scene Generation

26. Fractal Land
     Class Diagrams for the Fractal Land
     Building the Fractal Land
     Creating the Landscape
     Constructing the Ground
     Generating a Fractal Landscape
     Responding to Key Presses
     Terrain Following and Collision Avoidance
     Placing Objects in the Scene
     Other Fractal Landscapes

27. Terrain Generation with Terragen
     Class Diagrams for Terra3D
     Terragen
     Scenery Creation
     Building the Landscape
     Making 3D Scenery
     Adding Landscape Walls
     Creating Ground Cover
     Moving over the Surface
     Finding the Surface Height
     Accelerating Terrain Following
     More on Terrain Generation

28. Trees That Grow
     Class Diagrams for Trees3D
     Creating the Scene
     Building a Tree Limb
     Executing the Rules
     Displaying Leaves
     Comparison with L-Systems

29. Networking Basics
     The Elements of Network Communication
     The Client/Server Model
     The Peer-to-Peer Model
     Client/Server Programming in Java
     P2P Programming in Java
     Firewalls
     Other Kinds of Java Networking

30. Network Chat
     Threaded TCP Clients and Server
     UDP Multicasting Clients and a Name Server
     Clients Using a Servlet as a Server

31. A Networked Two-Person Game
     The Standalone Tic-Tac-Toe Game
     The Networked Tic-Tac-Toe Game

32. A Networked Virtual Environment
     Background on NVEs
     An Overview of NetTour3D
     Scene Creation on the Client
     Defining Sprites
     Local Sprites
     Watching the Server
     Server Activities
     Other Java NVEs

A. Installation Using install4j

B. Installation Using Java Web Start

Index


Zurück zu Killer Game Programming in Java


Themen

Buchreihen

Special Interest

International Sites

O'Reilly China O'Reilly France O'Reilly USA O'Reilly Japan O'Reilly Taiwan