No announcement yet.

Good Development Books?

  • Filter
  • Time
  • Show
Clear All
new posts

    Good Development Books?


    I'm a computer science student trying to get involved into games development. I basically want to get the necessary skills to be able to apply for a games industry job in a few years, reading a few books on the side. I already did a few of the UT-Video-Tutorials online here, but most of them are centered around designing, and I don't want to get into engine scripting right away, but rather get a general overview about games technology and the techniques engines use.
    Any developers in here that might give a list of good development books you had experience with?

    I've got heaps of books that are useful so I'll just list the ones I think are essential for a CS games development student. I'll try to stick to one per subject.

    Engine Design:
    - Game Engine Architecture.
    - 3D Math Primer for Graphics and Games Development. The link is to the first edition, I haven't looked at the 2nd edition yet.
    -Game Physics Engine Development.
    - Programming Game AI by Example.
    Collision Detection:
    - Real-Time Collision Detection.
    - Real-Time Rendering, Third Edition.

    Those are my opinion for the best of the best, but I'm sure there is heaps other books for each of these subjects that are just as good. I'm sure other people will pipe in if there is ones that I have missed.


      Originally posted by onethought View Post
      I've got heaps of books that are useful so I'll just list the ones I think are essential for a CS games development student.
      I'm just a normal computer science student, I always found myself fascinated by games development nevertheless. I thank you for your time!


        Originally posted by fire2k View Post
        I'm just a normal computer science student, I always found myself fascinated by games development nevertheless. I thank you for your time!
        Do you have access to any online journal data bases (e.g.: JSTOR)? Not immediately applicable most of the time, but you can usually find a whole bunch of really complicated algorithms for different peculiarities in different, but somewhat related fields. Other than that, lots of good CS programs have been open sourcing all of their stuff, so if you don't have one already, definitely get a good discreet math book (engineering/cs level). Wolfram Alpha has some good stuff, and there's tons of articles online that cover whatever you could need (General CS & math kinds of stuff).

        If you aren't already familiar with OOP, get cracking. I don't know what kind of CS you're doing, but I've noticed that a lot of engineers/cs peeps are unable to easily grasp relatively basic OOP paradigms (there're some good java for C programmer resources I've come across on Google, but personally, I don't see what the big deal is -- I think a lot of people expect OOP to work like Python, which is completely unreasonable considering it's a simplistic functional language that happens to support certain OOP patterns, and its innards are completely made of play-dough). All the time people spend hacking something to work with Python and a gillion different libraries in different languages, could be spent learning how to incorporate the one or two functions they might need from some giant Math library, etc.

        Don't let me scare you (I'm jaded, but I'm not much older than you), I think you'll be OK because it sounds like you're young enough not to be a pedant, and it seems like you're willing to take an initiative to learn what you need (for what you want to do, there's no education that's going to teach you more than what thoroughly studying the UDK source code line by line until you understand what's happening will - it's not something that you have to get done in a certain amount of time, so just stick with it for a year or so, or whenever). As long as you just keep reading lots of articles/journals/books/blogs all the time and keep an open mind, you'll find the so-called difficult things to be challenging, but also intuitive and fun.

        And the most important piece of advice I could give you is to try and figure things out on your own (e.g. algorithms/how to do something/etc) even it takes months to finally solve a simple problem. There's a substantial difference between learning from knowledge and learning from building intelligence. Even if it seems like you're wasting weeks or months on a problem that you could easily get some help on and be done with it, you're doing more than just learning what the answer is; you're developing cognitive and analytic skills that will allow you to get more out of studying/experimenting/learning/etc, and consequentially the rate at which you achieve gains in your intelligence will increase. I'm not saying don't read the books that were posted above, for example, but read and study them all, and when it comes time to start formulating solutions to problems (e.g. messing around in UnrealScript) put them away and try to see if you're able to apply the knowledge from the books practically. It's going to be really hard and you'll probably fail here and there (expect frustration), but then the next time you go back to read/study, you'll be better prepared to absorb the most from said resources and try again. I think I'm just trying to say don't copy algorithms from here and there or copy and paste code from examples when it comes time to start actually producing something, even if it's just experimentation. There's a valid reason that one great programmer/engineer is worth a hundred very good ones (I think I'm paraphrasing a Mark Zuckerberg quote, but if you read blogs of people in similarly high positions in companies like Google, etc or certain high up academics, they'll have their own versions of it). Strongly correlated is the fact that a lot of software's weakness (open source is a good example) comes from all of the individual contributors being responsible for a separate portion of the overall system and trying to get everything to work together and be compatible... Then people have to try and fix ****ty code and construct hacks to get around problems en-rooted in the foundations. All the random libraries tied in and redundant code ends up making the software bloated an inefficient, and that's assuming that it works properly.

        Here's some good sites off the top of my head: {,,,,}