New to Game Programming

Started by
4 comments, last by winston2020 16 years, 1 month ago
Hi Everyone! Well, I've been trying to get into the game design world for a while now (just a hobbyist). I tried a couple of managed direct X programming languages, but I decided they were either: A) Too Hard to Distribute or B) Not Flexible enough. So, it was learn Direct X or OpenGL. I'm strongly leaning towards OpenGL. I'd just like to ask someone who knows what they're talking about to explain the ups and downs of each one. Also, I've been doing some tutorials with openGL and it seems like manipulating 3d models, and animation isn't really built in; however there are things like Open Inventor or Open Scene Graph... can someone tell me a bit about those? Any Thoughts or general advice for a newbie?
Advertisement
We generally frown on 'DirectX vs OpenGL' threads here, because they don't really shed much light on the matter and tend to lead to arguments. Could you explain what you mean by hard to distribute and not flexible enough? I think many people do just fine with managed DirectX, and I've heard good things about SlimDX recently. As you've noticed, OpenGL doesn't come with anything but the basic rendering capability, so you'd need extra libraries to work with that, some of which may require certain methods of distribution due to the license, others which you can just compile in. But the end results can be identical in all cases.

In fact, many people don't use either of those, but instead use a higher level system - 2 that come to mind are Irrlicht or OGRE, but there are many others. These let you spend more time on your game and less time on worrying about shading triangles, though that may not be what you want!
Hm, I too am wondering what you mean by not flexible enough...considering how easy it is to do certain things in graphics these days (compared to before XD), excuse me for being skeptical ;)

Meanwhile, to semi-answer one of your points: a Scene graph is a way of organising (logically) the relationships between items in 3-space. One particular kind of implementation could be envisaged as following a tree data structure model. Given some node A, it might have several child nodes B, C & D. If you compute a transform for A (perhaps you want to move the things that A refers to 6 units along the X axis), it may be that you want to pass on this translation to A's children.

If you're not understanding where I'm coming from, I think perhaps you'll want to read up a bit on basic data structures and programming before leaping into the pool without knowing how to swim (so to speak).

Either way, hope that helps a bit :)

~Shiny
------------'C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg.' -Bjarne Stroustrup
Quote:Original post by Kylotan
We generally frown on 'DirectX vs OpenGL' threads here, because they don't really shed much light on the matter and tend to lead to arguments. Could you explain what you mean by hard to distribute and not flexible enough? I think many people do just fine with managed DirectX, and I've heard good things about SlimDX recently. As you've noticed, OpenGL doesn't come with anything but the basic rendering capability, so you'd need extra libraries to work with that, some of which may require certain methods of distribution due to the license, others which you can just compile in. But the end results can be identical in all cases.

In fact, many people don't use either of those, but instead use a higher level system - 2 that come to mind are Irrlicht or OGRE, but there are many others. These let you spend more time on your game and less time on worrying about shading triangles, though that may not be what you want!


What I meant by hard to distribute was specifically, the XNA Game Studio. It really doesn't want to work without the SDK installed (even though from what I've read it's supposed to).

By not flexible I meant things like Dark Basic, where turning on anti-aliasing isn't actually possible.

I'm going to read up on slimDX and OGRE. Thanks :D

I do not claim to be an expert on either DirectX or OpenGL, but i've used them both and in my experience I have never seen it as an "Either Or" Situation. Fact of the matter is, each has it's own lane to fly in.
It's never been a question of "Which should I learn" as it was "Which should I use in this situation to accomplish this specific goal?". I advice you to learn the specifics of your "Programming", or "Program", and use what is best for suiting that particular need. Learning both, all-be it yes, can consume time, can have benefits in certain situations , dependinig upon what they are.
Just Plain Looney-----------------
Quote:Original post by Casino
I do not claim to be an expert on either DirectX or OpenGL, but i've used them both and in my experience I have never seen it as an "Either Or" Situation. Fact of the matter is, each has it's own lane to fly in.
It's never been a question of "Which should I learn" as it was "Which should I use in this situation to accomplish this specific goal?". I advice you to learn the specifics of your "Programming", or "Program", and use what is best for suiting that particular need. Learning both, all-be it yes, can consume time, can have benefits in certain situations , dependinig upon what they are.


Thank you very much. I've come to the same conclusion. :D

This topic is closed to new replies.

Advertisement