Need advise on game engine choice

Hi Unity,

I am not sure i post this thread in the correct section so i apologize if so and you can move it where it belong.

My name is David and i am in team with my father to create a single player RPG Skyrim style but much smaller in scale of course targeting only PC platform.

My father is a professional (15 years experience) since he is working as a teacher in art and game design college, he start building the assets over 2 year ago. He can model, texture and animate anything professionally just like the triple AAA title out there believe me. He also code in C# but he is slower on that side of thing and i will be the one backing up on this since i am currently learning it via college.

I have carefully look all over the forum and in help and use Google for the last week seeking information on the topic and my conclusion is that it is a giant ball of confusion leading you in every direction without any clear answer.

Like i said it will be a SP RPG with a world half the size of Oblivion so we look at terrain handling in Unity and to be honest we were pretty much disappoint to see it does not support larger world creation easily without having to rewrite a complete terrain engine for in house use.

I also look at Pterrain and saw like many asset here that it is now abandon ware with no update and maker vanish in the mist so this is not reliable for professional pipeline work.

So far after a lot and i mean a lot of reading we are very interested in going the unity way but my father is leaning toward the cryengine exactly because of the amazing terrain tools.

Now the question :

1# What would be the shortest route to get large terrain working for a SP RPG within unity?

2# Will precision float be a real pain to fix for larger terrain?

3# Is there any unity project file with this feature implemented that we can have a look at?

The point is we just want to start prototyping our environment real fast so we can have a good idea upon which engine we will choose .

Another approach could be to export all height map in tiles and to load each new area with a loading screen the good ole way lag free.

Sorry for such a long post but we need clear answers to move forward on our work.

Thank to anyone who can help us start and if we choose Unity we are going to buy Pro that for sure.

Dave

My advice is to download the free version, throw in a default terrain, and see how you like it. If you don’t like it, you’ll be implementing your own terrain somehow. If you do, then yay.

Use that new information to help make your decision.

Check out the MMO class at 3dBuzz. They built a system in Unity that could support a ridiculous amount of terrain (hundreds, if not thousands of square miles).

Also, if you’re looking to make an RPG, check out ORK (an RPG Toolkit for Unity on the AssetStore). CryEngine is definitely more designed for large terrains, but you won’t see the same level of tools and support as you’ll get with Unity.

Hi WC,

Thank for replying and yes we plan to do this this week but we still need to know some answers before wasting many hours testing stuff.

One terrain is really a no brainer but after all the reading i did this week here regarding bigger terrain we need better pointer before we move in.

Dave

Hi Khan,

Thank for replying and i already found many post regarding the 3d buzz class on mmo but you need to attend the class and it seem not easy to get in.

I will have a look at ORK thank, for cryengine you are right i know the support is close to horrible for indie and they have yet to release a clear licensing term on indie license.

Just my 2 cents here but i think if the Unity team was able to make bigger terrain workflow easier they would grab a very important share of the market since i saw an amazing amount of thread of people wanting to make bigger world in Unity.

Dave

If you’re getting Pro then you can stream levels so you don’t need loading screens.

–Eric

That class is currently not available… (in hybernation as they said on their forums).

Aww, that sucks. 3dBuzz has been kinda scattered lately since they lost Zak and Lee :frowning:

Hi Eric,

Do you mean by streaming that you just have to put all your single terrain grid side by side and when player move from tile to tile there will be no loading at all?

Is so then why the guy is selling pterrain for the same purpose in asset store? I am a bit confuse about all the terminology use pointing at the same subject.

Dave

I also search everywhere on the web for paid tutorial regarding this subject and no one have anything on this.

I wonder if we start making our terrain all in separated tile section if that going to be usable later on when we have the right solution?

Dave

Yes.

Presumably it doesn’t require Pro.

–Eric

Hi Eric,

That is really good if Pro can do this simply like that i think my father will soon forget about cryengine!

Best thing will be to start testing some terrain already build with WM to see how well they behave.

Thank for the input.

Dave

Ya… I would do like Eric said.

Although the best way to manage such a system I don’t know. I’m curious to know Eric, how do you think would be the best way to manage such a system?

The only way I can think to do it is to make separate scenes for each tile of your huge terrain. So the scenes would be named by what tile they are. So if you have a 10x10 grid of terrain chunks that are to be streamed and un streamed, then the scene containing tile one would be named “Grid 1-1”, then two “Grid 2-1” etc. and so on. Then you export each of these scenes as streaming assetbundle and then stream them in and out accordingly.

It seems to me like that could get frustrating because the whole world couldn’t be loaded in at once for you to see. Is there a better way you can think of?

Also, polydave, if you go this route be sure to investigate uncompressed assetbundles and AssetBundle.CreateFromFile it is what you will want to use for a standalone pc game.

Could you link me to the terrain bit, I am very interested to see how they handled this in Unity

Here’s the released videos (5 pages of videos).

NOTE: You need to be a paying member to view them.

From my understanding, City Of Steam browser MMO works by zoning the map. It’s also how a lot of space MMO’s handle it too, with jumpgate portals between systems/scenes. If I recall correctly, it’s also how Dungeon Siege III works; read this article. Perhaps the OP author might consider contacting CoS_Ethan and asking Mechanist directly. I certainly wouldn’t design it around a seamless design, as chances are you’ll hit floating point accuracy issues or garbage collection stutter. Having level loading provides a perfect opportunity to perform garbage collection and housekeeping, even if its less desirable from a gameplay perspective.

It’s also worth mentioning that you should try to be realistic about your skill level. Your current student status would suggest you should stick to the KISS principle, and sacrifice your ideal implementation for something this is technically less risky and more achievable.

Hi techmage,

Nice post you said exactly what i was about to ask to Eric about how to proceed on this. At first i thought that i would have to put all terrain tiles in one scene but i soon realize that it would be too much of a load for unity to handle specially after adding props and trees&grass.

So i think your idea is the logical choice, naming each tile accordingly as different scene but how to make sure the complete terrain will maintain it layout uniformity since when you export the tile set they are all arranged in a certain order?

I hope i am clear enough since English is not my native tongue.

It would be nice to finally have a clear explanation for how to achieve this since the forum and answer section are full of people asking the very same thing.

Dave

Hi Game Foundry,

Yes i am aware that i am only starting my learning curve and i try to look at the best possible way to do that elegantly without spending months only to implement a workable terrain solution.

Everywhere on every forum terrain system implementation is one of the most demand information since people are often stuck at the beginning because of this.

Once you know how to set your world correctly you can start working on environment.

Also i forgot to mention that we plan on hiring a professional programmer once the website is finish and show some prototyping on the game concept.

Dave

I haven’t read it all but if you want a large terrain simply make several smaller terrains. Since it’s single player you can just have 2 terrains loaded at a time max then when you are approaching the border before seeing the next terrain you load it up. This way your terrain can be infinite and still be very fast. Good luck!

Hi Simon,

Thank for the tip and i will start to do some test this weekend the only point i still have to figure is how to assemble my different terrain tiles so they will have continuity.

What i mean is that i will have our terrain split into 9 tiles so my point is when i will load the first terrain tile i will have to figure the correct order for each tiles to have continuity between each other.

I will make simple plane terrain with number paint on them to see which tile get load as i walk into them.

I also subscribe to 3d buzz since 35 $ is dirt cheap for all the fast knowledge they provide for Unity developers.

Dave