Unity vs C++/C# OpenGL

Started by
4 comments, last by kburkhart84 11 years, 4 months ago
I need some advice. I have learned c++ and done SFML. And I want to make some 3D games! I am now looking at two very different options. Unity or OpenGL. While liking what Unity I fret about paying (If I wish to publish.) And on the flip side of the coin I fear about OpenGL being hard to implement. Can the community lay out their experience and their choice and why you use it? I have tried both and still can't make up my mind.
Advertisement
I'd say give OpenGL a try for a few weeks/months and if you're not liking your progress after awhile then give Unity a chance.

C++: A Dialog | C++0x Features: Part1 (lambdas, auto, static_assert) , Part 2 (rvalue references) , Part 3 (decltype) | Write Games | Fix Your Timestep!

What exactly are you trying to accomplish?
Want to create a game use Unity.
Want to understanding how a game works use OpenGL.

The difference, Unity is a game engine which is designed to help and create full fledged games, whereas OpenGL is a graphics API which is only able to do simple graphics and also complex which requires advance knowledge and most likely a 3rd party program. OpenGL is low level functionality. If you want to learn graphics OpenGL, game making use Unity.
You need to know what you are doing in order to make cool games. To be able to use plain OpenGL you need to know what you are doing.
That yelds to the conclusion that if you are able to make cool games, most probably you know how to program them in low level too. So, the question is "What should you use - OpenGL or Unity" if you are proficient in both. I would go for the first, especially if I do not have a deadline or am not in a hurry.
What everyone is saying, asses what your needs are.

Also, asses what your cost is. With Unity you are able to One click publish minutes after you install it. With raw code you have to essentially create a whole framework, image loading, game object management, asset compression, audio, etc... How much time will you spend getting your framework up and running, and how much is that time worth?

Then there is the pesky legal issues to consider. Consider if you want to play a compressed movie file... Chances are you end up paying MPEG LA to liscence the tech behind it, but you're still at risk of someone with a patent comming after you regardless. (I was trying to get at something like this with that last statement: http://www.altdevblogaday.com/2012/05/20/playing-with-video/ but completely failed.)
If you want to make games, I recommend Unity over vanilla OpenGL, although if you want to make 2d games you are better off with Game Maker, which is similar to Unity but for 2d games.

As mentioned above, OpenGL doesn't load models for you, or even animate them. It knows nothing about sounds or music, or physics, or much of anything except rendering, and even then only at a low level. "Real Engines" tend to provide all of these things for you, even though under the hood they tend to use OpenGL(or D3D when on windows). They also include most/all those things that vanilla OpenGL alone doesn't provide.

Also, Unity's free version allows commercial use, so that shouldn't be an issue. And by the time you make enough money within a year to no longer be able to use the free license, you should easily have enough to purchase the full version.


This topic is closed to new replies.

Advertisement