Need Help On Game Engine

Hello guys/gals, I would like to start a side project. I want to make a single player open world game like the infamous series. Now I know that I'll probably never get finished but I want to do it when I'm bored. My question is, what engine would I use to make it?

I didn't know what forum this should go in so sorry if this is the wrong one.
Saying that you want to make a "single player open world game like the infamous series" is not very helpful. What mechanics will your game have?

Depending on what mechanics your game will have you might have to roll your own engine.
Depending on what mechanics your game will have you might have to roll your own engine.

That hasn't been true for quite a long time now. Pretty much every middle ware engine out there allows you to program whatever mechanics you want. They are definitely not just a one genre shop anymore.

Sure each engine probably specializes in different genres but you can pretty much build any type of game you want on any of the major engines out there (Unreal Engine 4, Unity5, CryEngine, etc.)

Though since the OP said he wants to try his hand at a game like Infamous I would personally suggest Unreal Engine 4, it has great support for these types games (3rd person, open world, action game). Also has the benefit of allowing coding to be done in C++ and you could get quite a few pointers for your project from the Unreal Tournament project source code also.

Otherwise there is always Unity 5 also though personally I feel that engine is more geared towards more "indie" (For lack of a better word) projects and the mobile market.

So long story short I would personally suggest Unreal Engine 4 for this type of game, though like you said in your post, it is very unlikely you will be able to finish a game of that scope by yourself but cant hurt to try it for learning purposes.
Last edited on
Pretty much every middle ware engine out there allows you to program whatever mechanics you want.
Sure, they give you the ability to do that, but this is a double edged sword. While for most games this will be a non-issue, there is a overhead cost (both in programmer time and in some cases performance) associated the amount of genericity that the middleware packages you're referring to have.

Something very unorthodox probably cannot be written in a middleware engine without you having to actively fight against the design of the engine. Jonathan Blow, for example, had to write his own custom game engine because using something already available would severely hurt productivity.

I do admit that this is a relatively uncommon case, but in game development it really isn't unheard of that people just decide to just stop working with <insert mainstream game engine here> and just roll their own because they feel like they have to take up arms against the package every time they want to get work done because their game idea and mechanics are not conventional. Even with indies.

I would personally suggest Unreal Engine 4, it has great support for these types games (3rd person, open world, action game).
You're right, Unreal Engine 4 does have great support for these types of games, however a "3rd person open world action game" isn't exactly very descriptive in what you actually want the game to do. If I suggested that you played a "3rd person open world action game" I'm almost certain you would ask "What is it about?" or "What do you have to do?" "Like Infamous" could mean a lot of things. It's pretty vague and far from indicative of what capabilities the engine would require.

I am not saying that Unreal Engine and Unity shouldn't/can't be used, but saying that they can do whatever you want with them efficiently couldn't be farther from the truth. Trying to force an engine to do something that it isn't meant to do is something you should never do. Just find another way.
Last edited on
I've seen these custom built engines. They are *never* as good as an advertised engine or even an open-source free engine. They tend to have a lot of copy-pasta all over the place, the design isn't as well thought out, and there's no support from anyone but yourself.

I would really suggest using an engine like UE4 or even the upcoming Source 2. If it doesn't support your specific needs, I can almost guarantee you that the engine can be extended by you to do so. It's a lot more cost effective and you gain the support of engine developers that you wouldn't have if you developed the engine by yourself.

Even if you sale your game, I would heavily consider taking the revenue cut. I can't express how important developer support is. It's relatively dirt cheap now adays.

I am not saying that Unreal Engine and Unity shouldn't/can't be used, but saying that they can do whatever you want with them efficiently couldn't be farther from the truth.


Seriously, the likelihood that a single developer can create a custom engine that outperforms mainstream engines like UE4 and Source 2 while keeping a quality design and implementation is not very high, especially if that developer hasn't had years in the graphics industry and hasn't dabbled in every graphics API the mainstream engines support.
Sure, they give you the ability to do that, but this is a double edged sword. While for most games this will be a non-issue, there is a overhead cost (both in programmer time and in some cases performance) associated the amount of genericity that the middleware packages you're referring to have.


First lets cover these overheads you are talking about.

