Hi, I am a college student. I''ve taken C,C++,java,VB. I understand OOP and OOD pretty well. I was wondering what do I need to get into 3D game programming. I have programmed 3 or 4 cheesy 2D games in the past in C and VB. I visited the books section here at GD.net but was wondering what people here suggested to get started. I plan on buying tricks of the game programming gurus for windows... is this a good first choice? any others? Is learning direct3D the best way to go? Do I need any special game development software or will a borland c++ compiler do? Any tips will be greatly appreciated.
- Free Your Mind -
I''d suggest reading Tricks of the 3D Windows Game Programming Gurus right after you''re done with TWGPG and you probably want to use DX8 with DGraphics. I''d go this route because you''re learning anyway. Why not learn the new thing instead of learning the older D3D? Just my thoughts. I think most will probably agree with me on this. Oh, you might need a 3D modeler if you want to get into this stuff really deep. You can get free ones all over the internet - blender3d.com, google: milkshape 3d, 3d canvas at webattack.com, etc.
Don''t forget to focus on your math, take all the math courses you can cram in, cause 3D graphics are math-intensive. Tricks of the 3D Gurus will be out in January (at least thats what Amazon said last I checked) and I would recommend it as well, only cause I''ve read two of Andre''s other books and they are all of great quality.
You''ve already got experience creating games (even if they are as cheesy as ya say) and that''s a great step forward already... unlike the masses that haven''t even created their first "Hello World" program and want to start off building the worlds greatest 3D shooter! Hehehe So, you''re off to the right start.
Now this is the order of things that I suggest. Many may disagree but this is just my opinion so take it with a grain of salt =) I''d say to start off getting comfortable with Win32 and DirectX in general. It may be a good idea to get your hands on MS Visual C++ 6 since its the latest and seems to be very widely used. From there, try to create some projects that will give you practice using windows messages, the system clock and if you really want to kick arse, multithreading.
Next, nail down some DirectX... but I REALLY don''t advice going for the gusto with Direct3D. Direct3D (or DirectGraphics) is usually pretty intimidating for most newcomers. Try out some simpler DirectX API''s like DirectInput (mouse, KB, joystick), DirectSound or even the older DirectDraw which is the old way of handling 2D graphics. I say start with these because they are simpler and will give you a good feel for the DirectX system. When you''re comfortable, dive into DirectGraphics and possibly convert your old 2D games to 3D (this is fun, I''ve tried this!)
Now, as you get into all this, you''ll raise a TON of questions and this is where I suggest you buy a book. Anything written by LaMothe is a must buy... his code is almost as straightforward as his explainations. Another I say hold off on buying game programming books is that all the previous stuff will help you to find your style and rather than just copying code from the book you''ll be more inclined to write it yourself (which most authors don''t use the MOST efficient code for their books).
As for learning DirectX and Win32... I''ve bought books and they were all a waste of money (especially since they become outdated right after you buy them). Go to http://msdn.microsoft.com and hit the Products and Technologies menu. This along with the docs that come with VC6 have been more than enuff for me...
Anywayz, hope this helps! =)
Many of the truths we cling to depend greatly on our own point of view