Map generation - Only one map - Seed defines pos

Post all other topics which do not belong to any other category.
Rhamphoryncus
Fast Inserter
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

Post by Rhamphoryncus »

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.

golfmiketango
Filter Inserter
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

Post by golfmiketango »

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.
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.

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).

thuejk
Fast Inserter
Fast Inserter
Posts: 121
Joined: Fri Feb 13, 2015 8:41 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by thuejk »

Rseding91 wrote:
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.
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.
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.

User avatar
TruePikachu
Filter Inserter
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

Post by TruePikachu »

thuejk wrote:
Rseding91 wrote:
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.
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.
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.
As an extreme example, look at Dwarf Fortress :D
Not that I expect Wube to go into that level of detail...

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by MeduSalem »

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.

nonstickfrypan
Long Handed Inserter
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

Post by nonstickfrypan »

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.

Nazgutek
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jul 22, 2016 11:55 am
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by Nazgutek »

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.

Hooch
Inserter
Inserter
Posts: 20
Joined: Sun Jun 26, 2016 6:13 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by Hooch »

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.
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.


If seed doesn't change the map. I wander how they change resource amount and patch sizes.

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5221
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by Klonan »

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.

Frightning
Filter Inserter
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

Post by Frightning »

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.
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.
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).

drahti
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Jul 16, 2016 2:28 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by drahti »

Hooch wrote:I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off.
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.

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.

thuejk
Fast Inserter
Fast Inserter
Posts: 121
Joined: Fri Feb 13, 2015 8:41 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by thuejk »

drahti wrote:
Hooch wrote:I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off.
That's exactly why no dev said that. That quote is straight-up wrong as well.
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 .

We rate your claim that "no dev said that" as "pants on fire".

User avatar
TruePikachu
Filter Inserter
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

Post by TruePikachu »

thuejk wrote:
drahti wrote:
Hooch wrote:I agree with you strongly. That quote "this is the way all deterministic map generation works" really throw me off.
That's exactly why no dev said that. That quote is straight-up wrong as well.
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 .

We rate your claim that "no dev said that" as "pants on fire".
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.
Rseding91 wrote:That's how deterministic map generation works.

AntiElitz
Filter Inserter
Filter Inserter
Posts: 455
Joined: Sat Aug 29, 2015 11:37 pm
Contact:

Re: Map generation - Only one map - Seed defines pos

Post by AntiElitz »

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.

nonstickfrypan
Long Handed Inserter
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

Post by nonstickfrypan »

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.
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.

User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: Map generation - Only one map - Seed defines pos

Post by TruePikachu »

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.

User avatar
hitzu
Filter Inserter
Filter Inserter
Posts: 539
Joined: Tue Sep 09, 2014 5:55 pm
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by hitzu »

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.
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
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jul 22, 2016 11:55 am
Contact:

Re: [0.13.16] Map generation - Only one map - Seed defines pos

Post by Nazgutek »

hitzu wrote:
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.
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.
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".

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.

Frightning
Filter Inserter
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

Post by Frightning »

Nazgutek wrote:
hitzu wrote:
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.
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.
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".

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 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).

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.

User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: Map generation - Only one map - Seed defines pos

Post by TruePikachu »

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.

Post Reply

Return to “General discussion”