Sign in to follow this  

Good Engine for an open-world game?

Recommended Posts

Hi, a few friends and I have been wanting to make a game for a while but we don't know what engine we should use or if we should just create our own. Here's a description of the game:

 

The year is 2865 AD, a wormhole accident has stranded several ships in an unknown region of space. You are one of the many survivors and must pledge your allegiance to one of the ten factions in the system. Fight alongside massive armies and pilot the largest vehicles to take control of the ultra rare resources scattered across each planet and to eliminate the opposing factions. Play your own way by fully customizing your weapons, vehicles, and abilities to be the quietest assassin or the loudest bunker-buster. Build forward bases to expand your influence and to get the upper hand in the war. Lead your faction to dominance in this sci-fi open-world MMO FPS.

 

Anyone here have any ideas for an engine? Or are we just better off creating our own?

Share this post


Link to post
Share on other sites

Well, first off what experiance do you guys have at making games in general?

We have no experience. This will not be the first game we make, we need to get familiar with everything first. This is more of a long-term goal. I do art and concept related things, everyone else does coding with C++.

Share this post


Link to post
Share on other sites

The best engine at the moment for a open world game will be Unreal, although by the time you have learned how to make one who knows?

 

Unity is a bit more user friendly but doesn't have all the new toys for large open world games, also it's a batch focused engine where most open world games are made using modular workflow; Unreal is a instance engine and as such is better for a modular workflow.

 

It should take 3-4 years of learning if you and your friends each dedicate yourself to a branch needed for games, you can shorten this if all of you are professionals in your field to 1 year for each. You will also need a lot of friends, it takes at least 50 artist for a AAA open world game.

That means that if all of you started to learn how to make games now, and you all are very skilled you can start making your game next year; the technology for games should be a lot more advanced then.

 

After each of you learned what you need to know it will take about 2-3 years of development to make the game.

 

 

If you are not aiming for AAA quality then you could start now and learn as you go, but this will drastically lower the quality of the end product.

Share this post


Link to post
Share on other sites

Unity is a bit more user friendly but doesn't have all the new toys for large open world games, also it's a batch focused engine where most open world games are made using modular workflow; Unreal is a instance engine and as such is better for a modular workflow.

 

I wont agree with this. Unity could also have supporting open world as unreal, at the end it depends of how you implement the tools. You could also waste lots of memory with Unreal when not using there scene persitence system correctly. We made an open world game in unity using our own streaming controller technic and a small tool. This took 2 days for working and is as simple as Unreals approach.

 

The general basics of going open world is how you manage your world e.g. chunks of it. Normaly one needs to test for where the visibility center of your world is (mostly the player) and do first a distance test to cut off such world chunks that are far enougth away to not being tested. Second you need to test those chunks that pass the first test for a simple circle/chunk bounds intersection to determine if that chunk needs to be loaded or leaved. Having some kind of chunk LOD also helps making your world performing better because you dont need to load interior of houses when player is in an adjecent chunk

Share this post


Link to post
Share on other sites

 

Unity is a bit more user friendly but doesn't have all the new toys for large open world games, also it's a batch focused engine where most open world games are made using modular workflow; Unreal is a instance engine and as such is better for a modular workflow.

 

I wont agree with this. Unity could also have supporting open world as unreal, at the end it depends of how you implement the tools. You could also waste lots of memory with Unreal when not using there scene persitence system correctly. We made an open world game in unity using our own streaming controller technic and a small tool. This took 2 days for working and is as simple as Unreals approach.

 

The general basics of going open world is how you manage your world e.g. chunks of it. Normaly one needs to test for where the visibility center of your world is (mostly the player) and do first a distance test to cut off such world chunks that are far enougth away to not being tested. Second you need to test those chunks that pass the first test for a simple circle/chunk bounds intersection to determine if that chunk needs to be loaded or leaved. Having some kind of chunk LOD also helps making your world performing better because you dont need to load interior of houses when player is in an adjecent chunk

 

 

 

Unity requires far more work to get this done however. The base editor it's self is absolute garbage for this matter, and would require completely custom tools.

I'd normally stand by Unreal. But if you don't mind a buggy editor that has performance problems, not the most intuitive UI, and will crash frequently, Cryengine would honestly be your best bet. Why? because it was initially made and intended for the creation of games with massive worlds.

Edited by Tangletail

Share this post


Link to post
Share on other sites
I wont agree with this. Unity could also have supporting open world as unreal, at the end it depends of how you implement the tools. You could also waste lots of memory with Unreal when not using there scene persitence system correctly. We made an open world game in unity using our own streaming controller technic and a small tool. This took 2 days for working and is as simple as Unreals approach.

 

Then we could also include GameMaker, because with the appropriate knowledge you could also turn it into a 3D openworld engine. :lol:

 

I started to make a list of the advantages Unreal has over Unity and had to stop, it's a long list.

In short Unreal will give you about 20% to 60% more static performance, 20% to 40% Animated performance depending on how skilled your artist are. Meaning you will have a larger and more populated world.

 

Unreal has most of the stuff you need, there is no such thing as perfect engine that can make any game, Unreal is as good as it gets.

Want to allow players to change the colors of the character? In unreal you just use a texture mask and a few parameters, in Unity you need to make your own shader to do this.

 

