Killer Game Programming in Java #game #programming #program


Killer Game Programming in Java is for people who already know the basics of Java. For example, students who’ve finished an ‘Introduction to Java’ course. The aim is to teach reusable techniques which can be pieced together to make lots of different, fun games. For example, how to make a particle system, first-person keyboard controls, a terrain follower, etc.

If you don’t know Java, then Killer Game Programming in Java isn’t for you. Instead, have a look at my Java book suggestions .

The main emphasis of my book (over 17 chapters) is on 3D gaming using Java 3D. Java 3D is a great tool for very quickly building 3D worlds, without needing to implement low-level 3D rendering functionality. This is the only book on Java 3D and gaming. The last chapter describes a networked 3D virtual space.

Early (sometimes very early) draft versions of the book’s chapters can be downloaded from here (see the links below).

All the book’s code is here, either downloadable as a single zip file (visit the code page ), or on a chapter-by-chapter basis from each chapter’s page (see the links below).

I’ve also been adding new chapters here; chapters which don’t appear in the book.

Announcing my new Kindle e-book, Vision-based User Interface Programming in Java

I’ve received a book award from the university for my work, and two prizes from the faculty: pictures here and here .

Chapters Last updated 25th June 2014:
Added NUI Chapter 15 “The Wiimote, the PC, and Java”.

  • All the Code from the Book
  • Preface
  • Chapter 1. Why Java for Games Programming?

This section does not appear in the book.

  • JavaArt Chapter 0.5. Automatic Wallpapering
  • JavaArt Chapter 1. On-the-Fly Dynamic Compilation and Execution
  • JavaArt Chapter 2. Executing Pixels using Drag-and-Drop
  • Java Art Chapter 3. Tracing with JPDA
  • Java Art Chapter 4. Visualization with Whorld
  • Java Art Chapter 5. Program Sonification
  • Java Art Chapter 6. Steganography
  • Java Art Chapter 7. Video Watermarking with Barcodes
  • Java Art Chapter 8. A Compiler for Drawing Crop Circles

This section has moved to my VBI book page.

This section does not appear in the book.

This section has moved to my Kinect book page.

  • Kinect Chapters 1 and 2. Kinect Imaging
  • Kinect Chapter 2.1. Charting the Depth Map
  • Kinect Chapter 2.3. Changing the Background
  • Kinect Chapter 2.4. Kinect Snow
  • Kinect Chapter 2.5. Transforming the User
  • Kinect Chapter 3. A Point Cloud for Depths
  • Kinect Chapter 4. Tracking Users in 2D
  • Kinect Chapter 5. Viewing Users in 3D
  • Kinect Chapter 6. The Tilt Motor, LED, and Accelerometer
  • Kinect Chapter 7. NITE Hand Gestures
  • Kinect Chapter 8. NITE Hands Tracker
  • Kinect Chapter 9. Kinect Breakout
  • Kinect Chapter 10. Gesture GUIs
  • Kinect Chapter 11. Kinect Capture
  • Kinect Chapter 12. Motion Detection Using OpenCV
  • Kinect Chapter 13. FAAST-style Body Gestures
  • Kinect Chapter 14. Speech Recognition
  • Kinect Chapter 15. Using the Kinect’s Microphone Array

Important Note. If you’re using Java 3D with Java 7, then you need to need to set the following property at the start of your application:
System.setProperty("sun.awt.noerasebackground", "true");
This prevents the mixing of heavyweight (Canvas3D) and lightweight Swing components in JRE 7 from causing redraw problems (i.e. the Java 3D canvas is sometimes drawn as a blank gray rectangle).

This section has been moved to the new book .

  • Webcam Snaps
  • Navigating a 3D Scene by Waving Your Arm
  • Waving a Magic Wand
  • Building a Game Pad Controller with JInput
  • Game Pad Grabbers
  • 3D Sound with JOAL
  • The P5 Glove

This section has been moved to the new book .

  • Two JOGL Programming Frameworks
  • Touring the World
  • Picking on the Models

This section does not appear in the O’Reilly book (due to space constraints).

  • J2ME Chapter 1. Scrollable Messages

This section does not appear in the O’Reilly book (due to space constraints).

This section does not appear in the O’Reilly book (due to space constraints).

Important Note 1. I’ve used GIF-formatted images in my examples, which is fine in WTK 2.2, but isn’t supported by the M3G specification. For portability. you should use PNG images ; I’ll be changing my code when I have a bit of spare time.

Important Note 2. In several places I’ve used textures that are 512×512 in size; unfortunately, Nokia Series 60 phones only support 256×256, so reduce the texture size if you’re coding for those.

  • M3G Chapter 1. Loading OBJ Models into M3G
  • M3G Chapter 2. An Animated Model
  • M3G Chapter 3. Mighty Morphin’ Penguin Flippers
  • M3G Chapter 4. A Bending Block in a Landscape
  • M3G Chapter 4.5. Using M3G File Models
  • M3G Chapter 5. The Beginnings of a FPS
  • M3G Chapter 6. Dynamically Textured Billboards

Leave a Comment

Your email address will not be published. Required fields are marked *