Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411500 Posts in 69373 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 10:07:20 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Good Game Programming books?
Pages: [1]
Print
Author Topic: Good Game Programming books?  (Read 6707 times)
Kornel Kisielewicz
The Black Knight
Level 1
*

Madman for hire


View Profile WWW
« on: August 31, 2007, 08:24:53 AM »

With Google's GSoC finished, I was left with some spare cash on my hands, and decided to spend it wisely (before I spend everything on beer again), and buy some good Game Programming books.

So I ask you programmers - what good Game Programming books would you suggest?

Mind that:
1) I know C++, OpenGL, SDL well (and usually stay away from DirectX), so I don't need "Game programing for dummies", "programming games in C++", kind of books.
2) I can't stand books that 1/3 of is "introduction to WinAPI", 1/3 is "introduction to DirectX", 1/3 is "DirectX input" and a few pages of sensible information.
3) I'm interested in 3D, game design, multiplayer implementation, and generally most of the advanced topics

Up to date the books that I most enjoyed were "OpenGL Game Programming" (although it suffered quite from the #2 syndrome above), and the Game Programming Gems series (I have 1-3 and plan on getting the others).

Currently I'm pondering about "3D Game Engine Design" by David H. Eberly.

Suggestions?

P.S. Wow, post #100 :D
Logged

At your service,
Kornel Kisielewicz (@epyoncf)
ChaosForge -- DoomRL and AliensRL
Jupiter Hell -- DoomRL spiritual successor!
ravuya
Level 7
**


Yip yip yip yip yip


View Profile WWW
« Reply #1 on: August 31, 2007, 08:57:15 AM »

Eberly's books are great. I have them both.
Logged

the_dannobot
Level 2
**


View Profile WWW
« Reply #2 on: August 31, 2007, 09:14:22 AM »

"Design Patterns" is a really good book.  It's not specific to game programming, but it's worth reading.

"Game Architecture and Design" by Rollings & Morris is a good game design book. 
Logged

Dannobot on Twitter
PoV
Level 5
*****


Click on the eye and something might happen..maybe


View Profile WWW
« Reply #3 on: August 31, 2007, 09:32:53 AM »

Eberly's books are "thick", in the sense that he waves the Greek around like there's no tomorrow.  From his series though, "Real Time Collision Detection" is the book on collision detection methods.

As for 3D, I own a bunch, but "3D Math Primer for Graphics and Game Development" is easily the most understandable.  It covers Vectors and Matrices in good detail, some practical uses like collision detection, and a little bit on quaternions.

Logged

Mike Kasprzak | Sykhronics Entertainment - Smiles (HD), PuffBOMB, towlr, Ludum Dare - Blog
Chris Whitman
Sepia Toned
Level 10
*****


A master of karate and friendship for everyone.


View Profile
« Reply #4 on: August 31, 2007, 10:53:31 AM »

My recommendation? Get the second Eberly book. The first one is really more on real-time rendering than actually building a functional 'game engine,' but the second one, while pretty dense, is essentially him breaking down his actual engine piece by piece and saying "Here's everything I did." He touches on everything from basic math functions (fast Taylor polynomial approximations to trig functions, etc.) to resource management (smart pointers... streaming resources) to scene graphs, renderers, animation, physics, etc. etc. I refer to this book regularly.

I'd also recommend Eric Lengyel's 'Mathematics for 3D Programming and Computer Graphics,' depending on your math background. While it's mostly devoted to linear algebra, numerical analysis and their graphics applications it should fill in everything you need to know about vectors, matrices, transforms, projections, basic 3D geometry, root-finding, physical reflectance models, culling and collision tests, mesh optimization, solutions to linear systems, finding eigenvalues and eigenvectors, solving ordinary differential equations and polynomial and spline interpolation.

I can also vouch for Real-Time Collision Detection... or, really, anything from the Morgan Kaufmann series. They're pretty much all good, as far as I've seen.

I'm sure there are some other ones I can dig up, if I look through my library, so I might post back in a bit with
Logged

Formerly "I Like Cake."
Paul-Jan
Level 0
**


Always be creating.


View Profile WWW
« Reply #5 on: September 01, 2007, 01:01:59 AM »

Another vote for the Eric Lengyel book. It seems to be open on my desk a lot.
Logged
gummikana
Level 3
***



View Profile WWW
« Reply #6 on: September 03, 2007, 10:26:34 AM »

I have to say that I didn't like 3D Game Engine Design that much, because I was expecting it to be more about "Game Engine Design" than about 3D real-time rendering.
But don't take my word on it. You can do a pretty decent preview of the book at google books.
 
This isn't directly related to your list of interests, but one of the more interesting game programming books that I've read was AI Game Programming Wisdom 2. I haven't read the first one or the third one, but I'm planning of getting my hands on them. I thought that AI programming was all A* and neural networks so I wasn't  planning on reading that book, but it was at our schools library, so I borrowed it and I'm happy I did. It was an inspiring book, I got a lot of cool ideas from reading it.

Also I give a vote to purchasing the Game Programming Gems. I've read the first five and I've enjoyed them very much.

I know you said that you know C++, but I've read couple of advanced C++ programming books that I found very interesting. First one would be Exceptional C++ by Herb Sutter and the other one would be C++ Templates: The Complete Guide by David Vandevoorde and Nicolai M. Josuttis.
Logged

Petri Purho
Kornel Kisielewicz
The Black Knight
Level 1
*

Madman for hire


View Profile WWW
« Reply #7 on: September 09, 2007, 06:31:41 PM »

Thanks to all that replied! 3D Game Engine Architecture and Design just arrived, and after taking a detailed look at them, I'm quite happy Smiley. I'll take a look at the others too.

AI books also are an interest to me, so I'll take a look at that one.

As for math books, I have a pretty heavy math background, so I'll rather pass xP.

Next comes the completion of the Game Programming Gems series.
Logged

At your service,
Kornel Kisielewicz (@epyoncf)
ChaosForge -- DoomRL and AliensRL
Jupiter Hell -- DoomRL spiritual successor!
ravuya
Level 7
**


Yip yip yip yip yip


View Profile WWW
« Reply #8 on: September 09, 2007, 07:39:35 PM »

I wish I could afford to finish the GPG series. I think the only one I have is GPG2 and I just can't justify the rest of them.
Logged

ஒழுக்கின்மை (Paul Eres)
Level 10
*****


Also known as रिंकू.


View Profile WWW
« Reply #9 on: October 13, 2007, 04:58:10 AM »

I like the Game Architecture and Design book, I read it when it first came out, but it's only really useful for beginners.

I hate the Game Programming Gems series actually. I think 90% of the chapters in that series are uninteresting and useless to me, 5% are interesting but useless, and 5% are interesting and useful. I can understand that the series would be useful for people in professional game development or for people who are making really high-end independent games, but the articles are usually speed tricks or 3D graphics tricks irrelevant to independent game development.

I like Chris Crawford's books.

I like many of the articles on Gamedev.net -- especially the older ones from the 90s. Those are often pretty relevant to what independent developers do because they still deal with 2D games.

Maybe we should write a book on independent game development. I mean independent game developers in general. We could get each person to write an article about a part they're good at -- Nifflas on atmosphere or Derek Yu on pixel art and so on. That'd be an amazing book.
Logged

raigan
Level 5
*****


View Profile
« Reply #10 on: October 31, 2007, 05:14:28 PM »

Christer Ericson's "Real-Time Collision Detection" is fantastic, "Geometric Tools for Computer Graphics" is also a terrific reference.

I disagree about the GPG books being useless -- certainly there are sections you'll likely never read (for me it's networking, audio, 3D graphics), but there are tons of great articles on "general programming" and software design, which are areas with not a lot of decent online info available. There are also lots of good AI tips. A couple of the most recent ones have articles describing component-based architectures, and all of them have at least a couple articles dealing with entity management, messaging, etc..

