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

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

I've been meaning to transition from 2D games to 3D games for some time now. I've most experience in RTS games so I will be doing that.

On one hand there's a lightweight renderer; Irrlicht. However considering it's a renderer and not a game engine(only basic collision, etc..) , I would have to write most of the things myself.

On the other hand there's a full blown engine like Cryengine3 for example. Although it is mostly complete, I would need to first understand the various part of the engine and it's implementation enough to be able to try and transform it into an RTS engine.

My question is, which would be easier for me to transition to?

share|improve this question
What is your goal? Do you want to make a complete game, or just fiddle around? – TJHeuvel Sep 14 '11 at 8:55
-1 because we really can't tell which one would be easier for you (we don't know your strengths and weaknesses). Also this question is kinda localized since it will only benefit you. Generally every new technology requires a learning effort.. no matter if you choose Irrlicht or something like Cry-Engine. – bummzack Sep 14 '11 at 8:56
I'm experienced in C++ and Java. Although I've yet to make any games in C++ (using Slick2D with Java), I've had experience in OpenGL. I want to make a whole game, but I'm going to take baby steps of course. (First start fiddling then start something serious) As for my strength, I've already said that I'm experienced in making 2D RTS games.Almost all questions I searched here are about someone who's completely new to game development looking for an engine.. Can you please be more specific about what you mean in my strength and weaknesses? – patokun Sep 14 '11 at 8:57

It depends on what you personally want to get out of the transition.

If you just want to make games, get the grasp of 3D you could use Unity3D, it's simple, C# based, and you can get results quickly.

If you feel that you'd prefer to stay with C++ (which could be better on a professional level) you could use CryEngine, though from what I've heard it's rather badly documented. Other game engines such as UDK could be a good way to work on something powerful yet relatively easy to use (though badly documented also).

Of course your last solution could be a good idea, using an external lib for a renderer. You could either program the collisions yourself or integrate another library, like PhysX to do your collision checking for you.

In my experience, the next-best thing to doing everything yourself is to integrate different libraries that you have chosen for their different capabilities. If you read up on these different libs, then you'll have a better grasp of what you need in your game and which lib will best suit your needs.

The last solution is the one I would go for; if after all you want to create your own engine, you'll have a better knowledge than if you just used something out-of-the-box.

share|improve this answer
Thank you for your reply. UDK and Unity are out of the question because they resort mostly to scripting rather than actual modification of the engine. I've heard that Cryengine3 comes as C++ so, as you said, that's a big plus. I'm preferring the second solution as well, but my fear is wasting too much time building an engine not a game. I'm not used to integrating libraries into my engines (preferred to make my own functions since I was learning and 2D implementations are much less complex than 3D ones); so I don't quite know how much time it would actually cut back? – patokun Sep 14 '11 at 9:08
@patokun "UDK and Unity are out of the question because they resort mostly to scripting rather than actual modification of the engine." You'd be surprised how much you can actually accomplish with the "scripting" of both of those engines. What are your specific goals? – Tetrad Sep 14 '11 at 16:06
I know what could be done. I've seen the showcases and I'm awed by them. (The Ball in particular) But I feel like modding an engine through scripting alone is just complicating things unnecessarily) My goals are learning about 3D engine architecture, however I would also like to work on a 3D game in parallel (learn by doing) – patokun Sep 14 '11 at 16:35
@patokun If your ultimate goal is to learn about 3D, you will learn surprising amounts from just Unity or the UDK. It's obviously easier to stay motivated when you can get fast results, making an engine via integrating libs is difficult and will be a slow starter. – Jonathan Connell Sep 15 '11 at 9:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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