What's Not in this tutorial
This tutorial is about concepts, not APIs. We won't go over every API in the Java 1.4 SDK. The Java API documentation is all you need for learning how to draw a circle or a rectangle, or to just get more in-depth with the API. Also, this tutorial is not an introduction to Java—we assume the reader already knows how to program in Java. This tutorial is focused on the Java 1.4 standard version, not Java 1.1 or applets. Microsoft's Java 1.1 VM is still the most common VM used for applets because it's included with Internet Explorer. However, this tutorial's focus is on Java 1.4 and later, so we won't get into common applet issues or workarounds. If you're interested in Java 1.1 or applets, this tutorial will still help with a lot of game-programming concepts, but other tutorials you might want to look into are Black Art of Java Game Programming, by Joel Fan (Waite Group, 1996), and Java Game Programming for Dummies, by Wayne Holder (IDG tutorials Worldwide, 1998). Also, this tutorial isn't about J2ME (Java for cell phones and other types of devices). You'll want to check out Micro Java Game Development, by David Fox (Oracle Professional, 2002), for information on this subject. We get into a massive discussion on 3D graphics, including things such as texture mapping, lighting, collision detection, and BSP trees, but you should note that there's no discussion of any hardware-accelerated 3D graphics in this tutorial. At the moment, no hardware-accelerated 3D APIs are included with the Java 1.4 SDK. However, several APIs are available, notably Java3D and gl4java. A Java3D or OpenGL tutorial makes a great complement to this tutorial. This tutorial aims to give you a thorough knowledge of 3D graphics programming, and with this knowledge, it will be easier to move to the hardware-accelerated 3D API of your choice. Finally, this tutorial isn't meant to be the last discussion on game coding you'll ever need. This tutorial is designed to give you a solid foundation on where to start, but game coding is a huge subject and there is a seemingly endless amount of game-programming concepts. Many of the concepts you can figure out on your own, but other articles or tutorials can always help.