Sign in to follow this  
Repirr

Moving on up!

Recommended Posts

Well, I've run into a slight problem. I've just finished reading the "Beginning C++ Game Programming: By Michael Dawson." I feel like I know the book backwards and forwards, but here's the problem... what next? I'm not sure if I should keep studying more C++ (I know there's more to learn, but do I have a good enough base knowledge to move on?) or move on to something else. I tried looking in the books section, but I don't seem to be able to find anything to move on to. If anyone could help, I'd be appreciative! (and I'm sorry if something like this is posted somewhere, I'm on my way to school and didn't have time to check. If there is, feel free to yell, curse, and scream at me!)

Share this post


Link to post
Share on other sites
Assuming your book was all about the language and syntax of c++ using console applications, your next move should be determined by what it is exactly you would like to create or do.

I wanted to learn how to output graphics to the screen using opengl so I learned the c++ basics and then got myself an opengl programming book and then started trawling the web for tutorials etc.

Share this post


Link to post
Share on other sites
Only you can say if you are ready to move on -- but there are some objective metrics that can provide some guidance.

So you say you read this book. Did you write programs as you were reading it to practice, to put the knowledge you acquired to practical use? That's a critical step and if you haven't done it, you might not understand the topics covered by the book as well as you think.

Regardless, however, the next step depends on what you're interested in pursuing. If you've completely understood the majority of the book's content, you're probably capable of writing a functional program, so perhaps you should think of a program you'd like to write (a text-based game, perhaps?) and implement it. You'll undoubtedly have some issues, and resolving those issues should lead you to the next phase in your education.

A common goal for most people once they have some facility with the language is to move on to learning various common APIs, such as some basic Win32 to bootstrap a non-console application (mostly window creation and Windows message handling), and a graphics API (OpenGL, Direct3D). APIs like SDL are also common next steps. Google can produce a lot of information of all of these topics.

As for other C++ books, I tend to recommend "Thinking in C++" and "C++: A Dialog." Both are good, and both are freely available online. I would warn you off of books that contain things like "game programming" in the titles, or books that discuss specific APIs (DirectX and OpenGL being the common topics). Such books tend to be poor investments, for a number of reasons. For one, they tend to take the approach that writing games is different from writing anything else, which is false. Because of that they tend to skimp on some details and skip some useful topics entirely, focusing instead on providing broad-but-shallow surveys of a number of topics ostensibly related to writing games. Books that discuss specific APIs are, naturally, one step removed from the most authoritative source on the API: its documentation. This lends them to being inaccurate and getting outdated rapidly.

Share this post


Link to post
Share on other sites
Well, what I think I want to do is try to make a game using DirectX or something of the sort. Maybe what I should really be asking here is what should I be going into next...

My goal is to someday make a 3D RPG. I thought that going from C++ to DirectX was a good choice, but is it too lofty? Is there something better or a step inbetween I should be looking at? If there is, I'd greatly appreciate the advice!

Share this post


Link to post
Share on other sites
It can be a challenging step, but a doable one.

The primary hurdle will be the amount of new information you'll be required to assimilate in (nearly) one go. The first step is to download the DirectX SDK from MSDN. After that, you'll have to learn some basic Win32 to set up a window and message pump prior to initializing D3D. Fortunately, the DX SDK includes a discussion of the basic Win32 elements required (Tutorial 0: Win32 Basics in the DirectX documentation). I would follow that, then move on to the additional tutorials in the SDK documentation.

You may want to consider purchasing a book on the underlying mathematics and theory behind 3D computer graphics. Understanding those concepts are essential to doing anything nontrivial with graphics; you don't have to purchase these books right away, but they should probably be the next books you buy and read if graphics are where you want to go. My recommendations are generally "The Geometry Toolbox" for the basic math, and "Fundamentals of Computer Graphics, 2nd Ed." for the pipeline theory. The latter covers the math to some degree as well, so I'd prioritize that one.

Don't buy anything until you've made an initial foray into graphics and determined its within your current capabilities. The freely-available stuff in the DX SDK should suffice for the time being.

Share this post


Link to post
Share on other sites
I'd recommend sifting through the various repositories of information out there (the Articles section here, the Game Programming Wiki, DevMaster, etc) and become familiar with the different components involved with building a game engine.

Or, if you are interested in designing a "game" (i.e. as opposed to writing an engine), get involved with a 2D or 3D game engine (HGE, Kyra, Irrlicht, or Ogre3D, or others) and start producing an initial demo of your vision.

If any of these are daunting for you, it might be necessary to brush up your programming skills first, in which case I would direct you to the numerous C++ resources on the web.

Best of luck!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this