Advertisement

Book advise

Started by February 17, 2015 10:37 PM
7 comments, last by Irlan Robson 9 years, 11 months ago

I know the basics of C++ and want to get started with game development.

What's a good book to start with? (So that I will learn (at least) the basics

of game development)

EDIT: Other learning sources are good too ofcourse, but I still prefer books.

Advertisement

http://www.gamedev.net/topic/665685-books-after-basic-programming/#entry5210333

https://irlanengine.wordpress.com/reviews/

Thank you Irlan. Only 1 question about the the last link: In what order do I have to read the books?

How confident are you with c++ when you say basics. What's the most you've done? If not much based on that list, I'd leave the 3D stuff for last. Honestly those books on the second link seem more of Intermediate to Advance to me, but I'm a beginner too so I could be wrong.

Uhm I understand and can use the following (and still learning):

-variables/data-types

-functions

-conditional statements

-loops

-c-arrays

-vectors

-classes

-inheritance

-I'm doing dynamic memory now (inclusive the C++11 features)

Advertisement


In what order do I have to read the books?

To practice something you need theory first.

Since you said you have C++ experience I'd start spending 1 year playing with 2D linear algebra and practice using existing frameworks such SDL or SFML or even better: do your own classes, files, analysis. The last one provides much more low-level experience, and learning with the mistakes you make is the only way to learn something even if takes more time.

I gave you a list that consists of books that covers more mathematics, linear algebra, and physics, and some of these books doesn't show any implementation regards to 2D and is more focused on 3D mathematics which its is much more harder to visualize than 2D.

Honestly, I don't have any recommendation of 2D books right now, but the first 2D game I made was a simple shooter even knowing about vector and matrices (just throwing a bunch of spheres on the screen that collides with boxes) and using Allegro (which I think it is quite outdated now), and I learned about vectors and matrices later only using the web.

You should probably get 2D linear algebra first, that will give you some nice ways of visualizing a game internally just by looking at it. Learn about vectors, practice... learn about matrices practice that... and so on.

Some topics are really hard to visualize (like matrix mathematics).

Linear algebra is a must when doing a game; it could save you a lot of time and you can eyeball a specific error in your calculations depending of what degree of knowledge you have on the field. That's what I think that linear algebra is the most fundamental type of mathematics that a game developer should know, and it will open some doors to understand more advanced ones such physics, vector calculus, etc.

1) Do you advise to read an intermediate book about C++ programming too, after I finish my basic book and start learning math.

2) Is doing things with Sinus, Cosinus and Tangus a big part in 2D lineair algebra (for games)


Do you advise to read an intermediate book about C++ programming too, after I finish my basic book and start learning math.

Well, if you're knowledge about C++ is no far from classes, pointers, instances, then you have a tool that can be used! When to pass a pointer instead of a reference, when to creating a class for each functionality that cannot be interpreted as a function, etc. is a good signal of having a intermediate knowledge of not only C++ but software engineering principles (SRP, etc.).


2) Is doing things with Sinus, Cosinus and Tangus a big part in 2D lineair algebra (for games)

Function and function sets is a whole field on mathematics;

Trigonometry (trigonometric functions) is the study of the trigonometric function sets and is a whole field on mathematics;

Linear algebra involves trigonometry and is another field;

So do calculus, vector calculus, physics, etc.;

Now when is applied:

Computer graphics and physics simulations uses the fundamentals of linear algebra that uses trig-functions. A certain type of game requires graphics and physics programming.

To not blow you head right know and forget about the advanced topics; focus on getting the basic knowledge. Do not go to 3D before making a simple game in 2D; that is not impossible, but can screw up the learning process.

This topic is closed to new replies.

Advertisement