Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by jc_lvngstn · Mar 30, 2011 at 07:01 PM · networkproceduralauthoritativenon-authoritative

Infinite/procedural multiplayer world in Unity possible?

So, a project where the terrain/environments are procedurally generated. Players and other entities are Unity gameobjects, with physics/collision. Players can go off on their own, explore, etc. Or interact with each other, if they choose.

How is this possible with networking? If you have a single authoritative server, that means the server has to have a collision mesh for the terrain where -each- player is at. I -need- the terrain to have a collision mesh, so physics and default collision will work.

The problem: Player one is at the "origin". Player two is a pazillion miles away. Ok, maybe not that far...but WAAAAY away. Unity has a limited range that it can place gameobjects at. How does the server manage multiple collision mesh/gameobjects for each player's zone?

I could spawn a server for each player...but then, I might as well just use non-authoritative networking, and have each player handle their own zone, and inform the other players/clients of changes if necessary. I don't like that this makes it easier for people to cheat, but I don't know of a way to handle this with a single server.

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image rocky740 · Dec 13, 2015 at 04:00 PM 0
Share

I'm trying to do much of the same, although it would be on an ocean so would that require less power? or more due to the amount of movement...idk

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Jason B · Mar 30, 2011 at 07:18 PM

I should think the amount of raw power required by the authoritative server would be legendary. I mean, just to constantly be procedurally generating things for EVERY player as each player wanders into new things. Especially when you apply the "infinite" scope to it. So how many tens of thousands of players need content generated for them on the fly now? :) Only way it would be feasible is to use each player's processing power to do it, but now you've made it exponentially more complex.

As you said, each player needs to handle their own zone, but also as you said, now players can cheat by running pretty simple memory hacks.

Personally, I think you should try instead to make a finite area of play, and make the features of that finite area be what is procedural. Spore comes to mind here. Each planet is a finite body, but how you populate each planet and what effects your actions have on the general ecosystem is totally dynamic.

Just because it's finite doesn't mean it has to be small, though. A good handful of MMORPGs have worlds so big that it's literally boring to travel across them on foot, so accommodations such as horses, air vehicles, and even loading screen transitions exist.

I'm kind of just shooting the breeze here, I guess. This topic might be better suited for the forum, not sure.

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image jc_lvngstn · Mar 30, 2011 at 08:01 PM 0
Share

Thanks for your response! The procedurally generated terrain isn't so heavy on processing power that it would cripple the server. The terrain is pretty simple. "Infinite" terrain is a big feature, but you do have a good point. Let's say 7 players max. I can honestly say that limiting it to one zone's worth of terrain would be severely limiting. As far as $$anonymous$$$$anonymous$$O's having static zones...the issue here is, a zone should be not only large...but the terrain data is 3 dimensional, not 2. And, it's procedurally generated...so it's not like each player can load static zone mesh data from the disk.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

1 Person is following this question.

avatar image

Related Questions

Auth Server or not? -1 Answers

Very simple networking question 0 Answers

How to make server authoritative (and block network.Instantiate from clients) ? 1 Answer

Client does not recieve host's Network.Instantiate during game setup 0 Answers

Network.Instantiate a non-prefab? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges