Jump to content

How do you make large world?


DistantTemples

Recommended Posts

I have seen this question asked many times and I have never seen a straight forward answer or solution. Sometimes it was never even answered. It was one of the big features advertised and one of the reason I bought Atavism. There were even videos showing that you could run quite a distance. I have not pushed because Atavism was in development.

I would still like to know how to build a large world with Atavism. Was hoping we could start some discussion about that.

 

Link to comment
Share on other sites

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

I am referring to what I believe is called floating point precision. The further you get away from 0 the more errors you have with precision. I guess models just don't line up or function very well and the game becomes unplayable when you get to a certain distance. Atavism was suppose to overcome that issue.

 

Edited by DistantTemples
typo's
Link to comment
Share on other sites

Yes it is a Unity issue. That is why I was told that "Atavism would deal with that issue" hence the reason those "running for ever videos" were made. Bottom line I was mislead into believing that Atavism would deal with that issue for one reason or another. Maybe they ended up running into an issue as they tried to deal with it. I don't know. I really do not care much about that aspect. What I would like to focus on is a solution. 

I would think there has to be a certain way to go about building a large world that would be more optimal than other ways. What are the limits you want to watch out for? I know there are more than floating point issues to consider. None of this has ever been covered in much detail. Actually not much was. I may be wrong for expecting that it would be, but if not from a company that is making a MMO template for a game engine then who?

So that is why I am asking here. So comments like "thats a Unity issue" and "Make a large map???" are not helpful and come across as sarcastic. Frankly I had my share of that crap on the old forum. I am looking for a little help and guidance thats all. I am pretty sure that is why the forum is here right?

Also I am posting this here so the new owners of Atavism get to see some of the concerns from an end user that were never really addressed. I am not trying to speak bad of the old Atavism team. Jac and Andrew are good people and did great things while they were building Atavism. I will miss working with both of them. Still issues need to be discussed and not pushed aside and addressed as invalid.

Has anyone tried World Streamer to deal with this issue? Did it help at all? I have Sectors. I think this will help with enclosed environments but I am not so sure for outdoor environments. 

When it comes to how big I want to make a world, I do not know. Mostly because I do not know how big of a world I can make. So again I am hoping other can share what they have used for solutions and talk about limitations they have come up against

Link to comment
Share on other sites

Ok first calm down, i just try to understand whant you whant.
Second, sorry if my answer is not long but my native language (like lot of people on the community) is not english so i try to do it the most easy to understand.

Make a Large world can mean a lot of thing, you can make it whit a lot of instance or just whit a big instance. World streamer dosent work whit Atavism cause the World Streamer will change the coordinate of you caratere to 0.0.0 (or something like that) 

The only probleme whit a Large world is the cpu/gpu you gonna use for it, the best way to optimize that it just to do a Local unload but you gonna need to script server side to send position of other player to your player when it close to him to load it . (you see i make a big sentence and i feal it confusing).

They have a lot of way to optimise your game but remeber something you cant make a good game whitout programing even whit Atavism. You will need to learn at lest the basic of c#. And no the community will not give you all script you need to optimise your game cause all game it different and need different thing. 

And for the information Script they take time to make and a lot of time when you make it for your hown game. If you need script and you dont know how to make it but you are good at other thing ask for trade, i make a lot of trade in the past here.  

And one last thing, Atavism still young and when someone find something they post it so if no one call about a limit in seize it beacause nobody have find one. for now i work on a 60000x60000 map and i have 0 probleme (it only for a test) but maybe if 300 player online i can have it, idk and i will do the test but the best way to know it it the try by yourself. 

Link to comment
Share on other sites

Same here. Saw nothing offensive.

To be honest, if somebody has the dream to build an open world MMO without any technical knowledge about procedural methodologies... maybe it is the wrong project for you. Saving chunks and reading chunks is the little 101. If the player is never leaving the 0,0,0 ... you will not suffer under floating points issues. Another thing is to understand types! The Floating issue comes from the way how C#(Mono) handles types... it isn't a Unity problem.

 

Building "Big World" will also bring other problems with interpolation and server-side collider detection and it will lead to a bigger server infrastructure(Memory is very very expensive, even if you are into virtualization or parallelization). It is a very expensive thing. 

 

Link to comment
Share on other sites

We are using World Streamer with Atavism, I have to admit that it's not unlimited world, but huge terrains like 10 x 10 km are not an issue to handle through it.

