Thread: Beginning Game Programming Type Books

  1. #31
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Then don't buy out of date books. You don't want to start reading a book that halfway through says something about keeping textures small because most cards don't have more than 32MB of memory.

    Then you know the book is quite out of date. I highly recommend Game Code Complete 2nd edition. It's not full of hacks that appear to work and it's not full of algorithms that only work on a supercomputer. It is by far the best beginning game programming book I've read. Another very good book for DX is Introduction to 3D Game Programming with DirectX 9.0 by Frank Luna. The website for the book is www.moon-labs.com and he has a second edition coming out which will focus on shaders. All of my terrain code and inspiration for the terrain code has come from that book. Of course I've modified it, but I started with his examples. If you are interested in terrain and outdoor rendering you can go to www.vterrain.org which has links to tons of sites about that very thing.

    As well awesome books to have are any of the ShaderX books, Game programming Gems, GPU gems, or any of the gems series of books. Excellent resources.

    For game audio I recommend DirectX9 Audio Exposed and while the author of Game Code Complete does not like DirectMusic for sound, I don't see an issue with it since you can get the DirectSound interfaces from the DirectMusic interfaces.

    Read as many books as you can and you will get an overall feel for where you fit into the scheme of things. Some things you will like and some you won't. The important thing though is don't waste your time learning stuff that is outdated b/c tech changes so fast. Heck the Frank Luna book is nearly outdated now b/c of the popular use of shaders. His second book is going to address shaders more and more.

    Right now I see no need to learn every function of the fixed function pipeline because you can write a 30 line pixel shader to do everything the FFP can do only faster and more precise.

    I do recommend getting some 3D math books geared towards 3D games and algos so you can understand the math behind the transforms. This is very important. You don't want to be caught asking yourself...now how do I get object A to shoot at object B w/o understanding the math involved. Most of the math is done for you in D3DX but you should still understand it so you can begin to apply the math to your own situations.

    Graphics are simple nowadays and I mean that with every word. With shaders, models, etc, etc, anyone can produce a pretty scene. It takes a programmer to manage all the resources, process the script, perform memory house keeping, etc, etc. In essence it takes a programmer to make the game. Graphics are just the very tip of the iceberg.

    If I were starting out from scratch the first books I would buy would be ones about C/C++ and design patterns. This is probably the most important part of code whether it be games or not. Design patterns can help you out a lot or they can be your worst enemy. You should learn C/C++ inside and out and maybe even a bit of assembly to the point of understanding how the stack works and how the CPU executes your code. I didn't say write entire programs in assembly because that would be stupid. But understanding it a bit won't hurt. There is enough information in Randall Hyde's Art of Assembly language programming to give you the tools you need. It is for 16-bit real mode, but moving to 32-bit is not that big of a jump....and it's a hell of a lot easier for the most part.

    So I reckon I'm saying don't focus on one aspect but moreso the big picture. Games are a lot more than graphics. There is a lot going on under the hood that you never see.

  2. #32
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    Anybody know if the Windows Game Programming for Dummies is any good as I want to know what is best to spend my voucher on.

  3. #33
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    It's older than the Tricks series, but I have heard good things about the book. Bubba knows of all the bad things. We make a good option A or B team. It will teach you the fundamentals of game programming, but like Bubba I would say the book is quite out of date. Bubba posted this, but I thought you may benefit from it since I do agree with it too:

    some good books:

    Game Code Complete, 2nd ed.
    Intro to 3D Game Programming with DirectX 9.0
    DirectX9 Audio Exposed
    Any ShaderX<#> book.
    Any Gems series book.

    Where I would start:
    Books on C/C++ - know the language inside and out
    Books about design patterns and design do's and don'ts - extremely important books - Design is everything
    Tech books about my CPU of choice - know the CPU enough to understand whats going on
    2D and 3D math books with a focus on game programming
    A book or two on assembly language programming. This will give you a very good understanding of how the computer actually works and IMO will make you a better programmer. Don't go coding entire apps in asm, but understanding it definitely will not hurt.
    Books on vertex and pixel shaders. This is very important because the good old DirectX9 fixed function pipeline is going by by. I have written shaders that I will release to the board when DX10 hits so that people can get lighting to at least work in DX10 even if they don't understand shaders. Vertex-based shading is a thing of the past.
    Books on image processing. This is becoming more important as shaders gain popularity. These books have a host of techniques like blooms, glares, flares, anti-aliasing, cartoon shading, etc, etc.
    Books on digital audio and DirectMusic.
    Books on network programming.

    And that's not a complete list. In short, the more you read on various topics, the more well-rounded you are.
    Last edited by dxfoo; 09-13-2006 at 10:57 AM.

  4. #34
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    What happened to this thread? That long post was what I was working on when I went to another page by accident. Then I posted the second one.

    Odd.

  5. #35
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    Yeah, that happens to me when I leave "Remember Me" unchecked. It's a little annoying

    Well, good news for Bubba... I thought about our conversation with learning software before hardware. I think I'm a hardware guy for now on. It is fun learning how to write everything in software. However, there's just way too much topics about graphics these days that it's hard to just break it down and write it peice by peice. Because of that, it's harder to compete with today's technology because I want to keep going further and further with it. LaMothe is definitely a brilliant author and programmer, but none of his graphics chapters are helping me get the job done, you know, $$$, but his theory chapters are good though. You will see me evangelize Tricks III later though because he's planning his last book book that is nothing but hardware acceleration and hardcore math for a semi-DOOM3 engine, so it's a good idea to prepare beginners to get up to that point, not having software get in the way. It's fun with software though if you have ten years to waste

    I came out with better knowledge of how things work beneath, but the gamer is looking at what is on the surface. What should have the better focus? It was obvious to me... software, duh! (joke)

    Thus, I really recommend Intro to 3D Game Programming with DirectX 9.0 Edition 2 that just came out. It'll save you about ten years

  6. #36
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    Quote Originally Posted by dxfoo
    It's older than the Tricks series
    Not so as it was updated, the Windows Game Programming for Dummies Second Edition was published on 4th October 2002, but the Tricks latest edition was published on the 1st July 2002 so really Windows Game Programming for Dummies is newer.

  7. #37
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    Oh cool, I didn't know that. It will teach you windows programming, window buffering, basic gameplay, some sound etc. so I don't see why not. Be sure to check out the reviews too on Amazon.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Conversion of pointers to functions
    By hzmonte in forum C Programming
    Replies: 0
    Last Post: 01-20-2009, 01:56 AM
  2. sorting the matrix question..
    By transgalactic2 in forum C Programming
    Replies: 47
    Last Post: 12-22-2008, 03:17 PM
  3. 20q game problems
    By Nexus-ZERO in forum C Programming
    Replies: 24
    Last Post: 12-17-2008, 05:48 PM
  4. Can you check what is wrong with this code
    By Ron in forum C++ Programming
    Replies: 4
    Last Post: 08-01-2008, 10:59 PM
  5. 2D Game project requires extra C++ programmers, new or experienced
    By drallstars in forum Projects and Job Recruitment
    Replies: 2
    Last Post: 05-16-2007, 10:46 AM