Deciding on a Game Engine?

Started by
7 comments, last by Dawoodoz 9 years, 5 months ago

Alright, I know this is probably going to come across as horrible for asking something that's been asked before 100s of times and recently a thread was created about engines to use for indie developers. I'm just really REALLY having a tough time figuring out what to go for.

To start off, I've worked with the Unity engine, UDK, and Source. I've looked around at other engines, what they're capable of, what I'm looking for in them specifically, and if I can even actually use it.

So far the biggest challenge I've come across isn't so much a technical issue, but a licensing one. Unity is free for both commercial and non-commercial use, but comes at the cost of being limited with what you can actually do with it. Since the pro version is essentially out of the question for me, I'm limited to using its free version. It is a wonderful engine in that while limited it's incredibly flexible, and cross platform. Though it still lacks dynamic lighting, video playback, and a load of other features.

With Unreal 4 having been released, I was very excited that it would be out, support Linux\more platforms, and be all around better, but it requires a subscription... UDK is an absolute powerhouse, and has an excellent editor and interface. However, UDK is only UE3, doesn't have Linux support, and thus dwindles my interest.

Source... it's cross platform, it works, but license fees... Bugs... built on an ancient engine... Enough said... Sadly it's likely the engine I have the most experiences with, and I like it for having programs with their own set of functions, and not that whole all in one type deal.

I kind of would like to go a homebrew engine route as then I'd be limited purely by the libraries I use, and I'd learn a lot along the way, like how I'd much rather have a big budget engine. XD

I had a look at CryEngine 3, but, well, licensing! I was kind of interested in testing out the Blender game engine as I'm familiar with it as a model editor, however, I'd need to learn Python and it doesn't seem like a well fledged engine, nor do I know its potential licensing debacle. Really it seems like my own best bet is Unity, but is that really it? I've looked at other engines, but it seems like everywhere I look there's always a wall somewhere whether it be license or limitation.

I apologize for the multi-paragraph essay, but I'm just banging my head against the wall. All I want is a simple flexible engine that's cross platform, that isn't binding or limiting. That's probably asking way too much, but I figured I'd give it a shot!

Advertisement

Almost all of us have this conundrum at some point.

All that you mentioned is essentially why Unity is so popular. Worst case, you can upgrade later if it looks like you really have something, and it will cost you less than licensing in other engines. Of course, that depends in part on your goals as a game developer. If you're going commercial, you may be able to afford the hit in the long run.

For commercial game production, there are three important considerations:

1. How much will this engine cost in the long run?

2. How much time will it save you in development? Time = Money. Convert this to cost.

2.5 How much time and effort will this save you in recruitment and training? Don't underestimate familiarity with the technology for new hires.

3. Potential opportunity cost: If we're talking next-gen technology, and you developed your own engine, there is an outside chance of licensing it if it turns out really good. This is where a lot of engines ultimately come from (things developed in-house which produced a smash game and show off some advanced tech, which execs decided might be marketable).

If you're not making something innovative and really top notch (and you don't have millions to budget), you can probably forget #3, unless you're very very niche (like a tower defense engine that competes well with the alternatives).

So, you really just need to consider the trade off of #1&2.

For Unity, it's well worth it for most studios, even very small ones with low budgets.

...Unless they're making a very unusual sort of game, or just dealing with 2d, in which case it may be less helpful.

Tell us more about your game, and we may be able to give you more specific advice for your particular situation.

A few small things -
CryEngine is a $10/month subscription.
UE4 is $19/month, but you can cancel any time *and continue to use it*, and subscribe for another month/$19 later when you want to get new updates.
Unity also has a subscription option but it's something like $75/month IIRC...
I've been going through the same struggle for over two years now. The best option for getting into the field with a well rounded experience is Unreal Engine 4. Take warning though, by no means is it perfect, but it is definitely the go to engine for your first couple games. I would love it if crytek had their heads in the game, but personally I feel they treat indies like crap. They have no proper documentation and their updates only add more bugs instead of fixing them. Their engine's engineers though are brilliant. The technologies they've made still easily put CRYENGINE above UE4. The fact of the matter is, if you don't have a large enough studio to have your own programmers fix crytek's mistakes, assuming you have access to it's source code, the engine is useless to anyone not making a mindless shooter.
The real goal should be to use something like UE4 until you are comfortable enough to create your own engine. That is exactly the road I am taking and I highly recommend it.

