I was just wondering, what are the knowledge requirements to start game development from scratch. I know general C++, is that enough (I also know a some very little windows api, but had problems while working with dialogs so I just dropped it :P)?
I was just wondering, what are the knowledge requirements to start game development from scratch. I know general C++, is that enough (I also know a some very little windows api, but had problems while working with dialogs so I just dropped it :P)?
0100001
It depends what you're going to use for game development,
You could use a Game Library (Allegro,SDL,ClanLIB), if that's the
case then the only thing you need to know is how to make
console apps.
If you're using Win32 API it gets more complicated, You'll need
to utilize more advanced things.
It all depends on how serious you are on Game Development,
Just a hobby? use a Game Library. A soon to become profession?
use Win32 API
Depends how much you know about C++... I know alittle about Win API also... and decided I'd had enough and now i've moved on to OpenGL.. seems pretty easy... NeHe tutorials are very good if your interested... if you understand classes/structs well and a little Win API openGL will seem rather easy... (though i knew 3D graphics well before hand which might have helped grasp some topics) most of openGL initialization crap is repetative.. really only have to write it once and just copy and paste the stuff.. maybe add alittle bit here and there... so you can just focus on the game development stuff..(the fun stuff)
personally i think OpenGL is 10 times easier than windows programming(applications)
Warning: be prepared for good ole' Vector math if you want to make 3D stuff
You should have enough experience with C++
For more information:
www.gametutorials.com
www.gamedev.net
http://nehe.gamedev.net
www.programmersheaven.com
www.google.com
www.gdse.com
www.makegames.com
Well, I wrote a 2D game, albeit a crappy one, without knowing any C++ (other than *VERY* basics like printf(), variable declaration, and simple things like returning values. It only took 6 days off and on to actually get to the point I'm at now, and along the way I learned how to use structs, classes, global variables, preprocessor directives, some pointers, and enough of the SDL library to get me though it with 2D graphics, stereo sound, and game pad/keyboard input.
If you know more than a grade 12 C++ joke class (which I took about 3 years ago or more, and therefore had to re-learn everything) could teach you, then you should probably be good to go.
I know my source is far from perfect, but some professional developers (I'm talking a couple guys who port games like Disciples 2 and Majesty to Linux) said it wasn't *that* bad.
I'm still learning, and moving on to vectors/lists, which I would recommend you learn BEFORE you start off to make a game that has something like, oh, bullets in it. Heh. I have been putting off making any progress on this game (which is complete, aside from the bullets) because I'm too lazy to learn lists or vectors.
Anyhow, I'm rambling again.
D. Olson
The Mandrake eXPerience
Battle Pong
IDE: kate 2.0
Compiler: gcc 3.2
Graphics/Input/Net: SDL 1.2.5 (pdf)
3D Audio: OpenAL (pdf)
I am a signature virus. Please add me to your signature so that I may multiply
Don't forget http://www.flipcode.com/Originally posted by codingmaster
You should have enough experience with C++
For more information:
www.gametutorials.com
www.gamedev.net
http://nehe.gamedev.net
www.programmersheaven.com
www.google.com
www.gdse.com
www.makegames.com
Naturally I didn't feel inspired enough to read all the links for you, since I already slaved away for long hours under a blistering sun pressing the search button after typing four whole words! - Quzah
You. Fetch me my copy of the Wall Street Journal. You two, fight to the death - Stewie
What are lists and vectors? Are you talking about linked lists? Or something completely different? I learned at school that a vector is velocity + direction. And i read in some newsgroup that says a vector is a 1D array.
A vector can be considered the equivilant to a point in 2D space..
POINT = (x, y);
VECTOR = (x, y, z);
An addition axis/coordinate for depth/distance so you can draw/animate in "3D"
you are confusing vectors with STL vectors.
A vector is a position. A STL vector is a one dimensional array with lots of functionality.
A vector is a combination of a direction and a distance. It says how far something moves in a specific direction. It is not a point in space, it is not an array (though that is a method to store information about an array), it is only a distance in a certain direction. This comes straight from my Physics course. As I best remember, a 'vector' in DOS programing proformed a similar function, by pointing to an interupt handler and such.
A point is a point is a point. A 3-d point merly has one more direction than a 2-d point. That is the only difference.
-a (mathmatical) vector is a magnitude and direction
-an STL vector is a dynamic data type used to hold information like an array but with no fixed size.