To follow up on my previous indignant posts. Honestly, I don't see anything wrong with re-generating the galaxy. Familiar and already discovered planets will become different? So what? The main thing is that they will become better and more realistic. That's what we need to think about!
It’s not just re-generating the galaxy; someone would have to spend a lot of time writing the new code & templates. And then there would be inevitable bugs to fix.
Many people almost celebrating this news and calling it a good decision likely don't realise the gravity of the situation. Cuts are being made to development because of cost. Resources are constrained and sacrifices are being made. This isn't something to be celebrated and it probably isn't the last of the sacrifices. Gone are the days of groundbreaking tech and clever development as the game is settling for mediocre results. Worrying times ahead ...
No, this is not a decision to be celebrated at all. What might be celebrated is that it has been finally announced (finally, because — I am going to say it again — to me, it was not unexpected at all).
Which is why I question the use of prefab stamps to begin with. I do understand why the technology is used to upgrade Horizons' planet generation algorithm, but a more elegant solution would have been using procedurally-generated templates instead of prefabricated ones. That's actually what I thought we were going to get when Dr. Ross was talking about planets being formed using equations that take plate tectonics and other geological influences into account. Instead artists sat down and whipped up a bunch of templates in Photoshop based on "that looks geological" rather than actual procgen variables, or at least that's how appears.
I have no idea how the templates were generated, i.e. whether they were hand-crafted or hand-picked from a set of algorithmically generated ones, but the obvious (well, to me) problems with generating templates procedurally are: (1) it takes considerable amounts of CPU and/or GPU power, and would have to be done over and over and over and over and … (you get the idea) again because of how on-the-fly terrain generation works; (2) they need to blend with other templates; and (3) they are supposed to look sane, which is something only a human can judge properly.
I do not think those problems are insurmountable; however, given how rushed Odyssey release was, there was probably not enough time to do any better.
Why would you use procedural generation (which could make a practically infinite number of cliff edge shapes) to produce a small handful which you then manually touch up? It would be like going to the trouble of writing code to randomly generate bingo cards and then taking the first 5, photoshopping them to look pretty and printing off thousands of copies? Utter madness surely?
No, not the first 5; the only 5 that look acceptable.
Bingo cards can be generated with a simple set of rules. Think how they would look like if generated by AI trained on pictures of existing bingo cards.
Speaking of corrective AI, how hard would it have been for Frontier to pop tiles from a stack to prevent a dozen identical dragons or scorpions from wallpapering a planet? That seems like an amateur mistake to me that could have easily been avoided.
Popping tiles from a stack is something you can do if you generate the terrain once and then forget about it. Not if you generate random parts of huge terrain on the fly over and over again. (Well in principle it could be done, but CPU/GPU cost would have been high.)
Bugs typically give a very interesting insight into how things might work under the hood. Here is my guess: There are a various 'decks' of tiles. Each deck has [x] number of possible tiles that can be selected for the basic planet outline. Depending on the planet properties from stellar forge, irrelevant cards are discarded. Very low G planet? Some cards are gone. No atmo? Even more go out of the window. Et cetera. On itself this is fine: SF filters the cards, which are then shuffled, resized, stretched and combined. After that you have low-level PG to give them a unique look on low altitudes and surface level. A very big advantage is that it is a flexible system for adding new planet types: you dont need to change the old ones, you can just add a new deck for [condition X], add tiles, and only allow those planets to select from it.
The problem is that apparently there are edge cases where a specific set of conditions filter too much, all the way down to only 1 available tile from that deck. Which then gets plastered all over the planet as the system thinks having 30 identical tiles of the right deck and filter selections is more appropriate than adding different, but 'inappropriate' tiles. For most planets there is no issue at all. For some there is a small issue as the deck is smallish and a tile might be selecting twice. And for extreme outliers you get these bizarre 100% identical patches over and over.
I think most of the above is correct, although rather than “shuffling the deck” the algorithm picks templates at random based on a set of conditions.
Seeds are not generated on the fly in EDO.
RNG seeds are most definitely generated on the fly (from body IDs, I believe) in ED, except for manual overrides.
And there is no AI in the game. Moreover, AI does not produce exactly the same result every time from the same input data. So it can't be a solution for on-the-fly generation.
You can design an AI to produce exactly the same result every time. However, I do not think any part of E:D’s terrain generator can be called an AI.
I'll take them at their word on this and assume that the tiles are in themselves generated using various principles of tectonics, erosion, etc.
Incidentally, Kay Ross never referred to those templates as
tiles (because they are not tiles) — it is a word gamers have used.
I have wondered why they don't "just" say "no more than one occurrence of each large-scale tile per planet" - and I wonder if there's some issue that because the terrain is dynamically generated on the GPU, they can't actually enforce that because it would mean having to transfer too much of the work to something single-threaded and kill the already shaky performance.
It is more of a problem of figuring out what templates are used for other parts of a body. Remember, the terrain generator is concerned only with the part of a body it has been tasked to generate. In order to figure out what templates are used in other parts of the body, it would have to generate (partially) terrain for all the other areas as well. I think one can easily see how huge a performance hog it would become.