Unity generally is not perfect for huge worlds because:

1. It can't handle much objects in the scene - World Streamer or any streaming solution will resolve that problem

2. Nice GI can cause lots of issues and endless hours to maintain Your project - instead use light probes but it leads You to this: light probes are used only for dynamic objects, not static, so You can't use static batching, which is also resolvable by using instancing introduced and improved over last few version of Unity I think since 5.4 or 5.5 (not sure about that).

3. In results all is achievable only You need to find a way. We made lots of implementations of external packages to not invent a wheel from start but use our partners packages.

Basically in next release we will introduce tons of modifications, some for performance reasons, in total from 3 fps we have 70fps with full hd and full effects and quality on, so it's like 2000% of improvement. Of course all depends on use case.

For example for small heavy packed dungeon with many light sources try to use Occlusion Culling which in smaller areas, halls and caves is extremely useful and will give You some performance boost.

For open worlds use world streamer or other streaming solution which You prefer to reduce number of objects present in scene which will cause less CPU usage. Ohhh yes, that's also important factor, streaming solution will only help You to improve performance if You are CPU bound, because of calculations which Unity is doing for each object no matter if it's visible or not. If You are GPU bond try to use layers (fast and reliable solution) so for example really small objects put in Small Layer, Medium objects in Medium etc. and then write simple script to set draw distance for each layer, so even if they will be all in same camera (which is preferable setup) then Unity will draw them only from specific distance which You setup. You can also use this free package: ttps://www.assetstore.unity3d.com/en/#!/content/35100

Link to comment
Share on other sites

2 hours ago, Drago said:

Same here. Saw nothing offensive.

To be honest, if somebody has the dream to build an open world MMO without any technical knowledge about procedural methodologies... maybe it is the wrong project for you. Saving chunks and reading chunks is the little 101. If the player is never leaving the 0,0,0 ... you will not suffer under floating points issues. Another thing is to understand types! The Floating issue comes from the way how C#(Mono) handles types... it isn't a Unity problem.

 

Building "Big World" will also bring other problems with interpolation and server-side collider detection and it will lead to a bigger server infrastructure(Memory is very very expensive, even if you are into virtualization or parallelization). It is a very expensive thing. 

 

Oh god lets not get into the discussion if you are not a genius in game developing that you should not be here. You know I cannot stand that attitude. Or get into a war, I am smarter than you and I want to let everyone know it. I didnt know anything about game development 4-5 years ago. Yes I still ask questions, and most of the time I get responses but I am what some of you fear the most. Once I find an answer, I share with everyone.  Only reason I am doing this is to prove a few people that it can be done. People with attitudes that told me I was stupid and you cant build a working mmo unless you have 60 years of knowledge or a masters degree in computer software and hardware development. For those how have that.. great! fantastic.. kudos to you.. I bow to you.. but leave us people alone that dont have it...  So lets please stop the "lets discourage people attitude" If you cant be helpful or know the answer to a question. Then dont answer. The answer to a question should never be "oh you are stupid and you cant do it" (and basically that is what you are saying no matter if you can or cant speak good english., )

btw a perfect answer was from Killersan. Had the person answer it like that then there would have not been any issues, but seems a few of you want to answer questions without really answering the questions to flood the forums with just ego posts

Edited by bbautista
Link to comment
Share on other sites

i don't know much about world streamer so could someone answer a question or two? My first question is does it support a seamless endless world? Meaning NOT a completely endless world but lets say you have a set square map and your walking off the east side of the map. if i was to go off the edge of the map would the character be transported back to the west side and be able to just keep going? Sorta like the real world? Or is this even possible? And would the players experience be seamless when they get transported? or would there be loading?

Link to comment
Share on other sites

never mind!....u can delete the above. i just looked at the asset and a read a lil bit. it answered those questions. now that leads to my other question....since it is streaming from a disc if i am reading that right would it support terraforming? 

Edited by Morlock
Link to comment
Share on other sites

@bbautista Nobody said that somebody is too stupid to do something. I am very engaged in the open source community, sharing knowledge isn't the problem. But trolling Netsun for nothing... sorry, not that cool. It makes no sense to do a large open world without the needed knowledge or the capital to hire the right guys. Maintaining a large system to provide players with a huge open world has nothing to do with an indie MMORPG. Starting small is for me always the key to success.