I have to ask the question - if you really want this, why is $19/month a huge deal to come by? That's less than $5/week. If at any point you prioritise casual consumption expenditures (a new TV, a coke and chocolate bar, a fancy coffee from Starbucks), then you need to reframe your expenditure on your tools. They are your tools, just as a carpenter doesn't complain about having to buy a hammer or fuel for his vehicle, as developers we should find value in paying for the tools of our trade. And $19/month isn't that much really.

If licensing is your biggest hurdle, you'll want to check out the C4 engine by Terathon. It just had it's licensing model changed, there was a post about this on this forum here. No royalties, single payment of $88, 1 year of free updates. It doesn't get any better than that.

Definitely go for UE4. It's so easy to make quick and comprehensive prototypes with the visual scripting. Like Hodgman said, you can just drop $19.99 for the current version then cancel the sub AND continue to use it. If you do publish a game after the sub expires, you do owe them 5%, but that's not the worst thing in the world for a cheap AAA engine license. Plus you can always re-sub in a few months and get the current version once more!

Well, another thing to consider that you mentioned but very lightly in your post is the amount of time to learn and use the engine you choose.

The thing about UE4 is that it uses C++. This can be good and bad. It depends partially on how well you already know C++, but also in order to use it with the editor and engine, you have to learn to use all of the macros that make your classes work in the editor. This isn't the only thing, but it is a good example. The other detail about UE4 is that you can do a lot with only blueprints too, though it is another system you would have to learn. The last thing I mention about UE4 is that though it does a lot of things, and it is really a good deal for most people as far as price, it is also a beast. There is much to learn before you can really do anything well with it. Compared to something like Unity in my opinion it will take much more time to learn well, though there are likely a few that disagree with me here.

Unity....the free version is great. It doesn't have deferred rendering in the free version, but it DOES have dynamic lighting. You can also get a single light's hard shadows. You can also export to most of the platforms now with the free version, though the PRO version has some enhancements to make things better. As far as licensing, Unity says the free version is almost unlimited in usage. You are missing some features, but most single devs won't need many of those features anyway. But with the free version you can release your game commercially with no issues(except you have to display the splash screen which wouldn't bother me). The only catch is that if you earn over $100,000, you have to purchase the PRO version, which with that kind of earnings I don't see it being a problem. Also, there is little change to make to your actual game if you want to upgrade to PRO in the middle of the project.

Blender's game engine...I wouldn't touch it. Blender is great for other things, modelling, rendering, etc... but not for a game engine. It isn't great for performance either, and likely never will be. That isn't Python's fault though, rather just that it isn't optimized well, and the devs aren't trying to do so either. Also, the thing about the licensing is that currently, the blender player(the runner of your game) is under the same license as Blender. Your assets aren't though. So if you release your game with the blender stuff mixed in with the executable(in order to hide it) you would have to release the source, which is likely not what you want. A way around it is to keep your assets and everything separate from the Blender player. This leads to having your stuff slightly more exposed. The Blender player would then load your separate blend files. As far as I know though, there isn't really another option, and I don't think they have come up with a way to make those blend files some other format that is not so open and easy to get to.

Last thing to talk about....as mentioned above, the UE4 can be gotten for a single month of $20, and then you can cancel, redoing it later if something gets updated that you really want/need. So, if you can deal with the bigger learning curve and really want or need the features of UE4, then that would be a better deal. But, if the learning curve is going to be too much, you are better off with free Unity, though you won't have the high end features of UE4. In the end, part of the decision has to be about how quick you can learn and then get things done. If I were to choose right now, I would use free Unity, because though I know C++, the whole system with the macros, plus the editor tools etc... is just too much to learn with UE4, and I could simply get much more done much quicker with Unity. Plus, I can release my game with no royalties or anything owed to Unity.



If you want to try my beginner friendly engine then I can help you getting started. It is targeting independent developers by being free (ZLIB open source) and made for rapid development languages like Visual Basic and C#. It usually takes one year of intense testing before I find another bug in the engine because I am not adding new features and therefor no new bugs.

This topic is closed to new replies.

Advertisement