Jump to content
  • Advertisement
  • 10/29/99 12:24 PM
    Sign in to follow this  

    Code on the Cob Part 12

    General and Gameplay Programming

    Myopic Rhino
    [size="5"]Bedtime Stories

    "Education... has produced a vast population able to read but unable to distinguish what is worth reading." - G. M. Trevelyan

    Hello again! As some of you may know, I took a quick "vacation" two weeks and skipped an article. Calling it a vacation is about as far from the truth as it gets, though; in reality I had to skip the article due to my being extremely overloaded with work on Duke Nukem Forever. Right now I'm stuck in what I guess you could call a "mini crunch", since I'm working on some time-critical code that needs to get in immediately. For the past month I've pretty much ignored everything in my life outside of work (including my girlfriend; luckily she understands), and unfortunately that'll continue for a couple more weeks. That's ok; this kind of stuff happens during development. Everybody tends to have a few periods during a project's creation where their life is completely consumed by it, with or without choice. "Crunch time" isn't always just at the end of a project; often it happens in the middle too, and that's what's happening right now for me.

    So I missed the previous article, and I almost missed this one as well. Fortunately loonyboi gave me a pleasant reminder as always , and although he said I could pass on this issue as well if necessary, I decided against it. Missing two articles in a row just didn't sit well with me, so I had to write something... unfortunately, I've had no time to spare for it.

    So, I'll take this opportunity to put up something that people have suggested multiple times since the series began, to tide you all over (I'll try my damndest to have the next "real" article next time, but for now you'll just have to give me some breathing room... things have been very hectic around here).

    I frequently get asked for game programming book recommendations. So today, we have the first installment of the COTC Recommended Reading list. :) These are in no particular order, just grouped into a few general categories (which are also in no particular order):

    [size="3"]Design and Structure

    Design Patterns : Elements of Reusable Object-Oriented Software
    Authors: Gamma, Helm, Johnson, and Vlissides
    Publisher: Addison-Wesley
    ISBN: 0201633612
    This book is a necessity for every programmer, period. I don't care if you don't have the money. Get the money.

    Code Complete
    Author: Steve McConnell
    Publisher: Microsoft Press
    ISBN: 1556154844
    This book earns its title, covering just about every aspect under the sun relating to software construction. Another title considered "required reading" by many programmers.

    Large-Scale C++ Software Design
    Author: John Lakos
    Publisher: Addison-Wesley
    ISBN: 0201633620
    You never know when a small project is going to turn into a large one, and when that happens, you'll want to be prepared.


    Computer Graphics : Principles and Practice, 2nd ed.
    Authors: Foley, van Dam, Feiner, and Hughes
    Publisher: Addison-Wesley
    ISBN: 0201121107
    The graphics bible. If you're a game programmer, you must own this book. Get the money.

    Graphics Gems Volumes I-V
    Editors: I-Glassner, II-Arvo, III-Kirk, IV-Heckbert, V-Paeth
    Publisher: AP Professional
    ISBNs: I-0122861663, II-0120644800, III-0124096735, IV-0123361559, V-0125434553
    If Foley & van Dam is the graphics bible, these are additional testaments. More must-haves for anyone seriously interested in graphics programming. Get the money.

    The Graphics Programming Black Book
    Author: Michael Abrash
    Publisher: Coriolis
    ISBN: 1576101746
    Some of the material in this book may be a bit old (it's mostly collected from articles), but Abrash is one of those guys whose stuff you just have to read if you're a game programmer.

    [size="3"]Script Compilers

    Compilers : Principles, Techniques, and Tools
    Authors: Aho, Sethi, and Ullman
    Publisher: Addison-Wesley
    ISBN: 0201100886
    Also known as "the dragon book"; easily the standard compiler construction text. If you're going to write a script compiler for your game, you should have this. Get the money.

    Compiler Design in C
    Author: Allen Holub
    Publisher: Prentice Hall
    ISBN: 0131550454
    The "big brown book". Very large; less theory than the dragon book and more implementation. Not a replacement for the dragon book, but a highly recommended supplement to it.


    Anything written by Knuth, Sedgewick, or the other computer science legends. If you don't know who I'm talking about, do some research and find out. These guys are the masters.

    While this is far from a complete list of all the books I'd recommend you read, it does list some of the major ones. If you currently don't have any of the books listed here, these should keep your hands (and your wallet) busy for a while. :) For those of you who think you can avoid all these and learn the same amount of material from online docs and tutorials, I'd recommend you abandon that line of thinking right now. The fact is good education is never cheap, and books like these are the best kind of education you'll find when it comes to programming (and that includes game programming).

    Anyway, I hope this book list will be of service to some of you out there. I'll be back next time to resume our regularly scheduled programming. :)

    Until next time,

    Chris Hargrove

    - Chris"Kiwidog" Hargrove is a programmer at 3D Realms Entertainment working on Duke Nukem Forever.

    Code on the Cob is (C) 1998 Chris Hargrove.

    Reprinted with permission.

      Report Article
    Sign in to follow this  

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!