AI Game Programming Wisdom is also full of useful info.
Logged
postlogic
Level 1
*



View Profile
« Reply #11 on: November 01, 2007, 02:08:57 AM »

Correct me if I'm wrong, but there isn't a thread about good game programming books like the other sticky resource threads..

So far this thread looks pretty useful Shocked
Logged

No animals were harmed during the making of this post. Except one.
PoV
Level 5
*****


Click on the eye and something might happen..maybe


View Profile WWW
« Reply #12 on: November 01, 2007, 11:59:05 AM »

Quote
Christer Ericson's "Real-Time Collision Detection" is fantastic

It's double fantastic.  As far as I'm concerned, it's the orange book.  It's so good, it deserves part of the color spectrum.

Petzold Win32?  OpenGL Shading Language Reference?  Bah.  They're not the orangeGrin


Quote
I hate the Game Programming Gems series actually. I think 90% of the chapters in that series are uninteresting and useless to me

Sure, but most books are 100% useless.  For me, computer books aren't about sit back easy reading.  They're reference.  Whenever I need something, I walk over to the shelf and grab the appropriate reference.  The gems books are great because they cover oddball topics.  That's our industry, one big oddball topic.  Smiley

With the gems books, it's not like I go to them all the time or anything.  But over the years, evolving as a developer, I always seem to find something new to take from them.
Logged

