Tell me more ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Well, I want to learn game development, I've already know a little bit about xna, ogre and DX but, I want to choose one of them and stick with it. I'm not trying to make a "directx vs xna, ogre vs opengl, etc." thread. Some people told me that it's better to learn an engine like Ogre because you can develop games directly and you don't have to worry about the low level details, I know that. Other people told me that it's better to learn a low level api before learning something like Ogre because you will able to understand how it works. Is it valuable to have experience with Ogre or another engine but don't know anything about a low level api? What do you recommend me?

Thanks in advance.

share|improve this question
4  
Stack Exchange's Q&A style isn't a good fit for discussion-based questions, see the FAQ. There are merits to both sides. I would pick the one that interests me the most. Follow your passion: Games or Graphics? I hear that Gamedev.net is more receptive to discussions. – John McDonald Aug 30 '12 at 18:46
Well, I said: ' I'm not trying to make a 'directx vs xna, ogre vs opengl, etc. thread' (did you read it?)... I just want an advice... – German Aug 30 '12 at 18:54
3  
Advice is usually a discussion. Check the FAQ under what not to ask, there's a few that apply, each with links to more info. – John McDonald Aug 30 '12 at 18:56
2  
Pretty much. There may be the odd exception, but discussions aren't a good fit for Q&A. If you build up some rep, the folks in chat have been known to discuss various topics, and as I mentioned earlier, gamedev.net forums may be a good place for this sort of debate. – John McDonald Aug 30 '12 at 19:40
2  
You can tell by the answers, it's a discussion. – Byte56 Aug 30 '12 at 20:26
show 1 more comment

closed as not constructive by John McDonald, Byte56, Tetrad Aug 30 '12 at 23:46

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

2 Answers

In my view you always have to worry about low level details, the only difference is if you care or not.

Let me tell you this, there are many people and many bad coders that still pretends to achieve C++ performances with Java without knowing the internal mechanism of a language or a platform; i'm not saying that Java is bad, but if you want to code less and make a small simple game probably Java is even better than C++ for you, but you can do things in C++ that simply you can't do in Java, and viceversa, and many people still think that all the programming languages are on the same level and they are just different dialects of the same thing. Same concepts applies to low level vs high level most of the times.

You want to use Ogre, that's fine, but you are accepting a deal, it's always a deal no matter what, if you care about low level details your deal is that you are doing all the hard work but the code that you produce is yours, with Ogre the deal is that others will do a big part of what you should do but you are subject to their timeline and schedule, and you do not own any part of the code, so you are subject to the license that they choose too. I would also like to add the fact that what you learn with a third party tool is most likely useful only until that tool is around and in active development.

If you have serious intentions and you really want to learn the internals, you will code your own stuff, if the developement of game is just an optional thing in your career you will use thirdy part tools.

Consider what your intentions are and make your choice.

share|improve this answer
Thank you very much! Your point of view is very interesting when you say 'you always have to warry about low level details' – German Aug 30 '12 at 19:02

This is definitely a matter of personal preference; neither option is universally correct. A working knowledge of high-level engines like Ogre is necessary for low-level programmers, so they make intelligent decisions about designing their own engines. Likewise, a working knowledge of low-level APIs is necessary for high-level gameplay programmers, so they know what engine features are likely to be "expensive" when used at runtime.

Ideally, you want to study both topics, and then focus on whichever interests you more in the long term.

share|improve this answer
So, what should I learn first? – German Aug 30 '12 at 19:06
2  
You really want a firm, decisive, unambiguous answer, don't you? :) As people keep telling you here: it doesn't matter! Which excites you more? Learn that one first! – postgoodism Aug 30 '12 at 19:10
Hahaha, no, I thought that, maybe, it's more suitable to learn low level first and then high level or viceversa. – German Aug 30 '12 at 19:17
Whatever interests you. You can go either way. – John McDonald Aug 30 '12 at 19:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.