I need your recommendations for a good study source about videogame orientated C++, algorithms and vectorial algebra.
I will be applying to a videogame programmer course in January so I need to start getting ready asap.
closed as not a real question by Nicol Bolas, Tetrad♦ Dec 9 '11 at 6:29
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.
Here are my recommendations:
Data structures for game programming LINK
Excellent book for a thorough but easy to understand breakdown of all the useful data structures that games use. What's more, the author provides samples that come in the form of mini-games or interactive demos. Absolutely must have book for beginners.
Essential Mathematics for Games LINK
Great resource. This is probably one of the rare few books on mathematics that is geared towards games and that is actually always on my shelf. It does get heavy (hey, it's a math book!) at times, so unless those topics are taught in the current semester, skip over them if you feel nausea set in!
Design Patterns: Elements of reusable OO programming LINK
Do you have a computer science background? If yes, then you probably already heard of it and if you did not hear of it, then this is a must. It is not for games only, but it will prepare for you for problem solving. This is not a beginners book. By that I mean, if you are just entering college/university, I would stay away from this book until you understand why you need design patterns in the first place (that is, you are past the stage of "Finally! My code compiles! Now to make it run!")
OpenGL SuperBible LINK
Do not bother with the red book. That is a reference, which in my opinion, the internet has made obsolete. This is the book to buy for OpenGL. For DirectX, you are on your own :)
Game Engine Architecture LINK
You may not want to read this early on. Maybe down the road, when you have good grasp on programming and what a game engine consists of. A great high level overview of game engines.
Game Engine Design LINK
WARNING: This is a very very heavy book (literally and conceptually). Just keep it in mind until you are craving for more and the above books look like child's play to you. This is a book filled with concepts that other authors usually do not dare go into simply because they are so hard to understand and even harder to write about to make others understand. Also, the author (who is very knowledgeable btw) is very active in the sense that he always replies to my emails in a couple of days or so.
Adding to Samaursa's list, but trying not to get too long, I'll just add a few of the ones that really stood apart from my library:
C++ For Game Programmers LINK
A book which approaches C++ from an intermediate point of view and focused on techniques relevant to game programming. A lot of emphasis on performance and efficiency. Since you asked for that specifically, you might want to give it a try. It's quite good in fact.
Effective C++ (and it's 2 sequels) LINK
But I'd recommend even more reading this series to get a solid grasp on C++. There's two books on general C++ and one on the STL. All I can say is that these remain to date my favourite C++ books. The books are divided into small sections that tackle specific C++ problems. And even if it's not a game programming book, it's where I learnt most of my C++.
Game Programming Gems LINK
This entire series is filled with secrets of the trade from all areas of game development, from programming to graphics, sound, math, AI to networking. They're rather expensive, but I kept an eye open on the used books at amazon and managed to get most of them at a fraction of the price. There's 8 volumes so far, but I find the very first volume to be the most valuable for a beginner since it covers so many things that a game programmer simply needs to know. Check the table of contents of each book online here.
And finally, I know you didn't mention graphics but you will probably eventually get interested in it. For graphics my opinion is...
Realtime Rendering 3rd Edition LINK
This is the book to get all the concepts and theory of graphics programming. This book is huge, covers virtually any graphic programming topic I could think of, and as an added bonus, it's beautiful - the entire book is in full color and in quality paper. I was really surprised both with the content and the packaging.