Mike Kasprzak | Sykhronics Entertainment - Smiles (HD), PuffBOMB, towlr, Ludum Dare - Blog
NickWaanders
Level 0
**


View Profile
« Reply #13 on: November 01, 2007, 12:38:41 PM »

If you're into 3d collision detection and physics and stuff, I'd recommend this book as well:

Collision Detection in Interactive 3D Environments - Gino van den Bergen


Personally I've always disliked 'Game' programming books. Whenever the word 'Game' is in the title, I avoid it. I'd rather get books on the specific topic I need to know about, because they tend to be way more in-depth and informative. I'd say the only exception are the Game Programming Gems books, but like said before in this thread, those books are only about 5% useful. Smiley

Logged
ஒழுக்கின்மை (Paul Eres)
Level 10
*****


Also known as रिंकू.


View Profile WWW
« Reply #14 on: November 01, 2007, 07:11:18 PM »

Forgive me for asking a naive question, but how could you write an entire *book* on collision detection? It seems like such a minor part of most games (there may be some exceptions where physics is very important). When I think about or review a game, the last thing that comes to my mind is how good the collision detection is.
Logged

Derek
Bastich
Administrator
Level 10
******



View Profile WWW
« Reply #15 on: November 01, 2007, 08:22:53 PM »

Forgive me for asking a naive question, but how could you write an entire *book* on collision detection? It seems like such a minor part of most games (there may be some exceptions where physics is very important). When I think about or review a game, the last thing that comes to my mind is how good the collision detection is.

Collision detection is actually an incredibly complex topic, especially in three dimensions, and it's also very computation-intensive, I think.  And if you think about how important physics are in most 3d games these days... I think you could easily fill more than a few books with it. Wink

As with a lot of technical problems in games, much of the theorizing goes into where to approximate and how make things as efficient as possible, as opposed to just "making it work."

And sadly, good collision detection is not lauded as much as poor collision detection is lambasted.

But yeah, just take a look at the Wikipedia entry for collision detection for an idea about how difficult a problem it is!
Logged
PoV
Level 5
*****


Click on the eye and something might happen..maybe


View Profile WWW
« Reply #16 on: November 01, 2007, 10:42:28 PM »

Yep.  The ideas behind collision detection scale in complexity and size, like a good katamari rolling up the world.  Wink

Boxes and circles are pretty straight forward, but then you want something more complicated, like a combination of shapes, or an arbitrary polygon.  To solve physics, you need to know about where the collision occurred, so you can react correctly.  Even rendering has uses for collision detection, knowing not to render 50000 polygon object because it's completely hidden by something else, or outside the camera.  Then ultimately, when the number of objects in your game gets too high, and the nested "for" loop just doesn't cut it anymore, you need ways not to test every object against every other object.

Now sure, if you're doing Megaman or Super Mario Bros physics, all you need is testing, and solving versus static collision.  Much of that you can figure out without reference.  But now that we're past the NES, have more that 1 MHZ of CPU power at our disposal, we can do more interesting things.  Why reinvent collision detection theory when you can read a book?  Grin

Collision really is one of those things you shouldn't notice.  That means it's done right.  Gotta love those games that do interesting things when your head touches the ceiling, or a corner of a tile.  Smiley
« Last Edit: November 01, 2007, 10:57:39 PM by PoV » Logged

Mike Kasprzak | Sykhronics Entertainment - Smiles (HD), PuffBOMB, towlr, Ludum Dare - Blog
NickWaanders
Level 0
**


View Profile
« Reply #17 on: November 02, 2007, 11:22:20 AM »

rinkuhero: Hehe, by asking that question you are in some weird way answering it. Smiley There are complete books about it because people usually underestimate the complexity of collision detection. For a complete physics engine I'd say about 70% of the work directly involves collision detection.

But no doubt there are some awesome books about other interesting areas of game-making as well. I just think the more specific books tell you more than general overview books, because once you start building the game, it's the details where the problems come in. At least for me.. Smiley
Logged
raigan
Level 5
*****


View Profile
« Reply #18 on: November 07, 2007, 04:55:56 PM »

The best part about the Ericson book is that it presents many different solutions and ideas, not all of which you'd use at once. Personally I like it just for the chapter on grids; I always made and used them in one specific way, but he presents many different ways to implement and use grids.

It will blow your mind, seriously!
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic