C++ Alternative to Unity?

Started by
24 comments, last by Serapth 11 years, 1 month ago
Hello,

Today, I ,for some wierd reason, was all excited and gun-ho to start researching and programming with a game engine. The first game engine that popped into my head was Unity because, well...... C'mon its pretty well known. Anyways I go to google type in Unity and click on the website and I get suddenly amazed at what I see! Theres all this stuff that means nothing to me!! But it looks high-tech and smart!!! Anyways, 5 minutes later I start to question whether or not if I should go and download it or see what languages it can be written in. I obviously go with the smarter of the two decisions and went and checked the languages. Good thing I did that because I found that it doesn't carry C++! I was pretty sad after that, so I did a little background checks to see if there was a plugin or anything of the type and found that it would be somewhat difficult to do and it just would not be the same. (Next thought that came into my head.) "Maybe I should go to GameDev and see if they have any suggestions on what I can do now that I know what I can't do!!".
Thats where you guys come in. I haven't done any work at all with game engines so I have no idea what to search for or even know what to type into google (hahaha).

What do you guys suggest if the requirements are:

1. Has to be programmable in C++.
2. Doesn't matter the difficulty.
3. Has to have at least the very basics of a game engine (I don't know everything that is included in game engines soo......)
4. Oh, and it has to be free. [I'm not made of money here;)]


Thats it for the requirements and thanks in advance!!

~Saint Squireen
Advertisement
Maybe the Source SDK? However, for commercial use it's going to be a lot more expensive than Unity.
What about for non-commercial use? Like for practice?

~Saint Squireen
It's free to all Steam users. You only need to license it if you want to sell your game.
try learning c# in unity game perspective: full series excellently made. here: http://www.gamertogamedeveloper.com/ dont worry its not one of those tutorials who just skip half of the stuff, he does it properly and shows you how to use it in the game, my best recommendation.

or just use Ogre3D: free and uses cpp thats all i know.
I would strongly recommend not using Ogre3D, or at least if you do, be aware that it has very inefficient runtime performance (bad rendering API usage, overly cumbersome OO design) and with other engines you could get 3-5 times (rough guess) more drawcalls per frame while maintaining a reasonable framerate. This inefficiency is something that Ogre3D contributors themselves also recognize: http://www.ogre3d.or...=69381&start=29 . Plus, after Sinbad leaving, the leadership and direction of the project are questionable.

Some others you could look into: Panda3D, gameplay, PixelLight, SoftPixel Engine, Urho3D (self-advertisement.)

(for more, you can search at devmaster.net; choose C++ in Languages Supported field in the search options, and license options as you wish)
Thanks guys:D

~Saint Squireen
Firstly, “No to Ogre 3D”. They’ve skipped the very basics when it comes to performance in rendering, and if they managed to fail on that part who knows how far else they have managed to fail.

Secondly, it is “gung-ho”, not “gun-ho”.

Thirdly your #1 and #2 contradict each other.
It must be C++, but the difficulty doesn’t matter?
Firstly, C++ is one of the most difficult languages to learn, yet if you really considered that difficulty does not matter you would not shy away from C#, which is over twice as easy to learn.

Fourthly, Unity 3D doesn’t “carry” C++? Do you understand the whole point behind scripted languages?
Scripts are simplified versions of programming languages, so that designers and other non-programmers—or programmers with extremely little skill—can work with them.
C++ is not going to be part of any scripting package, as it would defy the whole point of a scripting language.

In order to use C++ with any engine on this planet, you will have to buy a full-sized professional company license, and that is always going to cost far more than you can afford.


What you seek does not exist.
Although I have not heard from the Source SDK in a long time. It was mentioned before and might be exceptional.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

I know you're not looking to spend money but C4 Game Engine is very C++ oriented, and it comes with demo games that you can run or even modify. Standard Edition is only $250 unless you plan on making PS3 games then Standard Edition is all you need, you can even sale the game after. Just opening up another suggestion.

I have used Ogre3D not a big fan of it either but its C++ oriented as well only good thing about it is that it's free.


Scripts are simplified versions of programming languages, so that designers are other non-programmers—or programmers with extremely little skill—can work with them.

Scripting also saves on compile time, normally saving the programmer time in the long run. Also sometimes you want to make a minor change and instead of compiling the whole program again you can modify the script


In order to use C++ with any engine on this planet, you will have to buy a full-sized professional company license, and that is always going to cost far more than you can afford.

Ogre3D uses C++ and its free, looks like we are from different planets? Plus I just suggested C4 Game Engine that also uses C++ heavily and the cost is only $250 and comes with source(I don't really see this being a wallet breaker) plus you get unlimited updates to the engine.
Scripts are simplified versions of programming languages, so that designers and other non-programmers—or programmers with extremely little skill—can work with them.
This is overstepping the mark a bit, I think.

"Scripting" languages are usually used over C++ for gameplay code because it can more productive to write in these "simpler" languages.
This isn't true for all teams -- if your team are experts in C++ and aren't very familiar with other languages, then it would make perfect sense to write your "scripts" in C++, and this is often done. Other teams use even older languages, like LISP for this purpose. Quake even used a C-derivative for it's "scripting language". I've seen other games that had made their own scripting language which actually resembled a high-level assembler!

Also, this isn't to accommodate "programmers with extremely little skill" -- but different languages focus on different skills.
e.g. C is good for when you want to think about memory being a big blob of bytes, but comparatively sucks if you're thinking in higher level algorithmic terms, like using list comprehensions. On the other hand, a "simpler" language like Python allows these more advanced ideas to be expressed succinctly. You still wouldn't give Python to an extremely unskilled programmer and trust them not to ruin your project!!
Generally the guys writing the gameplay code in the "scripting" language will just have a different skill-set to the guys writing the engine in C++. Both types of programming require different types of creativity, but both require the same master-craftsmanship in order to create a quality product.
e.g. at my last job, we decided to write the game in Lua (~a dozen staff) and the engine in C++ (~3 staff). All of the programmers are experienced, talented people, who could code perfectly fine in C/C++ if we wanted them to. Some of them are veterans who've shipped dozens of console games. Choosing Lua had absolutely nothing to do with making the code accessible to unskilled programmers, it was only about choosing the language that best fit the task at hand.
Non-programmers, such as designers, never wrote Lua code -- the only code files they edited were Lua files containing only tables, where it functions as a DDL, not a programming language.
In order to use C++ with any engine on this planet, you will have to buy a full-sized professional company license
As mentioned above, the Source engine is free to use (not free to sell though) and has a C++ API. There's also all of the ID/Quake engines (free to use, in C/C++). Other cheap engines like C4 and Torque do exist though, which provide full C++ source.
Ogre3D uses C++ and its free
N.B. Ogre3D isn't a game engine -- it's only a graphics engine -- but yes, there's plenty of game engines built upon it.

Firstly, C++ is one of the most difficult languages to learn, yet if you really considered that difficulty does not matter you would not shy away from C#, which is over twice as easy to learn.
This is a good point -- the OP is a beginner, and C++ is a very brutal language. It is probably much easier to learn C++ if you're already a competent game programmer in another language first -- so consider trying a C# engine!
I did personally learn C++ by diving head-first into the GoldSrc engine -- this was a very slow, frustrating, painful experience, and I did write a lot of horrible, buggy code... However, 5 years later I was a competent C++ game programmer, who knew the inner C++ workings all of the many, many systems that went into creating Half-Life 1 wink.png

This topic is closed to new replies.

Advertisement