Resolved the requirements for desert enemies to spawn in getfixedboi is only to stand in front of unsafe walls

Zyraphim

The Destroyer
Steam or GOG
Steam
Single Player/Multiplayer
Single
Operating System
Windows 11
Terraria Version
1.4.4.9
Controls Used
Keyboard/Mouse

In normal worlds, underground desert enemies cannot spawn on normal tiles. The tile they spawn on has to be sand / sandstone, unsafe walls have to be behind it, and the player itself has to be standing in front of unsafe walls. This is not the case in getfixedboi. Simply standing in front of unsafe walls fulfils their spawn requirement. I'm split on whether this is intentional considering the nature of the seed or not since it's this "feature" isn't recorded in the getfixedboi wiki page. Mobile also has this "feature".

 
This is not entirely accurate.

The rules for Underground Desert (UD) enemies are the same for all worlds regardless of seed. To spawn one of these enemies, the following conditions must be met:
  • Either
    • The spawn tile or the tile above it is front of an unsafe UD wall, OR
    • The spawn tile is in the underground layer (not caverns) AND whichever condition below is (randomly) chosen must be true:
      • (33% of spawns) At least one tile within a 10-30 (random per spawn) tile square around the spawn tile is in front of an unsafe UD wall,
      • (66% of spawns) the player is in front of an unsafe UD wall,
  • AND the spawn tile is underground.
It is therefore possible for UD enemies to spawn on non-sand tiles - even ones without unsafe UD walls behind them - as long as the player is in front of an unsafe UD wall. This does result in fewer spawns, but it is possible, both on getfixedboi and non-getfixedboi worlds. ;)
 
This is not entirely accurate.

The rules for Underground Desert (UD) enemies are the same for all worlds regardless of seed. To spawn one of these enemies, the following conditions must be met:
  • Either
    • The spawn tile or the tile above it is front of an unsafe UD wall, OR
    • The spawn tile is in the underground layer (not caverns) AND whichever condition below is (randomly) chosen must be true:
      • (33% of spawns) At least one tile within a 10-30 (random per spawn) tile square around the spawn tile is in front of an unsafe UD wall,
      • (66% of spawns) the player is in front of an unsafe UD wall,
  • AND the spawn tile is underground.
It is therefore possible for UD enemies to spawn on non-sand tiles - even ones without unsafe UD walls behind them - as long as the player is in front of an unsafe UD wall. This does result in fewer spawns, but it is possible, both on getfixedboi and non-getfixedboi worlds. ;)

These are the enemies that spawn in a normal seed:

1701140146283.png


And these are the enemies that spawn in GFB:

1701140221399.png


The conditions are exactly the same in both of these. I am standing in front unsafe UD wall, in a desert biome (there are sand blocks below that I didn't capture), in the "cavern" layer (underground for GFB), and there are no unsafe UD walls or desert tiles in the enemy spawning area. Yet desert enemies still spawn even though there's no difference between the two.
 
These are the enemies that spawn in a normal seed:

View attachment 442699

And these are the enemies that spawn in GFB:

View attachment 442700

The conditions are exactly the same in both of these. I am standing in front unsafe UD wall, in a desert biome (there are sand blocks below that I didn't capture), in the "cavern" layer (underground for GFB), and there are no unsafe UD walls or desert tiles in the enemy spawning area. Yet desert enemies still spawn even though there's no difference between the two.
The difference here is the height level. While they're both in what each world considers the "cavern" layer, this spawn method only works if you're above the absolute boundary between underground and caverns (i.e. the transition of dirt background to stone background). Which is why it works on your GFB world, and not on your normal world.

If you were to build your normal world grinder in the Underground layer, it would work. ;)
 
The difference here is the height level. While they're both in what each world considers the "cavern" layer, this spawn method only works if you're above the absolute boundary between underground and caverns (i.e. the transition of dirt background to stone background). Which is why it works on your GFB world, and not on your normal world.

If you were to build your normal world grinder in the Underground layer, it would work. ;)
I should've explained better. I don't want desert enemies to spawn if there aren't any desert tiles to spawn on. So you're saying that even though GFB makes the Underground layer act like the Caverns, the spawning system still considers it to be the Underground layer?
 
I should've explained better. I don't want desert enemies to spawn if there aren't any desert tiles to spawn on. So you're saying that even though GFB makes the Underground layer act like the Caverns, the spawning system still considers it to be the Underground layer?
For the purposes of Underground Desert enemies it does, yes. It's rather inconsistent, though, so I that doesn't apply to spawning in general.
 
Wouldn't that be a bug that needs fixing?
I can raise it, but my personal take is that it's not a bug as far as Remix/GFB is concerned: Underground Desert stops at the underground/cavern boundary (what in Remix is the surface), so flipping the boundary would simply invalidate the rule altogether, as there are no unsafe UD walls to satisfy the randomly chosen condition either way. How it works now makes sense for Remix worlds.

If anything, the bug applies to normal worlds, because it makes UD enemies unable to spawn outside of the UD once you reach the caverns layer. Which is technically a bug, but not a very impactful one - when you are in the UD yourself you won't notice it, and it just means that you should not build your grinders below the underground layer.
 
I can raise it, but my personal take is that it's not a bug as far as Remix/GFB is concerned: Underground Desert stops at the underground/cavern boundary (what in Remix is the surface), so flipping the boundary would simply invalidate the rule altogether, as there are no unsafe UD walls to satisfy the randomly chosen condition either way. How it works now makes sense for Remix worlds.

In normal worlds, yes. It stops at the underground/cavern boundary. But not in GFB:

1701176484791.png


If anything, the bug applies to normal worlds, because it makes UD enemies unable to spawn outside of the UD once you reach the caverns layer. Which is technically a bug, but not a very impactful one - when you are in the UD yourself you won't notice it, and it just means that you should not build your grinders below the underground layer.

I'd rather not have this "bug" fixed
 
Ah that's true. Still, I'd like this to be changed since it's a little strange since this seems to be the only mechanic that isn't flipped. Maybe it was overlooked in the development process since it's so small
I'll bring this issue to the attention of the developers. More than that I can't do, unfortunately. :)
 
A suggestion to your farm: considering the 3x3 area your character stands, the UdDesert biome test (for extra spawn rate) checks the wall on the center block, and allow both safe & unsafe version of the walls. The UdDesert enemy test, however, check the topleft corner, and only accept unsafe wall. so it is possible to only get the spawn rate bonus without polluting the enemy list.

taking this setup as example, when you stand on the ground, you get the spawn rate bonus as well as the bgm change, but no UdDesert enemy. if you stand on the platform, you get the enemy but not spawn rate & bgm
1702955708390.png


you may either set up the wall location carefully or simply use only the safe wall (if you want to farm enemies that only appear without safe wall, light up a shadow candle)
 
Last edited:
A suggestion to your farm: considering the 3x3 area your character stands, the UdDesert biome test (for extra spawn rate) checks the wall on the center block, and allow both safe & unsafe version of the walls. The UdDesert enemy test, however, check the topleft corner, and only accept unsafe wall. so it is possible to only get the spawn rate bonus without polluting the enemy list.

taking this setup as example, when you stand on the ground, you get the spawn rate bonus as well as the bgm change, but no UdDesert enemy. if you stand on the platform, you get the enemy but not spawn rate & bgm
View attachment 447256

you may either set up the wall location carefully or simply use only the safe wall (if you want to farm enemies that only appear without safe wall, light up a shadow candle)
Thanks I'll try this
Sorry for the late response
 
Back
Top Bottom