Lineup of Books For Beginner

Started by
4 comments, last by grumpyOldDude 8 years, 10 months ago

I am somewhat of a beginner when it comes to game programming. I know a bit of Java and have made basic games like snake and a very basic capture the flag game. But now I want to venture further and learn C++/OpenGL eventually creating my own game engine. I know this is no easy feat and will take time, but I have done a little research and have a lineup of books I want to read to aid me along my journey. Please provide me with some feedback and let me know if I am reading the right material. Also feel free to recommend any books you believe would be useful.

My list in order of how I am going to read them:

1. Jumping into C++

2. C++ Primer (5th Edition)

3. Real-Time Rendering (Third Edition)

4. Real-Time Collision Detection

5. Game Coding Complete (Fourth Edition)

6. Game Engine Architecture (Second Edition)

Advertisement

My advice is to get hold of the source code for a bunch of open source C++/OpenGL games and mess with them and not to spend too much on books. Mod those games, change them, break them and take them apart.

You can only learn so much from books, and you'll only learn by doing, so get ready to get your hands dirty!

If you already know a bit of java you'll already understand object oriented concepts so the basics of it (up until you encounter pointers and templates) should be easy enough to grasp.

If you really must get hold of books to learn, you can save on expenses by buying them from second hand bookshops nearby to universities, buying online digital copies (for kindle etc) or in pdf form, or by buying second hand hardcopies online through amazon smile.png


. Game Coding Complete (Fourth Edition)

I do own a copy of this book, and it is good. There are some parts where it shows its age, discussing the system specifications of the N64 and original XBox and talking about "when the XBox 2 comes out" (referring to the 360). But don't let this put you off as it's full of lots of coding advice. Don't even attempt to digest this material until you are more fluent in C++ though, as it assumes a certain degree of C++ knowledge from the start.

Good luck!

Thanks for your advice I get what you mean. I already bought my first book a while ago (Jumping into C++) and am only on like the 4th chapter because I can't get myself to read it. Mostly because everything I am reading I already know. I would skip ahead but I am afraid there are some little things I might miss in between that are more specific to C++. Once I get more proficient in C++ I will definitely try out some modding though!

I don't think I've had the pleasure of reading Real Time Rendering, but am a big fan of Frank luna's introduction to directx...(what ever is the latest) they seem to get better with each iteration, as one would hope.

In my opinion, Crister's book, RTCD, should be read after Game coding complete. I have the 2nd edition of Mike's book, and it seemed to hit a lot of things at an introductory level. RTCD on the other hand, I would say is more technical, and it's a can of worms that you may not want to eat just yet.

Jason's book is probably one of the best bang for your buck books with a price tag in that range, but works best if you've been exposed to the concepts ahead of time, perhaps in an earlier project from GCC.

I have read bits and pieces of Real Time Rendering, for me it has been more of a reference when I am implementing my own collision detection than reading it from start to finish. It is a really great book from what I've seen though so I don't want to deter you from reading it start to finish, just my two cents.

I'd add a 3D mathematics book to that list. I was pleasantly surprised on the value I got from diving into some mathematics when doing things like matrix transformations, vector math and lighting, what not. The book I have read on the subject is: Mathematics for 3D Game Programming and Computer Graphics, Third Edition by Eric Lengyel.

I'd agree with braindigitalis in that the best thing you can do is just build a game or something involving graphics in parallel with the books. It's important to practice the concepts on your own. In a book I have been reading, Computer Graphics Principles and Practice the author encourages a "3 step approach" to learning a subject, that is application-theory-application, or something similar. So try something before you seek a more theoretical understanding of it and then apply it again. It will give you a better understanding of the subject that way I think. So implement some game or some bits and knobs to an engine in your mind, go read about it and do it again. smile.png

My advice is to get hold of the source code for a bunch of open source C++/OpenGL games and mess with them and not to spend too much on books. Mod those games, change them, break them and take them apart.

You can only learn so much from books, and you'll only learn by doing, so get ready to get your hands dirty!

I could't disagree more, you learn by both reading and doing (also getting your hands dirty)

Just messing with source code (without having some sound theoretical knowledge first) might even be counter productive.

Source code modification and tinkering wont teach you the theory from a generic POV, the code you are messing with might be dealing with alot of special and advanced cases

Source code messing, tinkering,.. wont tell you the "why" things are done this way, sometimes you are using your intuition -which is good - most usually you are left guessing

Source code might be dealing with special cases, books start with general theoretical knowledge and then encourage to get your hands dirty

Source code modification and tinkering is good and very essential but the advice is in the wrong way round.

Spend good time with books, You can learn a lot from them. Try to learn as much as you can from selected ones (or online sources).

Learn the theory from books first and simultaneoulsy try coding from scratch for some very small projects then when you mess-with & reverse-engineer source codes you maximise your learning, understanding and knowledge

can't help being grumpy...

Just need to let some steam out, so my head doesn't explode...

This topic is closed to new replies.

Advertisement