Map generation - Only one map - Seed defines pos
-
- Fast Inserter
- Posts: 121
- Joined: Tue Jul 14, 2015 10:57 pm
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I second the request to treat this as a bug. Yes, the approach is fine; mathematically, using an extremely large surface and using the seed as an offset makes perfect sense. However, the fact that AntiElite found multiple overlapping seeds is strong evidence that it's not implemented right.
-
- Filter Inserter
- Posts: 549
- Joined: Fri Jan 29, 2016 2:48 am
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I have recently gleaned that Wubers like to maintain a strict-ish distinction between 'bugs', defined as "circumstances in which a Wube developer wrote code that doesn't work as designed", and stuff such as mis-features, missing features, proposed enhancements to the game, and so forth, where there is perhaps a conceptual problem of some kind but the code is working as intended.Rhamphoryncus wrote:I second the request to treat this as a bug. Yes, the approach is fine; mathematically, using an extremely large surface and using the seed as an offset makes perfect sense. However, the fact that AntiElite found multiple overlapping seeds is strong evidence that it's not implemented right.
This is understandable because there is actually a separate forum for the latter class of "non-bug" things. I also suspect Wube likes to handle them differently, i.e., maybe it's fine for developers to "just fix" a code-bug in the strict sense above, but there needs to be some kind of discussion before folks just go and change how the actual gameplay is designed, even if the change is very popularly demanded.
Like you, I often refer to various shitty things like "nobody answers the phone at the office when I call at 6pm" 'bugs' but I can get behind the idea that, strictly speaking, they are some other kind of problem and calling it a "bug" is just a convenient metaphor (for, ironically, yet another convenient metaphor -- I suppose that makes it a metametaphor).
Re: [0.13.16] Map generation - Only one map - Seed defines pos
To be a bit pedantic... my understanding of deterministic random generators is that they do not have to work that way. It would be perfectly possible to have a deterministic random map generator which did not have this shift effect.Rseding91 wrote:That's what I was saying: there's only 1 map - you're correct. The "random" element is the seed which is simply a shift of x/y on that same 1 map so it appears as if it's random because the 1 map is near infinite and you simply shift the entire map by that random seed value to make the map look different. That's how deterministic map generation works.AntiElite wrote:You got me wrong there: What I actually mean is that the map is always the same regardless of the Seed. Even different Seed produce the same Map. The Seed just influences where you start, like the x/y coords of the map.
Edited original text to clearify.
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
As an extreme example, look at Dwarf Fortressthuejk wrote:To be a bit pedantic... my understanding of deterministic random generators is that they do not have to work that way. It would be perfectly possible to have a deterministic random map generator which did not have this shift effect.Rseding91 wrote:That's what I was saying: there's only 1 map - you're correct. The "random" element is the seed which is simply a shift of x/y on that same 1 map so it appears as if it's random because the 1 map is near infinite and you simply shift the entire map by that random seed value to make the map look different. That's how deterministic map generation works.AntiElite wrote:You got me wrong there: What I actually mean is that the map is always the same regardless of the Seed. Even different Seed produce the same Map. The Seed just influences where you start, like the x/y coords of the map.
Edited original text to clearify.
Not that I expect Wube to go into that level of detail...
Re: [0.13.16] Map generation - Only one map - Seed defines pos
Well if we start that meta discussion... then basically I have seen this before in other developer forums...
A player says: "We want less repetitive or boring <insert feature>"
The developers basically understand: "We want random number generators everywhere"
... as if there wouldn't be deterministic algorithms around that achieve a pseudo-random feeling for the player. Some simple sin/cos rotation additionally to the shift would do wonders already since it would be harder to recognize the pattern if it is rotated by 120° for example.
I have also seen the other way around in RNG heavy Loot games (Diablo 3, Warframe, just to name a few I have had the dishonor playing in the past 3 years)... where the players wanted to have a more deterministic outcome instead of random crap dropping everywhere and having to grind your butt sore.
There they added even more stupid layers of RNG on top of the RNG so you can RNG while you are RNG'ing. But there they did it because their marketing departments have more influence on game development than the programmer team actually implementing the game. And they take any chance to push the profits.
It seems like Developers often come from an entirely different viewpoint, often one that is contrary to the one players have. And while I don't want to say that people at Wube don't know what fun is (they do so more than most companies in the entire video game business, more than some well known companies that are established for 3 decades)... yet Wube are still often coming from an extreme programer side, which often results in either oversimplified or overcomplicated solutions. The map generator seed seems like one where they took the shortcut.
That said it's not always a bad thing... I would never have noticed that the pattern is the same, just shifted by a few tiles... and I have cycled through a lot of seeds myself until I found one that suits my taste. But probably that's because I always paid more attention to the landscape instead of the resources and I often took the bitter pill with a bad resource distribution at start just because I liked the overall landscape.
A player says: "We want less repetitive or boring <insert feature>"
The developers basically understand: "We want random number generators everywhere"
... as if there wouldn't be deterministic algorithms around that achieve a pseudo-random feeling for the player. Some simple sin/cos rotation additionally to the shift would do wonders already since it would be harder to recognize the pattern if it is rotated by 120° for example.
I have also seen the other way around in RNG heavy Loot games (Diablo 3, Warframe, just to name a few I have had the dishonor playing in the past 3 years)... where the players wanted to have a more deterministic outcome instead of random crap dropping everywhere and having to grind your butt sore.
There they added even more stupid layers of RNG on top of the RNG so you can RNG while you are RNG'ing. But there they did it because their marketing departments have more influence on game development than the programmer team actually implementing the game. And they take any chance to push the profits.
It seems like Developers often come from an entirely different viewpoint, often one that is contrary to the one players have. And while I don't want to say that people at Wube don't know what fun is (they do so more than most companies in the entire video game business, more than some well known companies that are established for 3 decades)... yet Wube are still often coming from an extreme programer side, which often results in either oversimplified or overcomplicated solutions. The map generator seed seems like one where they took the shortcut.
That said it's not always a bad thing... I would never have noticed that the pattern is the same, just shifted by a few tiles... and I have cycled through a lot of seeds myself until I found one that suits my taste. But probably that's because I always paid more attention to the landscape instead of the resources and I often took the bitter pill with a bad resource distribution at start just because I liked the overall landscape.
-
- Long Handed Inserter
- Posts: 53
- Joined: Fri Apr 15, 2016 9:02 am
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I think it's just not implemented correctly. I've done a lot of programming with perlin, simplex, fractal and other types of noise that can be "segmented" into chunks like factorio appears to do and honestly different seeds *do* end up generating completely different noise/terrain/whatever-you-want-to-call-it and it's still deterministic. So I don't believe the assertion that "this is the way all deterministic map generation works" because I know it's not. How do I know? I've done it.
Re: [0.13.16] Map generation - Only one map - Seed defines pos
Definitely a bug.
Changing the seed should be changing the procedural generation of biomes, water, ores, even if the map settings are the same.
If I provide a different seed, I expect to get a different map, not just a different starting position on the same map.
As an extreme example:
If the default map settings for Factorio result in a map that has no narrow landmass feature like the Panamian Isthmus, then no game of Factorio on the default map settings can occur on a narrow landmass feature like the Panamian Isthmus.
Given a true PRNG procedural generator, it should be possible to find many seeds that generate a narrow landmass feature like the Panamian Isthmus.
Changing the seed should be changing the procedural generation of biomes, water, ores, even if the map settings are the same.
If I provide a different seed, I expect to get a different map, not just a different starting position on the same map.
As an extreme example:
If the default map settings for Factorio result in a map that has no narrow landmass feature like the Panamian Isthmus, then no game of Factorio on the default map settings can occur on a narrow landmass feature like the Panamian Isthmus.
Given a true PRNG procedural generator, it should be possible to find many seeds that generate a narrow landmass feature like the Panamian Isthmus.
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off. I was working on small game project. And we used map generation with seed and every seed created completly different map. Not shifted map. And this map was still truly deterministic.nonstickfrypan wrote:I think it's just not implemented correctly. I've done a lot of programming with perlin, simplex, fractal and other types of noise that can be "segmented" into chunks like factorio appears to do and honestly different seeds *do* end up generating completely different noise/terrain/whatever-you-want-to-call-it and it's still deterministic. So I don't believe the assertion that "this is the way all deterministic map generation works" because I know it's not. How do I know? I've done it.
If seed doesn't change the map. I wander how they change resource amount and patch sizes.
Re: [0.13.16] Map generation - Only one map - Seed defines pos
As people are wanting to discuss this further, i am moving this thread to general discussion.
As a clarification: This generation is how factorio has always worked, and isn't a bug. Feel free to suggest better and novel ways that we can change it, but please don't bash any of the devs for this system.
As a clarification: This generation is how factorio has always worked, and isn't a bug. Feel free to suggest better and novel ways that we can change it, but please don't bash any of the devs for this system.
-
- Filter Inserter
- Posts: 810
- Joined: Fri Apr 29, 2016 5:27 pm
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
You guys might want to look into the stuff that the devs of No Man's Sky did to get their 18 quintillion unique plants. They actually used some patterns that were discovered in the 90s to be extremely prevalent in nature to influence the pRNG to give more realistic looking results and apparently it has worked pretty well.Klonan wrote:As people are wanting to discuss this further, i am moving this thread to general discussion.
As a clarification: This generation is how factorio has always worked, and isn't a bug. Feel free to suggest better and novel ways that we can change it, but please don't bash any of the devs for this system.
http://www.dailydot.com/parsec/no-mans- ... -creation/
The made heavy use of fractal geometry because it occurs frequently in nature.
https://en.wikipedia.org/wiki/Fractal
I recall that they found a scholarly article from the 90s that had models that, with merely changing parameter values, could model a wide variety of real-world fractal patterns, and that they made use of those models in the game (having trouble tracking the article I read that in down atm).
Re: [0.13.16] Map generation - Only one map - Seed defines pos
That's exactly why no dev said that. That quote is straight-up wrong as well. What a dev said is that factorio does it this way. And that this is how deterministic map generation works. And he was right. Deterministic map generation can work like that. It's not how it has to be and there are lot's of different methods to deterministically generate random maps. But given an infinite fixed map, a random offset is enough to create a perfectly randomized map (done right). However, the factorio map from what I know is not infinite, which might or might not be the reason why this behavior was observed.Hooch wrote:I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off.
I can understand that the developer "quoted" was unclear with his statement, but when in doubt I'd argue in his favor. There's no benefit at all if everyone get's in here just to use the pitchforks.
No offense to you personally Hooch, I noticed this behavior in the whole thread and simply quoted the last example.
Re: [0.13.16] Map generation - Only one map - Seed defines pos
The quote was originally said by Rseding91 on page one of this thread. Rseding91 is listed here as "factorio staff", and is a developer according to https://www.factorio.com/team .drahti wrote:That's exactly why no dev said that. That quote is straight-up wrong as well.Hooch wrote:I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off.
We rate your claim that "no dev said that" as "pants on fire".
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
Rseding91 did not make that particular quote, but the quote that was made could be interpreted as ambuigious. It is my belief that it is only supposed to refer to Factorio's implementation, and not all implementations.thuejk wrote:The quote was originally said by Rseding91 on page one of this thread. Rseding91 is listed here as "factorio staff", and is a developer according to https://www.factorio.com/team .drahti wrote:That's exactly why no dev said that. That quote is straight-up wrong as well.Hooch wrote:I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off.
We rate your claim that "no dev said that" as "pants on fire".
Rseding91 wrote:That's how deterministic map generation works.
Re: Map generation - Only one map - Seed defines pos
Guys just calm down. It's not an end the the world thing. I mean all of you never noticed that this is how map gen works for years. This is exactly why i didn't want to post this on reddit, because i feared that this may end in a shitstorm. But someone else posted it anyway, however there seems to be need for discusion, so... Imo map generation works well right now. Just make the shift bigger and it's fine. There no need to rewrite the whole mapgeneration as some of you suggest, that would be an overkill and too time costy - remember you never noticed...
@ the devs: I'm sorry about how this thread turned out. That was not my intention. I just wanted to report what i thought was a bug and hoped for an easy fix for this. Also that would be helpful for my speedrun work.
@ the devs: I'm sorry about how this thread turned out. That was not my intention. I just wanted to report what i thought was a bug and hoped for an easy fix for this. Also that would be helpful for my speedrun work.
-
- Long Handed Inserter
- Posts: 53
- Joined: Fri Apr 15, 2016 9:02 am
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I'm not sure anyone was bashing devs. I certainly wasn't and if it came across that way I apoligise. What I was questioning was the implementation, not a dev or any person whatsoever.Klonan wrote:[...] Feel free to suggest better and novel ways that we can change it, but please don't bash any of the devs for this system.
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: Map generation - Only one map - Seed defines pos
The main reason I posted this up on Reddit was because it's an interesting curiousity. The secondary reason was to find out how people felt about the somewhat small (but bigger than I though it was, evidently) range of actual starting position. I never questioned the implementation itself, just the value of a single constant in it; I actually feel that the map should be identical (or at least very similar) when you leave the starting area, since it makes for a neat easter egg which can somewhat establish a canon map of Nauvis.
Re: [0.13.16] Map generation - Only one map - Seed defines pos
Imagine the number Pi. It is infinite and irrational number and it contains somewhere along itself any rational finite number you want. You just have to know the shift along this number that can be called "a seed". So, there's nothing wrong with the current map generator, it's just how things work. Next time just make sure you use very different seeds in order to get different places in the generated world.Nazgutek wrote:Definitely a bug.
Changing the seed should be changing the procedural generation of biomes, water, ores, even if the map settings are the same.
If I provide a different seed, I expect to get a different map, not just a different starting position on the same map.
As an extreme example:
If the default map settings for Factorio result in a map that has no narrow landmass feature like the Panamian Isthmus, then no game of Factorio on the default map settings can occur on a narrow landmass feature like the Panamian Isthmus.
Given a true PRNG procedural generator, it should be possible to find many seeds that generate a narrow landmass feature like the Panamian Isthmus.
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I'm going to interpret what you posted as "On a map which does not have a feature like the Panamian Isthmus, it's just a matter of picking the right starting location seed to see the Panamian Isthmus".hitzu wrote:Imagine the number Pi. It is infinite and irrational number and it contains somewhere along itself any rational finite number you want. You just have to know the shift along this number that can be called "a seed". So, there's nothing wrong with the current map generator, it's just how things work. Next time just make sure you use very different seeds in order to get different places in the generated world.Nazgutek wrote:Definitely a bug.
Changing the seed should be changing the procedural generation of biomes, water, ores, even if the map settings are the same.
If I provide a different seed, I expect to get a different map, not just a different starting position on the same map.
As an extreme example:
If the default map settings for Factorio result in a map that has no narrow landmass feature like the Panamian Isthmus, then no game of Factorio on the default map settings can occur on a narrow landmass feature like the Panamian Isthmus.
Given a true PRNG procedural generator, it should be possible to find many seeds that generate a narrow landmass feature like the Panamian Isthmus.
I would reply further, but I'm worried you won't read it properly and just pull me down further into some kind of logical-fallacy-clusterstorm.
-
- Filter Inserter
- Posts: 810
- Joined: Fri Apr 29, 2016 5:27 pm
- Contact:
Re: [0.13.16] Map generation - Only one map - Seed defines pos
I understand what your criticism here is (I have a degree in math, fyi). Just because the start location is random and the map huge, does not mean that every type of feature you might want the map to have (or not have for that matter) can be found (or not found) on that map. Contrary to popular belief, there is no guarantee that every finite sequence of digits can be found somewhere in the decimal representation of pi, (such numbers are called normal numbers, and pi is suspected to be a normal number, but it has not been proven; see https://en.wikipedia.org/wiki/Pi) only that the sequence is necessarily non-repeating (it does not have a finite sequence of digits that is repeated in order ad infinum). Decimal representations of irrational numbers can even fail to use all of the numerals 0-9 (though pi is known to use all of them).Nazgutek wrote:I'm going to interpret what you posted as "On a map which does not have a feature like the Panamian Isthmus, it's just a matter of picking the right starting location seed to see the Panamian Isthmus".hitzu wrote:Imagine the number Pi. It is infinite and irrational number and it contains somewhere along itself any rational finite number you want. You just have to know the shift along this number that can be called "a seed". So, there's nothing wrong with the current map generator, it's just how things work. Next time just make sure you use very different seeds in order to get different places in the generated world.Nazgutek wrote:Definitely a bug.
Changing the seed should be changing the procedural generation of biomes, water, ores, even if the map settings are the same.
If I provide a different seed, I expect to get a different map, not just a different starting position on the same map.
As an extreme example:
If the default map settings for Factorio result in a map that has no narrow landmass feature like the Panamian Isthmus, then no game of Factorio on the default map settings can occur on a narrow landmass feature like the Panamian Isthmus.
Given a true PRNG procedural generator, it should be possible to find many seeds that generate a narrow landmass feature like the Panamian Isthmus.
I would reply further, but I'm worried you won't read it properly and just pull me down further into some kind of logical-fallacy-clusterstorm.
I'm not sure how the mapgen for Factorio current works, but however the actual map itself is created could probably easily be modified to have genuine pseudorandomness. We know that the algorithm is based on Perlin noise: https://en.wikipedia.org/wiki/Perlin_noise.
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: Map generation - Only one map - Seed defines pos
On the other hand, remember that there are only 2^32 different seeds possible, not an infinite number, so it is acceptable if some types of desired features never appear, since it will be impossible to have every possible desired feature in a limited number of seeds.