Programmer Time - Sure there is extra time that might be needed to either make your desired mechanics work nicely with the engine and write the custom functionality. But that extra time you need to put in is FAR FAR less then what would be needed to build an engine from the ground up to support the mechanics you want.

Performance Overhead - This might be a valid point if you have a team of programmers to command and have the years worth of engine building experience to back them up. But usually most people don't have that, so it is very unlikely that any custom built engine is going to perform better or even close to that of a mainstream middle ware engine.


Something very unorthodox probably cannot be written in a middleware engine without you having to actively fight against the design of the engine. Jonathan Blow, for example, had to write his own custom game engine because using something already available would severely hurt productivity.


Not sure what you mean exactly by "very unorthodox" but I will say again that you can build pretty much any type of game you want on the mainstream engines that are availible today without much fighting against the engine. Again they aren't like the engines of old anymore where they only cater to one genre (Lets say FPS) and if you try and use it for any other genre (Say RTS) you will have to fight against it.

These engines today are quite generic in nature. For example just check out the example projects and all the projects that are in production that use UE4. There is simple platformers, first person shooters, real time strategy, board games, endless runners, role playing games, etc. Both in 2D and 3D.

As for Jonathan Blow I assume you are talking about Braid which was released in 2008 and he started it in 2005. So about 10 years have past since then and Game Engines have come quite a far way over that time.

Braid as far as I can recall was just a simple puzzle platformer with one major mechanic that set it apart which was the ability to rewind time. As far as I know every mainstream engine now days can easily handle this mechanic either through built in features or by using some custom code. Personally for me I think that it would probably take me at least twice if not three times as much time to write a game like this by building my own custom engine than it would if I had just used a engine like Unity or UE4.

I do admit that this is a relatively uncommon case, but in game development it really isn't unheard of that people just decide to just stop working with <insert mainstream game engine here> and just roll their own because they feel like they have to take up arms against the package every time they want to get work done because their game idea and mechanics are not conventional. Even with indies.


Sure it isn't unheard of, but in my opinion most of them people aren't thinking straight. Now again this doesn't apply to people who have the manpower and knowledge to build a engine that can compete with the mainstream engines of today (Though it would still take more time to do so).

Anyways sure plenty of people decide they want to roll their own custom engine so they can have more control over how things are handled and so that it fits their game more cleanly. But realize that there is three things that I very commonly see when people do this.

1) They never finish their game - I admit it always sounds like a good idea to build a shiny new engine that is specially built for you game idea. But most people don't realize the added time this adds to the projects development. They will spend months if not years only coding the engine and never touch a single line of code for their game. Eventually they just end up giving up because it is taking so long and they have absolutely nothing to show for it.

2) They don't give up but end up taking twice (If not more) as long to actually complete the game - Building a game is no easy task and it will take a significant amount of time to do so. When you add onto that the time it will take to build a game engine which is I dare say a lot more complicated then building a game you end up with a very very long development timeline. Basically to sum it up when you create a custom engine you are at least doubling the time it will take to build your game. Not to mention you are left with an engine that more then likely doesn't support half the things a mainstream on does, is probably slower and doesn't support as many platforms.

3) They actually do complete the engine and game but they end up with a engine that only works for that game - This happens more commonly then you might think. When you build a custom engine because you want to build some game you thought up more then likely that engine will be mainly focused on how that game works and that is it. This is not good because the only reason to build a engine is so that you can use it for multiple projects otherwise it just isn't worth the time sink.

It takes a great deal of experience to build an engine that is able to be used by multiple different games of different genres, so more often then not people will end up with a engine that only works for that one game and they basically just wasted their time with the engine.

I am not saying that Unreal Engine and Unity shouldn't/can't be used, but saying that they can do whatever you want with them efficiently couldn't be farther from the truth. Trying to force an engine to do something that it isn't meant to do is something you should never do. Just find another way.


I feel NoXzema covered this quite well already so won't comment on this.
Last edited on
NoXzema wrote:
I've seen these custom built engines. They are *never* as good as an advertised engine or even an open-source free engine. They tend to have a lot of copy-pasta all over the place, the design isn't as well thought out, and there's no support from anyone but yourself.

So in-house engines are never as good as mainstream licensed engines? I'm curious which in-house engines you're talking about.

