7 Replies - 2168 Views - Last Post: 23 June 2010 - 01:06 PM Rate Topic: -----

#1 Codebug  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 244
  • Joined: 11-October 09

good book for introduction to game programming

Posted 23 June 2010 - 12:20 AM

I've recently become interested in game programming and I would like to start learning how to program a simple game or two. I'm not talking StarCraft II or Halo, just something simple(think Asteroids, Brick Breaker, Pong, etc.). Unfortunately, I have no idea where to even begin. I have a fairly thorough mathematical background, although there are a few areas that could use some review. I'm mainly looking for suggestions for a good book or two that is aimed towards beginners and beginning game programming. I looked around(admittedly not too hard) for info regarding this but didn't find anything right away. I would prefer a book over an online resource because it would be easier for me to read, but if there is a good online resource, by all means let me know about it.

Anyone have any recommendations?

Thanks

This post has been edited by Codebug: 23 June 2010 - 12:21 AM


Is This A Good Question/Topic? 0
  • +

Replies To: good book for introduction to game programming

#2 ghillieLEAD  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 208
  • Joined: 08-March 10

Re: good book for introduction to game programming

Posted 23 June 2010 - 02:37 AM

What language are you looking for?
Was This Post Helpful? 0
  • +
  • -

#3 Codebug  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 244
  • Joined: 11-October 09

Re: good book for introduction to game programming

Posted 23 June 2010 - 08:47 AM

View PostghillieLEAD, on 23 June 2010 - 01:37 AM, said:

What language are you looking for?


Well atm I have the most experience with Java, so I guess that's the language I would try to use.
Was This Post Helpful? 0
  • +
  • -

#4 ghillieLEAD  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 208
  • Joined: 08-March 10

Re: good book for introduction to game programming

Posted 23 June 2010 - 09:40 AM

Killer Game Programming in Java is the book I would recomend you take a look at. Here are the books chapters summarized by calvinnme on the amazon page I linked:
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

Here are all of the chapters online for free! LINK

Here are more free online game programming books: Great Resource
Was This Post Helpful? 0
  • +
  • -

#5 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10438
  • View blog
  • Posts: 38,658
  • Joined: 27-December 08

Re: good book for introduction to game programming

Posted 23 June 2010 - 09:42 AM

You may also want to check out the Java Game Programming Thread, with a list of resources for Game Programming in Java.
Was This Post Helpful? 0
  • +
  • -

#6 Codebug  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 244
  • Joined: 11-October 09

Re: good book for introduction to game programming

Posted 23 June 2010 - 12:47 PM

Thanks for the replies. I haven't had a chance to check out the stuff you guys listed yet, but I appreciate the info. Do you guys know if these resources discuss the application of the math to game programming? For example, I know how to take derivatives of a given function on paper, but I'm not sure how that applies to programming; I don't see where the function to take the derivative of would originate in the program. Does that make sense?
Was This Post Helpful? 0
  • +
  • -

#7 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10438
  • View blog
  • Posts: 38,658
  • Joined: 27-December 08

Re: good book for introduction to game programming

Posted 23 June 2010 - 12:59 PM

Actually, I have three tutorials listed in the Java Game Programming Thread on Math in Game Programming. Part I covers basic motion and the applications of derivatives, Part II covers 2D Gravity by parameterizing position and particle motion equations, and Part III covers 3D Gravity using Integrals and Volumes of Revolving Solids. Once I get knee deep into AP Physics C next year, hopefully I'll be able to crank out more tutorials on this subject. :)
Was This Post Helpful? 0
  • +
  • -

#8 Codebug  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 244
  • Joined: 11-October 09

Re: good book for introduction to game programming

Posted 23 June 2010 - 01:06 PM

View Postmacosxnerd101, on 23 June 2010 - 11:59 AM, said:

Actually, I have three tutorials listed in the Java Game Programming Thread on Math in Game Programming. Part I covers basic motion and the applications of derivatives, Part II covers 2D Gravity by parameterizing position and particle motion equations, and Part III covers 3D Gravity using Integrals and Volumes of Revolving Solids. Once I get knee deep into AP Physics C next year, hopefully I'll be able to crank out more tutorials on this subject. :)


Thanks for the reply macosxnerd. I'll check out the tutorials when I get a chance. I think I skimmed through them some time ago, but didn't really read them in great detail. I took physics 1 and physics 2 at the beginning of my college career, but since I am a computer hardware engineering major, I have used the electrical stuff from physics 2 almost exclusively in my upper level classes. As a result, I have forgotten most everything I learned in physics 1 about motion, forces, collisions, etc. Hopefully, I'll get some of it back with the proper reading.

Thanks again :)

This post has been edited by Codebug: 23 June 2010 - 01:08 PM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1