   Game Development Roadmap
  I started programming a few months ago, and have since learned the basics of C++ (arrays, functions, classes, etc).   The goal I have in mind is to be able to create games (so very cliché), but I am sort of at a road block: after making console programs and games I found that I had no idea where to go next.   It seems like displaying graphics was the next step, however I cannot seem to find a decent tutorial for graphical APIs.   Either they assume too much prior knowledge or don't go into nearly enough detail on what is happening.   I have read that  it doesn't matter what API you learn with, as you will probably end up learning more as you need them.   I don't want to be too hung up on the issue, so I would be very grateful if anyone has a highly detailed tutorial/book/video series to get me started in this area.   Because my intent is to create games, it would also be helpful if there was a "road map" of sorts, basically saying that if you can make a clone of this game, the next test of your knowledge is cloning that game. There would of course be a lot of leeway and different ways to go about such a road map, but I think it would be quite helpful.   What would also help me is a list of books that would be especially helpful to the aspiring C++ programmer.   (I have been looking around and can't seem to find anything like this, although I might not be looking in any of the right places...) Thanks in advance.   
it would also be helpful if there was a "road map" of sorts, basically saying that if you can make a clone of this game, the next test of your knowledge is cloning that game. There would of course be a lot of leeway and different ways to go about such a road map, but I think it would be quite helpful. Picture a man dressed in homespun, sitting in a covered wagon.  In front of his muleteam there is a vast trackless prairie.  He says, "I know automobiles haven't been invented yet, but it would be helpful if there was a superhighway leading where I want to go."Point being, you have the freedom of blazing your own trail. That freedom comes with the uncertainties you have expressed.  Although many have gone before you, no one has as yet discovered "the one best trail" you should follow.   ;[quote name='Vertro' timestamp='1303521044' post='4801807']it would also be helpful if there was a "road map" of sorts, basically saying that if you can make a clone of this game, the next test of your knowledge is cloning that game. There would of course be a lot of leeway and different ways to go about such a road map, but I think it would be quite helpful. Picture a man dressed in homespun, sitting in a covered wagon.  In front of his muleteam there is a vast trackless prairie.  He says, "I know automobiles haven't been invented yet, but it would be helpful if there was a superhighway leading where I want to go."Point being, you have the freedom of blazing your own trail. That freedom comes with the uncertainties you have expressed.  Although many have gone before you, no one has as yet discovered "the one best trail" you should follow.[/quote][font=arial, verdana, tahoma, sans-serif][size=2]Not necessarily a "best trail", more like a checklist of the many different things along the way.   But if you are saying that the path doesn't matter and that I should just keep walking, focused mainly on the path directly in front of me while keeping a general idea of where I want to go...  then that is what I will do.  [/font]   ;I started programming a few months ago ... I cannot seem to find a decent tutorial for graphical APIs.   Either they assume too much prior knowledge or don't go into nearly enough detail on what is happening...   What would also help me is a list of books that would be especially helpful to the aspiring C++ programmer.   (I have been looking around and can't seem to find anything like this, although I might not be looking in any of the right places...) Congratulations, you are today's winner.I'm not sure where you looked for your answers.  This question is asked in some form nearly *EVERY SINGLE DAY* on the board.  Perhaps you didn't read the FAQ or didn't read the currently four open topics on the first page of the forum that are basically identical to yours. Sorry if this comes across as a bit harsh, but please spend some time searching for answers before posting.[color="#1C2837"]Read these books, mostly in the order listed:• "Accelerated C++" Andrew Koenig & Barbara Moo• "The C++ Standard Library" Nicolai Josuttis • "Effective C++", "More Effective C++", "Effective STL", all by Scott Meyers• "Exceptional C++", "More Exceptional C++", "Exceptional C++ Style", all by Herb Sutter• "Modern C++ Design" Andrei Alexandrescu• "C++ Templates" Vandevoorde & Josuttis That will give you a very solid understanding of C++, far better than you will get from crappy online tutorials.You'll need to have a solid understanding of not just the basics of control blocks, arrays, structures, and c++ containers, but also topics like function pointers and callbacks, references, and use of asynchronous functions.After you've read and really understand about 1.5 of those books you'll probably have enough language knowledge get into graphics.But before you do graphics, make sure you know enough math.  3D graphics is applied linear algebra.  It is difficult enough to write a 3D graphics engine when you already have college math classes in linear algebra.  If you aren't that far along, study up on the math including the simple matrix and vector operations.  If you don't understand chaining of matrix multiplication or the difference between a dot product and cross product, you'll need to do more reading.  Those are some of the most basic maths you'll need, they are essential to graphics programming; you can do much better if you know more but that is the minimum. You need to know this stuff well enough that you can explain it to another human.  In order to program it you need to know it well enough to explain every detail of the math to a computer.Once you've got a good foundation on the language itself, and at least a basic understanding of the math, you'll need to decide on a graphics system and read books about them.  For OpenGL I recommend you read several books starting with the Red Book.   (Get the current version of the physical book, not the edition found online from 15 years ago that people read then complain about it not having modern stuff.)  Or if you decide to go with Direct3D, AFTER you have enough understanding of C++, get one of the books recommended in the graphics programming forum's FAQ.[color="#1C2837"][size="4"]    ;[quote name='Vertro' timestamp='1303521044' post='4801807']I started programming a few months ago ... I cannot seem to find a decent tutorial for graphical APIs.   Either they assume too much prior knowledge or don't go into nearly enough detail on what is happening...   What would also help me is a list of books that would be especially helpful to the aspiring C++ programmer.   (I have been looking around and can't seem to find anything like this, although I might not be looking in any of the right places...) Congratulations, you are today's winner.I'm not sure where you looked for your answers.  This question is asked in some form nearly *EVERY SINGLE DAY* on the board.  Perhaps you didn't read the FAQ or didn't read the currently four open topics on the first page of the forum that are basically identical to yours. [/quote]Thank you!   I will try to be less foolish in the future by paying more attention.   