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 minefriek · Jun 09, 2014 at 02:28 AM · terrainproceduralgenerationplanet

Procedural Terrain Generation on a Map the Scale of the Milky Way

Hey Everyone

This question isn't so much technical and writing code, but more about finding out if it is possible and if I should reign in my ambition or try and find a different engine.

To fully explain the sort of thing I need to happen in my game I will give you a more specific description of what I intend to do if I find it possible, and attempt anyway if found impossible with current technology.

Picture a planet in space, with procedurally generated terrain. the scale of which from anywhere between a tenth to the scale of earth, now picture the solar system around it. The individual asteroids on trajectories independant of eachother and changable bassed on events in the game. the planets in the system which are each also the scale of a tenth to the full scale of earth, the tree's the flora, the fauna and the fully customisable structures to be built. Now picture that incredibly detailed solar system with the fps and RTS pespectives available at a moments notice, in a galaxy the size of the milky way. The gigantic space battles that will take place between rivalling powers, the believable characters with ever changing and evolving stories. the possible billions of charactwers you can become at a moments notice.

Now, I ask you, if done correctly with the map being generated in a supercomputer if needed and having players play on the same map, is this possible with Unity or any code out there even? or do I need to either scale back my vision or wait 20 years?

Comment
Add comment · Show 2
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 LMan · Jun 09, 2014 at 02:53 AM 0
Share

I think that this question really belongs in the forums- answers is more about the technical side of things and not what if's.

That said, the short answer to your question is yes. that is possible and you don't even need a supercomputer really. But there is a big difference between possible and practical.

avatar image Owen-Reynolds · Jun 09, 2014 at 05:31 AM 0
Share

Doesn't sound like a very fun game. $$anonymous$$$$anonymous$$Os already have enough problems with empty zones. Watched my nephew play the GTA with 4 playable characters, and that was exhausting. EVE has big space battles, and seems to do better where the planets are just dots on the map.

2 Replies

· Add your reply
  • Sort: 
avatar image
2
Best Answer

Answer by Tarlius · Jun 09, 2014 at 10:35 AM

The terrain generation, which seems to be your main technical worry, is not too difficult.

As long as you start with a set seed for the random number generator, it is very possible to generate the same random world/universe for everyone (this is how Elite and Daggerfall worked; I'm sure others have used it too). That doesn't mean the areas would be interesting though. Locations that are hand-crafted by skilled artists will be more interesting than any procedurally generated environments.

However, "believable characters", which you seem to skip over, will be incredibly difficult/impossible to automate on any engine. AI is not a solved problem, unless you mean to replace them with people. However, since the most-played online games (with massive advertising budgets and/or that went viral) have populations in the 10s of millions, getting a player-base big enough to feasibly populate multiple planets of that size is... optimistic, to say the least!

Also note that having hundreds of players in the same area in an MMO is very difficult (on any engine). Not only do you have the memory constraints of having all different armours/clothes/ships/etc, you also have the very real problem of overloaded servers (EVE "slows down time" when a region of space becomes overpopulated (1k+ ships or so I think), and they have crazy servers with more memory than a lot of computers have storage.

Another technical problem you might have problems with is saving what the player has done to the environment. If I recall correctly, a lot of problems with Skyrim came from them saving too much of the players interations with the environment to the point that the save files became too big to actually load. If you are going to make a multiplayer environment, multiply this problem by the number of players.

If you are an RTS fan who just wants to blow planets up, you might want to look at Planetary Annihilation.

You could probably create a much more believable universe by doing a few locations in high detail than lots of dull locations. You might be able to make a cool game by mixing the two though. Vast wildernesses procedurally generated with towns and sometimes camps/dungeons you make yourself. I think a few games take this approach, but I can't remember names. :/

I think you may need to think about what you really want to do. Unless you have a major budget, or plans to get one, it might be better to at least pick a genre to focus on. Its usually better to get the core game right (which requires knowing what the "core" is) than to do lots of things badly.

Comment
Add comment · 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
0

Answer by DevanMedrow · Apr 13, 2016 at 05:17 PM

Generate the train out in separate saved databases. You have won database file for sector-00, sector-01, sector-10 sector-11, excetera excetera. For your Galaxy View which at Maxim out the game will only read star positions and Colour and any nebula information generating your view of the Galaxy. Then if you zoom in it will dump the sectors that you cannot see. Further zooming in we'll start loading out of the database information about the individual star systems around those Stars. So at that point the most you would have loaded would be four sectors and any of the Stars within view of the camera. Possibly also loading information about stars within a camera view that is greater then the one you render basically pre-loading the Stars so if you move your camera you don't have them taking time to load in. Then you would probably have a separate file 4 the planets that would have all of your train information for that planet. As you download the information for a planet you would be able to dump the Galaxy information. That way you're not trying to search through a file for relevant information that is 20 gigs Stellar data. With the asteroids individual position and orbit that would just be XY coordinates at time frame zero with direction and speed. Then when you load the data divide current clock by time of orbital period then the remainder is where you place the object (asteroid/planet). Now if somebody altars and asteroids trajectory that would update the the database for that object. In my opinion this would give you the ability to have a very large system multiple people loading in and have the least impact on a system. I was hoping to be able to do something similar. If anybody reading this has any better ideas please let me know.

Comment
Add comment · 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

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

25 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to procedural generation 0 Answers

2D Procedural Terrain Generation 1 Answer

Diamond Square Algorithm 2 Answers

Planet made out of terrains 3 Answers

QuadPlane to Sphere Terrain Generator Misaligned 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