Jump to content
  • Advertisement
Sign in to follow this  
Pitt

Getting good at C++ and 3D game programming

This topic is 2565 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, first I want to describe my background:

-I'm an Electrical Engineer that has some good background in C/C++.
-As a engineer, I also took Linear Algebra and Calculus, so I have some knowledge on that too.
-I've done some 2D games with Allegro and SDL (Pong, Tetris, Asteroids).
-As for the API, I prefer OpenGL if it's as capable as DirectX (I'm probably stupid for saying that, but I really don't know OpenGL and DirectX capabilities; I also heard that OpenGL is tougher to be used with OOP).

My goal is to be awesome at C++/Math for gaming/3D engines, so I can make my own engine and a RTS game. I know it will take years to happen, but I'm willing to do that.

Althought I have this background, I feel like I must get better at C++, especially in OOP. As for Math, It'd be cool to get a book focused on math for gaming, but if I don't need to get too heavy/deep on theory I'd prefer.

So, what books/tutorials do you guys recommend? Taking a course is not really an option (Unless it's online), as I live in Brazil and we do not have good courses here.

Sorry about my english and thanks in advance!

Share this post


Link to post
Share on other sites
Advertisement
My horrifically over-engineered, ongoing and never ending Pong Tutorial™ demonstrates using ( modern ) C++ and OOP. I would personally recommend starting there :) To be honest, most C++ tutorials out there teach a pretty piss poor style, or are so outdated they are still basically stuck in the C++ as a better C mode.


I view your task as a two part problem, learn the language first then move on to 3D would be my suggestion. Now tutorials covering 3D maths are a much harder entity to come by. There are a few books on the subject, but not a ton online. The fact Nehe is still the goto resource for learning OpenGL despite being horrifically out of date, illustrates the state of affairs!

In that regard, I would recommend at looking at existing open source projects and seeing what you can learn from them. From my brief exposure, Ogre3D seemed extremely well written/commented, so it would be a good place to start, but there is also IrrLicht and Crystal Space.

Share this post


Link to post
Share on other sites
Hi, Serapth.

I'm definitely going to check your tutorials =].

I'm not a real beginner. If I have a problem, I can solve it, just not as elegantly as I should. So, I'm going for your tutorials, so I can see OOP in practice.

As for the order you suggested, it's my plan too: Get better at C++ (Especially OOP) and then move on to 3D.

I started to search for some books, here is what I found:

http://www.amazon.co...20767864&sr=8-5 on OOP
http://www.amazon.co...20768342&sr=8-1 for Math

What do you guys think about these books? Should I buy them?

I also have the Stroustrup's book, that should help me too.

Share this post


Link to post
Share on other sites
If you are going to buy just one book, buy Scott Meyers Effective C++. If you are going to buy just two books, buy Effective C++ twice and give a copy to a friend.

Share this post


Link to post
Share on other sites
I'm personally of the opinion that raw practice will take you a lot farther than just studying abstract theory. It's also a lot more rewarding, at least to me ;-)

Share this post


Link to post
Share on other sites

I'm personally of the opinion that raw practice will take you a lot farther than just studying abstract theory. It's also a lot more rewarding, at least to me ;-)


I agree for the most part, but there have been some books that were just so exceptional that they really helped me understand certain concepts. Code complete was one, design patterns was another, Zen of graphics programming was another ( amazing book, sadly outdated, taught me more about optimization than any other source out there ) and finally Effective C++.


That said, everyone learns differently. By far my most effective learning is when I downright screw something up then have to fix it. Nothing teaches you someone elses code better than breaking and and figuring out why!

Share this post


Link to post
Share on other sites
Video Blog

I am doing a blog over the next 3 weeks on my DVD (for sale soon) that is covering how to make an entire flight sim, from scratch in C++/OpenGL. I spent the time reading all the books, they are scattered and impossible and never solve what you want to know: How to create an RTS (in this case flight sim). Of course if your ability to listen to english audio is bad, then it won't help you out.

Share this post


Link to post
Share on other sites
Oh, I didn't mean to suggest that books aren't useful - I just see them as a starting point. There are two sides to learning something from a book: first, you have to have the experience to appreciate the advice being offered; and second, you have to go forward and apply that advice to continue to appreciate its value.

If you read a book too soon, most of it will just wash over you, because the depth of the significance won't click. You won't have run into the mistakes and pitfalls that are being advised against, so it'll feel arbitrary.

On the flip side, if you read a book and never go apply the lessons for yourself, you'll never gain a good understanding of what you learned from the book in the first place.


I guess I just wanted to register my opinion (and I'm willing to be wrong here) that it makes more sense to practice first and foremost, and look to educational resources (including but not limited to books) as a supplement rather than a foundation of the learning process.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!