I do agree that an engine written by an inexperienced programmer will never be as good as one written by an experienced programmer, but obviously someone who hasn't written a game engine before shouldn't be working on an engine that competes with one written by professionals.

Companies that do know what they are doing can and do produce engines that are fully capable of competing against both Unreal Engine 4 and Unity.

Ex: Bitsquid, Frostbite, RAGE, and Naughty Dog Game Engine.
The Witness' engine seems pretty solid as well.
Seriously, the likelihood that a single developer can create a custom engine that outperforms mainstream engines like UE4 and Source 2 while keeping a quality design and implementation is not very high
Of course if the OP were to be in the position to create an open world game such as Infamous I would assume that they would have proper resources (such as a team).

especially if that developer hasn't had years in the graphics industry and hasn't dabbled in every graphics API the mainstream engines support.
Graphics APIs themselves are largely trivial in the grand scheme of things. If you are skilled in, say, OpenGL, while moving to something like GNM won't be exactly without hiccups, it isn't going to take several months/years to do like learning your first API would... I guess you could compare it to learning new programming languages.

Z e r e o wrote:
First lets cover these overheads you are talking about.

Programmer Time - Sure there is extra time that might be needed to either make your desired mechanics work nicely with the engine and write the custom functionality. But that extra time you need to put in is FAR FAR less then what would be needed to build an engine from the ground up to support the mechanics you want.
That isn't always true depending on what you want to do.

Performance Overhead - This might be a valid point if you have a team of programmers to command and have the years worth of engine building experience to back them up. But usually most people don't have that, so it is very unlikely that any custom built engine is going to perform better or even close to that of a mainstream middle ware engine.
And as I said before "most people" shouldn't be writing their engine anyway. People who write there own engines should have the resources to do so, and if they don't then they should find a way around any limitations they have.

Braid as far as I can recall was just a simple puzzle platformer with one major mechanic that set it apart which was the ability to rewind time. As far as I know every mainstream engine now days can easily handle this mechanic either through built in features or by using some custom code. Personally for me I think that it would probably take me at least twice if not three times as much time to write a game like this by building my own custom engine than it would if I had just used a engine like Unity or UE4.

My point was that the feature wasn't very supported then and he had to write his own engine to compensate for that. It didn't have anything to do with what is available today and I was not suggesting someone to write their own engine for wanting to support a feature like that.

Now again this doesn't apply to people who have the manpower and knowledge to build a engine that can compete with the mainstream engines of today
Then this doesn't apply to what I was saying. Someone who is willing to take on a project like this should have the resources to go through with a task like this. I wasn't suggesting that any old Joe in his basement should just go out and write your own game engine... that's absurd.

It takes a great deal of experience to build an engine that is able to be used by multiple different games of different genres, so more often then not people will end up with a engine that only works for that one game and they basically just wasted their time with the engine.
I see that there is another misunderstanding with what I am saying.

...Even a large corporation is not going write a better engine than companies that's main source of income comes from licensing large, generic game engines. If you're rolling your own engine then making a huge generic engine is an idiotic move unless you don't wish to release a game. I am talking about a small, specialized engine that fills a specific niche in game development.
Last edited on
closed account (NUj6URfi)
Custom built engines are never as good because, in this sense, it refers to them for one thing and other engines generally can be used for multiple applications. That's the point of an engine, no? To allow freedom not make one game?
No, an engine that only serves a specific genre is generally going to be magnitudes better at supporting that genre than a generic one. What is "good" is relative.

Incoming crappy analogy:
It's like year round tires vs snow tires. Year round tires work fine for most people's situations, but in some cases a vehicle only has use when it's snowing, and at that point you should probably just get snow tires.
closed account (NUj6URfi)
Anvilius, I'm not talking about genres but SINGLE games.
Custom built engines are never as good because, in this sense, it refers to them for one thing and other engines generally can be used for multiple applications.
You're implying that all custom built engines can only be used for one game, which doesn't really make any sense. I figured that it was a typo. Especially since you said "in this sense" (I'm guessing referring to what was said earlier) when no one said anything like that in this entire thread.

I misunderstood.
Last edited on
Topic archived. No new replies allowed.