Recommended Programming Books?

Miscellaneous Forums/General Discussion/Recommended Programming Books?

Can anyone recommend any 'good' programming books? Specifically those pertaining to games or realtime applications are handy, but really anything that covers a subject specific to programming that is useful to game developers is good.

Right now I'm looking at getting the Game Programming Gems 5 (will get 6 when it comes out, 'til then I gots to wait). After reading an article in the latest GD mag, I'm particularly interested in anything to do with component-object based systems, since they seem to be very flexible without the cost of using virtual/multiple inheritance (which is good, since I can't use multiple inheritance in BlitzMax).

Also, I'm not really referring to books like 'Game Programming For Teens' and such. Frankly, I wouldn't be caught dead with that book (or any of the other 'teen' books).

Anywho, yeah. Books, anyone?

I'm currently reading this: Programming Game AI by Example by Mat Buckland
Scott Shavers uses this to program his steering modules. Highly recommended

GPU Gems - nVida Corporation - basically it is like Game Programming Gems for nVidia GPUs.

3D Game Engine Design - David H Eberly - I'd class this book as high level.

Tricks of the 3D Game Programming Gurus - LaMothe - is work a look.


Every decent coder should have a copy of "Michael Abrash's" Graphics Programming Black Book Special Edition - just to own it.

Tricks of the Windows Game Programming Gurus seems good (haven't read a lot of it yet).

Likewise, Game Programming All in one. (ISBN 1-931841-23-3)

Any Andre LaMothe book is good.
Windows95 Game Developers Guide (C++, DirectX, but has good info/techniques)

Oh yes, my own recommendations (since this'll help others too):

-3D Math Primer for Graphics and Game Development
-Game Programming Gems (any)
-Game Scripting Mastery
-Applied Cryptography
-CRC Standard Mathematical Tables and Formulae (<- Tables a particularly useful)

Real Time Collision Detection by Christer Ericson.
Top book. Just evrything you will ever need and much more.

If your programming in C++, I recommend 'C++ The Complete Reference' By Herb Schildt!

Also, I'm reading 'SAMS Teach Yourself Game Programming With DirectX'... It's not a bad book, but it one of these beginners books where the author thinks he's funny (and he's not), and by the end of the book, you've nigh on read his entire programming life story!

I'm just over halfway through, and sometimes I fell like shouting 'JUST SHUT THE F*&$ UP AND TELL ME HOW TO DRAW A F%&*ING TILEMAP' or something similar! :)

Dabz

i have a couple but my fav one is

tricks Of The 3D Game Programming Gurus " Advanced 3D Graphics and rasterization" By Andre LaMothe

realy good book

heh all mine are DOS based. I don't buy programming books anymore I find it all out online.

SAMS Teach Yourself Game Programming With DirectX


I have something similar to that, I generally avoid Teach Yourself books now though. They always seem to end up not teaching what I want to know (or it just does a bad job, is badly edited, etc.).

I have "SAMS Teach Yourself Game Programming in 21 Days" from 1994. It was in c++ for DOS and was actually pretty darn good, totally irrellevant now.

Also "Zen of Graphics" by Michael Abrash, same era it's about how the Doom and Quake graphics were made, again totally irrellevant with 3D cards now!

Effective C++ and More Effective C++ by Scott Meyers. I only recommend these in the hope that they will take the tarnish off your youthful arrogance - they scared me sh*tless the first couple of times I tried to read them. Sheer brilliance, but you kinda need welding goggles to avoid being blinded by the dazzle.

... and he has a cute wolfcub on the cover


Lots of the Charles River stuff is good bedtime reading (Game Gems, etc.)

About Face (the essentials of user interface design) by Alan Cooper.. ISBN 1-56884-322-4

Nothing to do with programming perse, but should be required reading for all computer related fields.

I aslo rec. Kafka's, Metamorphosis and Philip K @#!*'s, Valis. Both should be required reading for all people.

You might not realize why you should read About Face, until you start to read it.... then you will understand.

Got all of these on my list of to-buy now (well, most of them).

Just ordered a few other books in the meantime:
- Game Programming Gems 1, 2, & 5
- 3D Game Engine Architecture (seems to be a follow-up to that other book that covers engine design, so it should be good)

Only came to $145 USD, so I'm pretty happy given that it would've been about $210 if I'd paid full price for them.

@Grey: Michael Abrash was my god :) I still feel the zen feeling sometimes, but I doubt I'll often need again to optimize some bunch of ASM.

and Philip K @#!*'s
ROFL at that silly censure :D

DampeS8N: Yeah I've read pretty much all Philip K. D ick's stuff and it rocks, he was very very good.

Koriolis: Yeah I used to be an ASM nut and well into optimising cos the machines had no real power back then and everything you could do to squeeze out more was vital, not like big fat lazy windows programs!

I have "SAMS Teach Yourself Game Programming in 21 Days" from 1994. It was in c++ for DOS and was actually pretty darn good, totally irrellevant now.



OMG, I HAVE THAT SAME BOOK!!!!!! I think I even have the cd around here somewhere as well! Good ole 16 bit dos days! 64k of member is pleanty, BS!!!!

the CD was cool. I made a star field, some polygons, a little scrolling platformer, a vertical shoot em up off the back off this book!

Do you actually learn coding from books anyway?

The only books I ever read are basically books that explain the basic-commands of my MSX in the late 80's. Would be comparible with reading the manual of Blitz.

Yes, you can learn the commands from books, but do you also really learn to think like a programmer from a book? (create concrete solutions for abstract problems) If I were to read how to make a platformgame from a book, I'd feel like I'd be a trained monkey who can repeat what's in the book.

I rather think that real programming is learnt by just doing:
1 programming
2 programming
3 programming
4 programming
5 more programming
6 more programming
7 more programming
8 more programming
9 even more programming
10 even more programming
11 even more programming
12 even more programming

No goals, just silly things, graphical effects, whatever..

..and when you're *here* you may think about doing a medium/advanced game or app :P

I'd learnt to program years before I got that game programming book, it just told me the tricks for PC DOS-based games so was worth reading.

But yeah I made a zillion unfinished stuff as a kid, sometimes just effects, mini demos, mini games etc rinse and repeat.

Then I got a job in business software, this teaches you finish stuff and do it well for code reuse and makes you more goal oriented. Plus of course you encounter many problems and when it's you job you HAVE to fix them or find a workaround. Often the best way to learn is to get really stuck on some crap and learn all about it until you finally fix it.

Last night at Aikido, someone said they were knackered. I said "You know what the only cure for that is? More practice ... or quit" :-)

I learned C++ from 'C++ The Complete Reference', though, this only covers standard C++ (I'm saying only, but standard C++ is bloody massive!)

The SAMS book is handy for basic DirectX 2D programming, but it only shows you how to build one kind of game... A RPG affair! Once I finish that, I'm going to have a pelt at 3D!

I also learn a lot from my MSDN docs that come with Visual C++... Very handy! :)

Dabz

Dabz: Yeah I have that one too and Object Oriented Analysis and Design (Booch). At the other end of the scale I ahve C for Dummies! :-)

game programming all in one is kinda good. the guy that made that book teaches you how to make your own api. i had to return the book though because i didn't have msvc++ 6.0 when i bought the book.