Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hi question for the experience 3d game developers , im long time programmer (c++/java) that after 15 years like to get into 3d gaming , after some net research i saw that the trend is mostly with ogre as 3d engine . what do you think ? for mac/linux/win

share|improve this question

closed as not constructive by Byte56, Sean Middleditch, bummzack, Josh Petrie, Tetrad Feb 13 '13 at 21:54

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 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, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

It doesn't really make a difference whether you use Ogre or jMonkeyEngine or whatever. However, have you any gamedev experience before? If not, I would strongly advise against going straight into 3D and take a detour via 2D. – The Communist Duck Jan 3 '11 at 11:47
the case is that i do know how to model in 3d ( was hard core 3dsmax user 10 years ago ) – user3689 Jan 3 '11 at 12:56
If you still are new to game development, it probably would still be a much better idea to start with 2D. You could always screenshot the models and 2D-ify them. – The Communist Duck Jan 3 '11 at 13:34
up vote 4 down vote accepted

It depends on whether you are interested in programming lower level game system frameworks or higher level game design and behavior.

If you start with Ogre you will initially be programming the framework and working your way up to the higher level stuff. If you start with say Unity, the framework will all be setup for you.

For example if what you really want to program is an idea for an AI or NPC behavior, you're better off with Unity as you can get right to what you are interested in.

share|improve this answer

Keep in mind that Ogre3d is a Graphical engine and it will not allow you to build a game only using it, you will need to implement all the other subsystems or integrate with other engines, like physics, audio, etc.

If you have no experience with game programming, I suggest as a first project that you use Unity3d or UDK. If you really want to use C++ instead of a scripting language, you can try to create a mod for a game, one good option is any game from Valve (like half life).

share|improve this answer
its all have bad licensing , what if i like to sell the game? after i learned the engine – user3689 Jan 3 '11 at 21:22
as far I know Ogre is MIT, so no problem about that. Unity and UDK offers a indie license that allows you some freedom until you make some money and (specially with unity) after you go beyond their money limits, buying a license will not be a issue. – bcsanches Jan 4 '11 at 16:08
You're not going to sell your first attempt to develop a 3D game. – jhocking Dec 20 '12 at 23:18
@user3689 A game engine requires tons of things, Ogre3D is just a graphics engine. Even if UDK is not what you'll want to end up with 1 year from now, it still is going to gently show you what's needed to develop a 3D title. It's the fastest way of learning things; by doing. With Ogre3D, even if you're a guru, you'll get bogged down in details and end up with a mess because you didn't know what you'll need when designing the engine in the first place. – dreta Dec 21 '12 at 2:07

You do not need a full-blown graphics engine at this point. I suggest starting with OpenGL and writing a little renderer yourself. It's actually pretty easy to get simple scenes on screen, it's rewarding and you will learn far more about graphics programming than from using Ogre or any other 3D engine. You can also refer to one of the thousand books on the subject during the process. With any engine you are mostly at the mercy of documentation writers.

Start simple though, graphics programming can be a really challenging task, but IMO is one of the most rewarding types of programming.

share|improve this answer
Well, if you just want to start programming a game, starting with OpenGL is way low-level. Implementing a scene-graph, asset-managers and loaders for textures and 3D geometry are not trivial tasks and you're probably better off with an engine that covers that already. Sure, these things are great for learning how stuff works under the hood but not necessarily the place to jump in. Also if you choose a good framework, you can use the same libraries to build more complex games later on, while your OpenGL code is most likely not reusable unless you write your own engine... – bummzack Jan 3 '11 at 18:07
no way , man im to much years in this to know not to invite the wheel – user3689 Jan 3 '11 at 21:22
bummzack, that is the way graphics programming is taught at universities. What I wrote was more or less a major part of my syllabus when I started doing games development. OP, if you are really years into this, you'd know there is a subtle difference between reinventing the wheel and learning the basics. – Alexander Dzhoganov Jan 4 '11 at 9:33
Up voted. I completely agree that the correct way to learn game programming is to start with OpenGL, a small scene graph, asset manager, etc. and work from there. Honestly, if you can't build a small 2D engine or simple 3D engine from OpenGL, you probably won't be able to handle Ogre3D. They're both complex, it's just a different level of complexity. Understanding how an engine works at its core, or a renderer, will benefit you in the long run. You've spent 15 years working with C++, why rush learning game programming? – A.A. Grapsas Jan 5 '11 at 14:51
@A.A.Grapsas: The correct way to learn graphics would be to start with OpenGL. That is definitely not the way to go to start with game programming. When it comes to game programming, you'd want to use high-level programming language and 2D games. Ogre3D is good as a starting point for graphics, IF they know something about graphics. The quote of spending 15 years working with C++ and why the rush... I would say he's too late :P ... if he doesn't start now, when would he (assuming he has always wanted to do game programming). – Vite Falcon Dec 20 '12 at 22:54

It depends on how much you want to customize the final product.

Using Unity, or some other pre-packaged solution, will let you get there more quickly. The drawback is that there are a lot of design decisions already made for you and they cannot be easily changed.

If you're willing to work hard and spend a lot of time to get it exactly how you want it then rolling your own is the way to go.

Good luck!

share|improve this answer

I think you should try developing something small in Unity and then in Ogre and see which works better for you. Set yourself a small, specific project to do (since you're totally new to game programming, just make a cube on a plane ground that moves around) and do it in both development tools. Those are two of the better indie game development tools available and they take very different approaches to how development is done, so this'll tell you pretty quickly what you will be most successful learning game dev using and thus where you should focus your energy.

Ultimately I think it's pretty misguided to ask others to decide this for you, so here's how to evaluate engines and decide for yourself.

share|improve this answer

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