   Tried to read Programming Role Playing Games with DirectX.. didn't go so well
  As the topic states I recently graduated with a degree in Computer science and I know plenty of C++.And I tried to read the original "Programming Role Playing Games with DirectX"(DierctX 8), I had many problems and I don't think I have learned anything.I think mainly cause I read through graphics, sound, input, and networking.  Before I ever sat down and tinkered with code.  Because i thought i could do that after the engines.  But im just confused now.  I understood it while reading it... but trying to put all that information together into a game .... lost.  I couldn't put that information together to write even a simple game.My question is... should i try to get the new version of the book updated for directX 9. Or is it ok for me to be learning directX 8?  Should I try another book if so which book? Or should I try this book again and if so can someone give me some suggestions?? so that i actually learn this time i read through it :-)I went to Barnes & Noble today but they had zero good books.  I don't want to buy one offline cause hey the ones at Barnes & Noble looked good till i opened them up. (one used basic, the other just used an engine and contained no C++ or directX really)I really am interested in learning how to make a roleplaying game, i understand it may not be my first one and I am ok with starting with tetris or whatnot.  I am just having problems finding a way to START learning :-(  Like I said at the start I know plenty of C++ but very little directX or ideas behind making a game.Thanks you in advance   
  Hi bud,I will try to offer some advice:1) Don't look to write a complete engine or a complete game on your own. Quite frankly there are so many reasons that it can end up not finished.2) Look to focus on a particular area of game programming, maybe animation with meshes or writing a GUI.3) I started learning DirectX from the tutorials in the SDK. I tinkered and tinkered with it until i figured what was going. I would suggest tearing apart the tutorials and ask questions, questions and more questions until you really know what is going.I think a good way of learning rendering is to start with 2D first, like a GUI or to begin with just bouncing a box around the screen.I hope that helps and i'll gladly answer any further questions.Dave   ;  I have had the 2nd edition of Role Playing Games with DX9 for about a year now. I have read it off and on maybe two times and repeating specific chapters again and again to try to get a hang of his book. His book is very complicated to understand if not extremely expierenced with directx. What I found that helps is when he talks about functions is to open the source code on the cd provided and go through it to see how he lays it out. As you go through the chapters he actually does go through his whole source he just never tell you exactly what source code to open. All his examples I guess are just based off the information provided. You can use that information to create your own engine. The chapter about his engine provided is decent though. Its a great starting engine and I don't know if your really ready to build your own engine. Only thing that you really should look up more on is meshes because his explaining leaves you with the question well why then? Take the examples slow and don't rush anything. I suggest reading every detail because if you miss something that could lead you to not understanding a whole function and why its there. Also a lot of the source code will need manual fixing in order for it to compile. Anyways I hope this helps.He doesnt seem to support his books anymore because I have emailed him constantly but if you need some help feel free to contact me on AIM:LedLoaf or Ledloaf@comcast.net   ;  Doesn't the author visit Gamedev? At least I thought he said that at the end of the book. Hello? CAN–ARE–YOU–THERE?   ;Quote:Original post by DigiDudeDoesn't the author visit Gamedev? At least I thought he said that at the end of the book. Hello? CAN–ARE–YOU–THERE?He seems to have disappeared. Even his website appears to be down.   ;  Yes, I have this exact book and bought it a couple of years ago as a primer to DirectX.  I was in the same position as you too, knowing C++ but no DirectX.I found just reading the book pointless.  While the parts of the code are explained fairly well (apart from the skinned mesh section), it is barely given any decent context so you can see WHY he is doing what he is doing.  The best way by far to deal with the book is to start coding and playing around with ideas.I found the coding style of the book a little backward to my way of thinking, so I began with the DX8 framework (straight from the SDK) and began cutting and pasting the book examples into it.  That way I was getting visual feedback on the bits I was interested in very quickly and could mess with the code to more meet with my style.Ontop of it all, game programming is no trivial task, so as Dave said, concentrate on one section (for me, it was model loading and texturing) and follow it through to completion.  You will learn a lot more doing than just reading.Good luck with it.Steele.   ;Quote:Original post by Thors1982I am just having problems finding a way to START learning :-(  Like I said at the start I know plenty of C++ but very little directX or ideas behind making a game.You have already started to learn! If you know C++, then that is *all* you need to start creating games. Who said you have to use DirectX to makes games?? Why not use the C++ console window to create a few, maybe even Win Forms?You can create very, very good games just using the console. Try making a pong clone, or a breakout clone. They are easy to do. The general rule of things is, if you can render a 'pixel' in the exact position you want, then you can make a game. For the console in C++, the function that allows you to do that is 'SetConsoleCursorPosition()'.There shouldn’t be any major hardship in designing Pong or Breakout. They are just like normal applications, except they have a big internal loop. Games are simply state machines that act upon the information they gather. This main loop will contain such things as Rendering the scene, clearing the screen, receiving user input, playing audio, checking for collisions and performing the game rules and AI.If you are stuck, here is my first ever game. It is pong in a console window made in C++, no DirectX, no OpenGL. Enjoy! Console Pong! [smile]   ;Quote:Original post by Thors1982My question is... should i try to get the new version of the book updated for directX 9. Or is it ok for me to be learning directX 8?  Should I try another book if so which book?Forget the book for now. I really recommend that you start off with some simpler projects, using 2D graphics. The SDL library is a decent place to start. Tetris is ok but really, start with just getting an image onto the screen. Often that is harder than you think. Then move it around with the cursor keys, then change that into a basic Pong game, etc. Incremental steps.I believe you need the basics of game programming down before you go delving into 3D. There's a lot of domain-specific information about games that tends to be underestimated by people who are good at C++ but who haven't written games before. You will also not get as much from the book unless you can compare the methods it uses with methods you have attempted to use. It has a lot of good information in it, but it really requires a bit of practical game programming experience first.;  I found this book the most helpful for learning DX:http://www.moon-labs.com/ml_book.htmThe second edition will be out any day now and uses shaders.http://www.moon-labs.com/ml_book2.htm   ;  A simpler library like SDL may help you out. Yes, generally speaking the big boys play on DX and/or OpenGL, but a more basic library will let you figure out how to structure a game without all the extra complexity muddling things up.My first games/engines (RPGs in the vien of final fantasy 3(us) for the SNES) were written entirely 100% in QuickBasic 4.5, then later using a basic Graphics library that is very similar to what SDL provides which was written is Assembler by someone else. On a 4x86 66mhz PC I easily acheived an SNES quality game using less than 256k of ram. Heck, if you're comfortable with programming in C or even one of the modern BASICs (I'd suggest freeBASIC) it may be a good idea to get the Object Oriented stuff out of the way too. Proceedural, non-OO languages seem to be a little more forgiving if you go down the wrong path and have to make non-minor changes to the codebase. Once you've got the floor-plan laid out in simple terms and the structure is solid, then you can move your stuff onto C++ and/or DirectX.The alternative/supplimentary route, is to get yourself comfortable with many aspects of DirectX with small, simple projects and by modifying the SDK samples as other's have suggested.Basically, the best advice I can give you is to keep your focus small. Tackling a new (and huge) API like DirectX, trying to make your first game, and trying to make said game in an object-oriented manner is more than most mere mortals can manage at one time. *NO ONE* knows what they are doing the first time they create a game. The structure will innevitably become messy and full of hacks and quick work-arounds, which is all part of the learning process. Be prepared to re-work your early designs, It'll probably take you 3-5 attempts before you get to something that works well enough and 7-10 attempts before you get to something that resembles a well structured game engine.   