I am very sorry that you can't respect my opinion. I know what it is to get answers like you described. But saying to somebody: Oh yes, you can do large MMOs' just by using a template... can't be the solution. The frustration will come with the monthly costs. The only thing who can drop this costs is the knowledge of building the server side solutions and the knowledge of building the right infrastructure. Most of the AAA companies are failing in both. Just take a game like The Division with extreme glitches and login issues. PUBG is losing money and players because of growing too fast. Scalability is the keyword.

So yes, you can do it. And yes you will fail min 100 times. Like every other entrepreneur. There is no stupid or another hidden insult. It's just much easier to do small steps. Do get gameplay done, to provide your future costumers with MVPs and to develop in a lean way. If you don't want to get profitable with your game... okay, have fun with your hobby.

So, nobody was insulting nobody. In my opinion, Netsun wasn't insulting him too. Not everybody is interested in beeing the Duke or King in whatever. ;)

Link to comment
Share on other sites

1 hour ago, bbautista said:

Oh god lets not get into the discussion if you are not a genius in game developing that you should not be here. You know I cannot stand that attitude. Or get into a war, I am smarter than you and I want to let everyone know it. I didnt know anything about game development 4-5 years ago. Yes I still ask questions, and most of the time I get responses but I am what some of you fear the most. Once I find an answer, I share with everyone.  Only reason I am doing this is to prove a few people that it can be done. People with attitudes that told me I was stupid and you cant build a working mmo unless you have 60 years of knowledge or a masters degree in computer software and hardware development. For those how have that.. great! fantastic.. kudos to you.. I bow to you.. but leave us people alone that dont have it...  So lets please stop the "lets discourage people attitude" If you cant be helpful or know the answer to a question. Then dont answer. The answer to a question should never be "oh you are stupid and you cant do it" (and basically that is what you are saying no matter if you can or cant speak good english., )

btw a perfect answer was from Killersan. Had the person answer it like that then there would have not been any issues, but seems a few of you want to answer questions without really answering the questions to flood the forums with just ego posts

i dont think he talked about a "Master Degree" but it like when you whant to cooking, you need to read a little bit about how to make it and whant to learn it. I have now my own compagny and i when i try to find new employe i dont whant a guy whit 600000 yers of experience, i prefert to hire the one who know the basic stuff and really whant to learn

Link to comment
Share on other sites

Oh, by the way: I am absolutely 100% certain, that Killersan and the rest of the guys are solving all of the issues that we could encounter. And yes, I tried first to check first if there is the right knowledge to give Atavism a second chance. Not for bullshitting around, but to know if I am not wasting time and money.

Link to comment
Share on other sites

13 hours ago, Killersan said:

We are using World Streamer with Atavism, I have to admit that it's not unlimited world, but huge terrains like 10 x 10 km are not an issue to handle through it.

Unity generally is not perfect for huge worlds because:

1. It can't handle much objects in the scene - World Streamer or any streaming solution will resolve that problem

2. Nice GI can cause lots of issues and endless hours to maintain Your project - instead use light probes but it leads You to this: light probes are used only for dynamic objects, not static, so You can't use static batching, which is also resolvable by using instancing introduced and improved over last few version of Unity I think since 5.4 or 5.5 (not sure about that).

3. In results all is achievable only You need to find a way. We made lots of implementations of external packages to not invent a wheel from start but use our partners packages.

Basically in next release we will introduce tons of modifications, some for performance reasons, in total from 3 fps we have 70fps with full hd and full effects and quality on, so it's like 2000% of improvement. Of course all depends on use case.

For example for small heavy packed dungeon with many light sources try to use Occlusion Culling which in smaller areas, halls and caves is extremely useful and will give You some performance boost.

For open worlds use world streamer or other streaming solution which You prefer to reduce number of objects present in scene which will cause less CPU usage. Ohhh yes, that's also important factor, streaming solution will only help You to improve performance if You are CPU bound, because of calculations which Unity is doing for each object no matter if it's visible or not. If You are GPU bond try to use layers (fast and reliable solution) so for example really small objects put in Small Layer, Medium objects in Medium etc. and then write simple script to set draw distance for each layer, so even if they will be all in same camera (which is preferable setup) then Unity will draw them only from specific distance which You setup. You can also use this free package: ttps://www.assetstore.unity3d.com/en/#!/content/35100

Music to my ears!   

And the peasants rejoiced!!!