Want to make a working door that can be reused and visually changed? In Unreal just make a blueprint for the door, all components are interchangeable, in Unity you have to make your own script for this.

 

In fact making things in Unreal is so easy, your artist could even make fully operating game blueprints for level designers to use.

 

 

The largest differences between Unreal and Unity is that out of the box Unreal has all the tools you need for large scale openworld games, in Unity you have to make it yourself or find a addon for it; often you have to pay for these addons.

 

It's not that Unity doesn't have advantages over Unreal, it's just the advantages it has is often more of a personal preference.

 

 

 

 

I'd normally stand by Unreal. But if you don't mind a buggy editor that has performance problems, not the most intuitive UI, and will crash frequently, Cryengine would honestly be your best bet. Why? because it was initially made and intended for the creation of games with massive worlds.

 

Cryengine does allow for a larger static world than Unreal, in animation it's about the same. Cryengine and Lumberyard have all the tools also, however the interface is a high contestant for the worst interface ever.

Lumberyard has lots of powerful tools, it's packed to the brim with it, a lot of it isn't connected. That is like getting a sports car - for free- but you have to assemble it, a nice deal if there wasn't a ready to drive sport car; for free with terms.

Edited by Scouting Ninja

Share this post


Link to post
Share on other sites

 

I wont agree with this. Unity could also have supporting open world as unreal, at the end it depends of how you implement the tools. You could also waste lots of memory with Unreal when not using there scene persitence system correctly. We made an open world game in unity using our own streaming controller technic and a small tool. This took 2 days for working and is as simple as Unreals approach.

 

Then we could also include GameMaker, because with the appropriate knowledge you could also turn it into a 3D openworld engine. :lol:

 

I started to make a list of the advantages Unreal has over Unity and had to stop, it's a long list.

In short Unreal will give you about 20% to 60% more static performance, 20% to 40% Animated performance depending on how skilled your artist are. Meaning you will have a larger and more populated world.

 

Unreal has most of the stuff you need, there is no such thing as perfect engine that can make any game, Unreal is as good as it gets.

Want to allow players to change the colors of the character? In unreal you just use a texture mask and a few parameters, in Unity you need to make your own shader to do this.

 

Want to make a working door that can be reused and visually changed? In Unreal just make a blueprint for the door, all components are interchangeable, in Unity you have to make your own script for this.

 

In fact making things in Unreal is so easy, your artist could even make fully operating game blueprints for level designers to use.

 

 

The largest differences between Unreal and Unity is that out of the box Unreal has all the tools you need for large scale openworld games, in Unity you have to make it yourself or find a addon for it; often you have to pay for these addons.

 

It's not that Unity doesn't have advantages over Unreal, it's just the advantages it has is often more of a personal preference.

 

 

 

 

I'd normally stand by Unreal. But if you don't mind a buggy editor that has performance problems, not the most intuitive UI, and will crash frequently, Cryengine would honestly be your best bet. Why? because it was initially made and intended for the creation of games with massive worlds.

 

Cryengine does allow for a larger static world than Unreal, in animation it's about the same. Cryengine and Lumberyard have all the tools also, however the interface is a high contestant for the worst interface ever.

Lumberyard has lots of powerful tools, it's packed to the brim with it, a lot of it isn't connected. That is like getting a sports car - for free- but you have to assemble it, a nice deal if there wasn't a ready to drive sport car; for free with terms.

 

 

Also, keep in mind that Lumberyard has a rather strange requirement. I don't remember what it was. I think it must only be on the Amazon website or something? *shrug*

But I'm glad I am not the only one who agree's with how crappy Cry engine's editor can be. And unlike the Unreal Engine, it's material editing ability is pretty.... limited to artist.

 

 

Making your own game engine is also an idea... I wouldn't recommend it though, but it -IS- a thought.

Currently that's what I am doing. While technically it can support an "Open World", my project is an "Open World" in the sense of what Gothic 2 was.

In other words, A large world with a set path, and you can't just go from point A to Z, you need to go through every point in between to get there while the world just feels open by clever use of visuals.

Main reason why I'm building my own engine, is that it is completely tile based in level design. So I need custom optimizations.

Edited by Tangletail

Share this post


Link to post
Share on other sites

I'm rather surprised nobody mentioned the insanity involved in trying to make an open world MMO-FPS when you have never made a game before.

 

It's a very hard thing to do even if you were all professionals with 5+ years experience already.

Share this post


Link to post
Share on other sites

Unreal seems to be our best bet then. Of course that may change by the time we start development but I'll keep it listed. Thanks for the feedback and help everyone!

 

 

I'm rather surprised nobody mentioned the insanity involved in trying to make an open world MMO-FPS when you have never made a game before.

 

It's a very hard thing to do even if you were all professionals with 5+ years experience already.

 

We're well aware, nothing wrong with having ambitious dreams though. Now that we have a good engine choice we can work on some different things first before we tackle this monstrosity.

Share this post


Link to post
Share on other sites

If you want to use C++ you could try "Irrlicht" or "Ogre3d".


Aren't these just 3D renderers?

You'd then need to code in all the support for streaming, art and materials editing for artists, music and sound, physics, a level editor, and a whole lot more, by this point you've basically made your own engine and used ogre as it's renderer...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this