
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-68% $19.37$19.37
Ships from: Amazon Sold by: Lotsofbooks
Save with Used - Good
$12.28$12.28
Ships from: Amazon Sold by: Kuleli Books
Try Kindle Edition
$0.00 $0.00
Try Kindle Edition
$0.00 $0.00

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Killer Game Programming in Java: Java Gaming & Graphics Programming 1st Edition
- ISBN-100596007302
- ISBN-13978-0596007300
- Edition1st
- PublisherO'Reilly Media
- Publication dateJune 28, 2005
- LanguageEnglish
- Dimensions7 x 2 x 9.19 inches
- Print length996 pages
Discover the latest buzz-worthy books, from mysteries and romance to humor and nonfiction. Explore more
Customers who viewed this item also viewed
From the brand

-
Sharing the knowledge of experts
O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
-
Your partner in learning
-
Bestsellers
-
Software Development
-
Programming Languages
-
AI / Machine Learning
-
Data Science
-
Data, Databases and more
-
Cloud Services
-
Business
-
Finance
-
Blockchain / Cryptocurrency
-
Security
-
Cookbooks
-
Head First series
-
97 Things series
-
Lean series
Product details
- Publisher : O'Reilly Media; 1st edition (June 28, 2005)
- Language : English
- Paperback : 996 pages
- ISBN-10 : 0596007302
- ISBN-13 : 978-0596007300
- Item Weight : 3.11 pounds
- Dimensions : 7 x 2 x 9.19 inches
- Best Sellers Rank: #1,149,763 in Books (See Top 100 in Books)
- #90 in 3D Graphic Design
- #146 in Game Programming
- #356 in Object-Oriented Design
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers consider this book the best resource on Java game programming, praising its step-by-step approach to explaining methods. The writing quality receives mixed feedback, with some finding it well written while others describe it as poorly written. Moreover, the content is slightly outdated, and customers find the sample programs almost completely useless.
AI-generated from the text of customer reviews
Select to learn more
Customers find this book to be the best resource on Java game programming, appreciating its step-by-step approach and clear explanations of methods to use. One customer notes it covers Java 3D programming techniques, while another mentions it provides the basis for animation framework in Java.
"...32. A Networked Virtual Environment - NetTour3D is a very simple networked virtual environment which allows sprites representing users (clients) on..." Read more
"...Must have for those looking for a low level, no engine approach to game programming in java." Read more
"...This book is very good at explaining exactly what methods to use, what they do specifically, and why. There is one very big NEGATIVE:..." Read more
"Let me start off by saying that this is good text. It's a helpful book, and brings to light some issues that a novice such as myself would never..." Read more
Customers find the information in the book to be good, with one customer describing it as a book of secrets.
"...Keeping that in mind, this book has a lot of good information which many beginning programmers can use...." Read more
"...But unlike other books this book gives you all the information you need to do it in your own coding style...." Read more
"Literally a book of secrets (and how to unlock them)..." Read more
Customers have mixed opinions about the writing quality of the book, with some finding it well written while others describe it as poorly written.
"Although almost archaic in its dated material and somewhat poorly written in certain places, this book should be on anyone's short list of..." Read more
"Let me start off by saying that this is good text...." Read more
"...the Kindle edition of this book, which appears to be littered with random typos...." Read more
"...solutions which are no longer necessary, with inconsistent and poorly formatted code that definitely should not be in a beginners guide...." Read more
Customers find the book's content slightly outdated.
"Although almost archaic in its dated material and somewhat poorly written in certain places, this book should be on anyone's short list of..." Read more
"...It is dated, lots of references to 1.3 java in there. But the code, theory, and reasoning are all still very sound...." Read more
"As you can tell by the publishing date, this book is rather old...." Read more
"...to implement the code presented within, I've found that the book is not only so outdated as to be almost completely useless, but written in a..." Read more
Customers find the book inefficient and almost completely useless.
"...I've found that the book is not only so outdated as to be almost completely useless, but written in a plodding and dense manner, chock full of..." Read more
"...I'll mention a few. * Disappointing sample programs...." Read more
"...It's frustrating how useless this book has been to me." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on December 4, 2005This is one of the most interesting books I have read on the subject of game programming in Java. In addition, it is a great tutorial on how to use Java to accomplish a number of multimedia programming objectives independent of game programming. Since there is no table of contents shown, I will summarize the book's contents in the context of the table of contents:
1. Why Java for Games Programming? - Many discussions are revisited about why Java is not a bad choice for game programming- speed, memory leaks, etc.
2. An Animation Framework - The animation algorithm developed through most of this chapter is embedded in a JPanel subclass (called GamePanel), which acts as a canvas for drawing 2D graphics. The animation is managed by a thread which ensures that it progresses at a consistent number of frames per second.
3. Worms in Windows and Applets - The threaded animation loop of chapter 1 is tested inside a windowed application and an applet. The programs are all variants of the same WormChase game.
4. Full-Screen Worms - Three approaches to full-screen games are investigated.
5. An Introduction to Java Imaging - The aging AWT imaging model is discussed, followed by the BufferedImage and VolatileImage classes, ImageIO, and the wide range of BufferedImageOp image operations offered by Java 2D.
6. Image Loading, Visual Effects, and Animation - This chapter examines how to efficiently load and display images, apply visual effects such as blurring, fading, and rotation, and animate them.
7. Introducing Java Sound - The Sound API is compared to the Java Media Framework (JMF), and the recently introduced JOAL, a Java binding to OpenGL's music API.
8. Loading and Playing Sounds - Discusses a single application, LoadersTests, which demonstrates "ClipsLoader" & "MidisLoader" classes for the control of clips and sequences.
9. Audio Effects - Different ways of applying effects to audio, which is key to the advantage of the Sound API- access to audio files to the bit level.
10. Audio Synthesis - How to create tone sequences for sampled audio and how to create MIDI sequences at runtime.
11. Sprites - A game's active entities are often encoded as sprites. A sprite is a moving graphical object.The Sprite class developed in this chapter builds on the animation framework and image and audio loaders developed earlier in the book.
12. A Side-Scroller - This chapter describes JumpingJack, a side scroller much like Super Mario, but considerably simpler, that illustrates tile maps, layers, parallax scrolling, and a jumping hero called 'Jack' who has to dodge exploding fireballs.
13. An Isometric Tile Game - Isometric tiles are the basis of many real-time strategy games, war games, and simulations, and Java-based "Alien Tiles" is demo'd here.
14. Introducing Java 3D - A brief introduction to the Java 3D API.
15. A 3D Checkerboard: Checkers3D - This chapter describes a Java 3D example called Checker3D that demos many Java 3D programming techniques.
16. Loading and Manipulating External Models - Many times it makes sense to create an object using 3D modeling software, and then load it into your Java 3D application at run time.
17. Using a Lathe to Make Shapes - One of the most ingenious chapters of the books shows how to create complex 3D shapes using a Java-based 3D lathe.
18. 3D Sprites - A Sprite3D class is developed.
19. Animated 3D Sprites - Poses and animation are included for the Sprite3D class of the previous chapter.
20. An Articulated, Moveable Figure - The implementation of an articulated figure is performed, composed of rotatable limbs, which can be moved around a checkboard floor in a similar manner to the 3D sprites in Chapters 18 and 19.
21. Particle Systems - Three particle systems are developed in this chapter: one where the particles are points, another using lines, and a third using quadrilaterals (quads).
22. Flocking Boids - Flocking is a computer model for the coordinated motion of groups (or flocks) of entities called boids, performed in 3D.
23. Shooting a Gun - The application in this chapter, Shooter3D, contains a gun which fires a laser beam at the point on the checkered floor clicked on by the user. The flight of the laser beam is accompanied by a suitable sound, and followed by an explosion.
24. A First-Person Shooter - Builds on the previous chapter by putting the gun in the player's hand.
25. A 3D Maze - Emphasis is on navigation through a complex scene (a 3D maze). The two main topics will be how to generate a realistic looking scene as in "Doom", and how to use multiple views to aid navigation.
26. Fractal Land - The FractalLand3D application creates a landscape using a plasma fractal to generate height values for the landscape's component quads.
27. Terrain Generation with Terragen - Landscape is designed with Terragen, then exported as a OBJ file (representing the landscape as a mesh), and as a BMP (showing the surface viewed from above). The BMP is subsequently edited and converted into a JPG.
28. Trees That Grow - Shows foliage that actually grows over time.
29. Networking Basics - runs through networking fundamentals and explains basic network programming with sockets, URLs, and servlets.
30. Network Chat - about online chat, the "hello world" of network programming. There are three chat variants: one using a client/server model, one employing multicasting, and chatting with servlets.
31. A Networked Two-Person Game - Pulls everything together to build a simple networked 2-player game.
32. A Networked Virtual Environment - NetTour3D is a very simple networked virtual environment which allows sprites representing users (clients) on different machines to move about in a shared world. The world is a checkboard, with simple scenery and obstacles.
A. Installation Using install4j
B. Installation Using Java Web Start
If you go to the author's website, he has additional chapters that are not in the book on J2ME, bluetooth, and mobile 3D gaming. Plus the downloadable code for the book is also there. Since Amazon usually throws out reviews with web addresses, just type "Killer Game Programming in Java" into Google and the first address you see should be the author's website.
In summary, I would highly recommend this book to any experienced Java programmer who is interested in programming games, as well as those interested in advanced Java Sound or Java 3D techniques which might be of use to any Java multimedia programmer.
- Reviewed in the United States on May 17, 2017Although almost archaic in its dated material and somewhat poorly written in certain places, this book should be on anyone's short list of recommended reading for aspiring Java & game developers; this is one of the better "learn to code" books I've read.
- Reviewed in the United States on August 29, 2023Covers all the basics of game programming, completely from start to finish. Doesn't try to pawn its game engine on you like so many other books, instead teaching you the basics you need to make your own. It is dated, lots of references to 1.3 java in there. But the code, theory, and reasoning are all still very sound. Must have for those looking for a low level, no engine approach to game programming in java.
- Reviewed in the United States on November 26, 2012As you can tell by the publishing date, this book is rather old. Keeping that in mind, this book has a lot of good information which many beginning programmers can use. It is slightly more advanced than the description states, but there is nothing that can't be understood with a little investigating.
This book is very good at explaining exactly what methods to use, what they do specifically, and why.
There is one very big NEGATIVE:
I purchased the Kindle edition of this book, which appears to be littered with random typos. This is not a big deal when reading through the actual sentences, but it really screws things up when reading through the code and trying to copy or understand it. In many places there are parenthesis which shouldn't exist or are missing. I've also found one case of a random number appearing in the code which should not have been there. It was very confusing since it appeared in the middle of the equation.
I assume these mistakes were created when transferring the book to a digital format, but I feel it is inexcusable to allow so many typos in something meant to be copied by beginners. Several coding newbies might not realize how out of place some of these typos are and will therefore not be able to easily discover why the code is not working.
If you encounter this problem yourself, the author's website has all of the source code available for download. This will allow you to look through his actual code and see where it differs from the book. I found this to be very useful to make sure what I was seeing was actually a typo and not my eyes playing tricks on me. ([...])
I would rate this book as 4/5 if not for the typos. I do not know if the hard copy has them as well.
- Reviewed in the United States on December 11, 2005I went through a few books on java game programming before I got this one and I must say that by fair its the best. I have a few years experience with java and wanted to make a few games for fun and this book gave me all the information I needed to get started.
Roughly half the book is dedicated to issues you'll have when writing a 2d game and the other half is dedicated to 3d games (
using Java 3D). Although I've only read the first half in detail the java 3d material seems equally useful if 3d games are of interest.
My only complaint is that I didn't care for the example code much so I won't be using any of it. But unlike other books this book gives you all the information you need to do it in your own coding style.
Lastly the book is definitely not a book for beginners, the author makes no effort to explain things like event handling, Swing, or any other non graphic topics used in the book.
- Reviewed in the United States on October 19, 2012Let me start off by saying that this is good text. It's a helpful book, and brings to light some issues that a novice such as myself would never think of.
That being said, I am only still a novice, and this book goes a bit over my head in some (most) areas. I would recommend this book to someone who has had quite a lot of exposure to Java, but not to someone of the same skillset as myself, having taken only one class.
Again, it is a great book from what I have gleaned, and it will most definitely come in handy in the future. But make sure you have a very sturdy base in Java before giving it a try.
Top reviews from other countries
- Alessandro D'OttavioReviewed in Italy on November 3, 2012
5.0 out of 5 stars review for 2D side
the problem when you chose a book is to know if it is exactly what you want.
In my case this book satisfied almost all i needed.
this book is divide in 2 parts, one for the 2D and another for 3D.
my review is only for the 2D side.
a short description is this:
this book explains to you the basic of each technical element that is part of a 2D game, it starting from the beginning so it can be use from guys that don't know nothing of game development, but it essential to have a good knowledge of java software developing (don't worry it is not required nothing of graphics knowledge the book will explains all you needs about it ).
This book don't explain nothing regarding a software architecture of a game (this is not the target of the book), so hire you will find exactly how to draw an image, how to move it,how to add effect to your image or how to add music effects, there are also 3 games completely implemented but the architecture used is very easy and it can not be consider as a basic for a software architecture for games.
conclusion:
if u are a software architect or at list a good java developer and you don't know nothing regarding drawing and play music in java, this book will help you to create your first very good game showing to you all the most important basic concepts for 2D, but remember it is you that have to link all the component together to create a good architecture.
so in my opinion if your skill are as i describe this book is perfect
rank 5 stars:
what is describe in the book and the way that is described, is done in a very good way, and the book is full of advice from the author that will save to you a lot of work or will give you link to other documents (book or internet site) where you can analyze in deep some topics.
what is good of this book:
- this book is wrote by an university professor, so it keep a teaching way classic of the university course: split the complexity in linked steep and analize each step individually and explain the relation between the steps, so it is very good follow the caption order.
- this book is embedded with a lot of code examples that is analized point to point (some time same code is used in another caption and it is exaplined again, but this is good if you skip same caption)
- during the captions you will build a complete real game 2D and another isometric game
what is not good of this book:
- completely missing the software architecture of a game
-
匿名Reviewed in Japan on May 19, 2022
5.0 out of 5 stars ありがとうございました。
java 18ではある時勢の折、java8以降での本書でさえあればと、つくづく思いました。
- RyanReviewed in Canada on July 26, 2016
3.0 out of 5 stars Good for someone already familiar with game programming
The book is just the author going through some pre-written code. Although, I'm sure it's perfect for somebody who is experienced in programming games in other languages and thinking of moving to Java. For someone just learning game programming it is not that helpful. I can create simple games on my own in Java and I was hoping this book would help me make some more advanced games and start working with 3D elements but you need to already understand these concepts to understand the book.
The book is a lot bigger than I thought it would be, and thats a plus. I'm sure it'll come in use at a later time in my life.
-
Guillem VidalReviewed in Spain on February 14, 2013
5.0 out of 5 stars El mejor libro de programación
La verdad no me esperaba tanto de este libro, se requiere un cierto nivel de Java para empezar, pero si ya se tiene este libro es fabuloso y aprendereis todo lo necesario para programar juegos en Java
- Madcap coderReviewed in the United Kingdom on November 28, 2013
5.0 out of 5 stars Broad overview, lots of neat tricks
This is a great volume for anyone looking at game programming - not just java fans. The examples are straightforward enough that whatever language you plan to use for your game, you will easily be able to adapt the included code to your language of choice. The book gives a basic intro to various different approaches to writing games, lots of hints and tips that will save hours of annoyance and forehead-slapping 'If only I'd known' moments. Wicked book, essential for any would-be games programmer's arsenal.