I would like to start programming 3d games... but what do I need, and where do I start?
Thank you.
I would like to start programming 3d games... but what do I need, and where do I start?
Thank you.
"I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe
http://www.Bloodware.net - Developing free software for the community.
wow... it really all depends on what your skill level is and what you want to do.
if you would like to learn opengl, nehe is a great source
http://nehe.gamedev.net
"uh uh uh, you didn't say the magic word"
-Jurassic Park
define skill level
"I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe
http://www.Bloodware.net - Developing free software for the community.
How long have you been programming, what language(s) do you know, are you atleast decent in that/those language(s)Originally Posted by Devil Panther
umm, if you want to get into 3D stuff it's really really difficult, no other way to put it. Start off small by reading tutorials, and try to enjoy learning about 3D mathematics. If you don't enjoy learning, and you just want to make a 3D game, chances are slim that you'll get good. So get to learn to love math and OpenGL
about the skill level... I believe my skill level is pretty good.
also, I don't really enjoy math, but I'm ready to learn, if that what
it takes to work with 3d, and OpenGL.
Thank you for you help.
"I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe
http://www.Bloodware.net - Developing free software for the community.
there's no way to know until you just jump into it. I can't really explain what its actually like doing 3d programmign stuff
can you please give me a clue, on how difficult the math is, and what is the best language to develope such a projects?
"I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe
http://www.Bloodware.net - Developing free software for the community.
Master vectors and matrices. Linear algebra is very important in 3D games.how difficult the math is
C or C++. Most tutorials are written for C/C++. Most commercial games are also in C/C++.what is the best language to develope such a projects?
what about modding a game? its the 'shallow' end of game programming IMO. half lifes SDK is quite easy to work with (just don't do anything worthwhile, seeing as HL2 will be out soonish)
But my question is what is better to deal with 3d programming, c or c++?
"I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe
http://www.Bloodware.net - Developing free software for the community.
that's only really an opinion. I use a C++ compiler, but my code is very very close to being C. I don't use most of the features of C++.
and about the math, like the other dude said, vectors and matrices are heavily used. linear algebra? not really, but okay (I've programmed an entire 3D engine, and so far I haven't used any linear algebra, unless I have without knowing it).
but even something 'easy' such as collision detection is very difficult to do, and unless you're pretty motivated it might not happen. As I said, just try jumping in it, and try to enjoy learning. I still say that if you don't enjoy learning and are not fascinated with the 3d stuff then you might not stick with it as long.
Good luck.
My advice is to start adding books to your library. I just looked at mine the other day and I have many many books related to C/C++, programming, assembly, graphics, Direct3D, operating system design/development, etc. Plus I have 3 huge 3 ring binders chocked full of info I've gathered from the net and also I have 3 directories of PDF books, docs, tech articles, white papers, etc., etc.
You can never have too much information.
Go to www.gamedev.net and look at their books section. It's a good place to start.
Here are some books I've read and can readily recommend:
How to Program Your Own Flight Simulator in C++ by Michael Radtke, Chris Lampton, and foreword by Andre Lamothe.
I had no idea that Andre took part in this book when I bought it and really did not know who Andre was at the time. This is a very old book, once titled Flights of Fantasy, but it is an invaluable resource for 3D graphics. It completely explains matrix operations and shows how to create your own transformations and your own rendering pipeline. While his polygon rasterization methods are quite slow and outdated, I managed to update it with a new algo and the thing simply flew. Very good book for learning the basics. In my opinion you should have an idea of what is going on under the hood of all those DirectX API functions.
This will explain 3D graphics in great detail. It is on www.amazon.com but currently out of print. If you can, get a copy of this book - the DOS portion does not apply anymore but the graphics and matrix portions do. This book is literally torn to shreds from being used so much. The matrix sections are falling out of the book - literally.
Tricks of the Windows Game Programming Gurus (1st edition) by Andre Lamothe.
This book focuses on 2D but gives a very good in-depth look at DirectX and most, if not all, of it's components and covers rasterization of poygons as well as texturing. A very good book to get if you want to know what will be taking place later as you move to Direct3D.
Introduction to 3D Game Programming with DirectX 9.0 by Frank D. Luna.
A very good book on introducing you to Direct3D. It explains a lot of interesting things like 3D math/vectors/matrices (a whole chapter devoted to it), lighting - equations to create your own and how to use the D3D lights, color, vertex/pixel shaders, skyboxes (brief blurb about it in a chapter - with source), texturing/multi-texturing/texture blending, basic terrain rendering, meshes, progressive meshes, stencil buffers, mirrors, cartoon rendering (cell shading), and the list goes on. Very good book.
Special Effects Game Programming with DirectX by Mason McCuskey, edited by Andre Lamothe.
Covers many, many special effects - does a bit too much rehashing of basic Direct3D and Windows API but overall it is a very good book - covers DirectAudio, DirectShow, etc. Mainly it is a collection of special effects articles and how to accomplish them. It is DirectX centered of course but because the algos behind the effects are given they could easily be ported to another API like OpenGL.
I would also recommend any books about the C++ STL, 3D mathematics, computer graphics, sound/audio programming, character animation/modeling, data structures, algorithms, and in general any good book about C and/or C++.
And there are tons more that I have and tons more that I want.
The key thing in programming games is it takes a lot of passion, desire, and persistence. Problems abound in game programming and if you do not like solving problems then you will not like it. If you like solving problems and can think critically and logically, the math will come naturally.
Last edited by VirtualAce; 04-09-2004 at 12:05 AM.
thank you all for your help... I now know what I need to learn and where to learn it from.
Just one last question. I always hear this: game engine... what does it mean, an engine?
thanks again
Last edited by Devil Panther; 04-09-2004 at 04:28 AM.
"I don't suffer from insanity but enjoy every minute of it" - Edgar Allen Poe
http://www.Bloodware.net - Developing free software for the community.
erm, vectors and matrices are part of linear algebra. So i guess you have used it without knowing it!Originally Posted by Silvercord