rejoicing.gif.b36a601436d986777799d5bbf77ee547.gif

Link to comment
Share on other sites

10 hours ago, Netsun said:

i dont think he talked about a "Master Degree" but it like when you whant to cooking, you need to read a little bit about how to make it and whant to learn it. I have now my own compagny and i when i try to find new employe i dont whant a guy whit 600000 yers of experience, i prefert to hire the one who know the basic stuff and really whant to learn

Thats just it net.. no one asked your opinion.. your opinions are always rude .. and not very helpful. he asked a question and like most posts.. you always reply with an opinion not a helpful answer.. ever.. now we can go all day and argue but I actually have better things to do.. since im stupid and dont know what im doing ... and i shouldnt be on here.. I recall you stating that before ... Oh im sure you dont remember but anyways.. if you cant be helpful dont respond. no one really cares about opinions. The internet is full of opinions. 

Edited by bbautista
Link to comment
Share on other sites

10 hours ago, Drago said:

@bbautista Nobody said that somebody is too stupid to do something. I am very engaged in the open source community, sharing knowledge isn't the problem. But trolling Netsun for nothing... sorry, not that cool. It makes no sense to do a large open world without the needed knowledge or the capital to hire the right guys. Maintaining a large system to provide players with a huge open world has nothing to do with an indie MMORPG. Starting small is for me always the key to success.

I am very sorry that you can't respect my opinion. I know what it is to get answers like you described. But saying to somebody: Oh yes, you can do large MMOs' just by using a template... can't be the solution. The frustration will come with the monthly costs. The only thing who can drop this costs is the knowledge of building the server side solutions and the knowledge of building the right infrastructure. Most of the AAA companies are failing in both. Just take a game like The Division with extreme glitches and login issues. PUBG is losing money and players because of growing too fast. Scalability is the keyword.

So yes, you can do it. And yes you will fail min 100 times. Like every other entrepreneur. There is no stupid or another hidden insult. It's just much easier to do small steps. Do get gameplay done, to provide your future costumers with MVPs and to develop in a lean way. If you don't want to get profitable with your game... okay, have fun with your hobby.

So, nobody was insulting nobody. In my opinion, Netsun wasn't insulting him too. Not everybody is interested in beeing the Duke or King in whatever. ;)

Funny its considered trolling when I have an opinion., but when you have an opinion its okay. Call it what you want.  

 

It makes no sense to do a large open world is AGAIN your opinion. Thats NOT WHAT HE ASKED! who said anyone was being a AAA company? AGAIN! your opinion. the whole post wasnt about yours and netsuns opinion he asked a damn question and you gave an opinion! 

and I didnt think net was insulting him I am just going by what he done in past posts.. someone comes on here and asks a simple question and its responded with opinions or let me show you i am better than you attitudes. Thats what im talking about and if you cant see that then I am sorry but I dont mind calling anyone out on it when they start doing it.

 

Link to comment
Share on other sites

1 hour ago, bbautista said:

Thats just it net.. no one asked your opinion.. your opinions are always rude .. and not very helpful. he asked a question and like most posts.. you always reply with an opinion not a helpful answer.. ever.. now we can go all day and argue but I actually have better things to do.. since im stupid and dont know what im doing ... and i shouldnt be on here.. I recall you stating that before ... Oh im sure you dont remember but anyways.. if you cant be helpful dont respond. no one really cares about opinions. The internet is full of opinions. 

Hum yes so ask him more information about what he whant to know is a opignion?  If you read the complet post you will see what append. I ask him more information about whant a Large world mean for him (for some people it whit a lot of instance other whit big map ect. After he answer it about the big map so i say Atavism dont have probleme whit that it a unity probleme and you need to do a VERY VERY big map to have that probleme so i dont think he gonna have it and after he say i'm sarcastic and i dont help. And after you come here and you talk about something than nobody have talk so i think it you who come here whit a opinion and i just answer to what you say. If you dont whant a answer to something you say just say nothing. 

Edited by Netsun
Link to comment
Share on other sites

lol now i dont read complete posts .. see how you try to make people, or try to make others think that you are better than another person by the remarks you make. This isnt the first time you have done this., really most of the posts you reply to.. is just like this. and yet again you continue on and on. fact remains, if you cant respond directly stop answering posts with your un needed rude opinions 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recommended Cloud Solution


    ksweb.net


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.