NPC spawning

In Terraria, enemies, critters, and other NPCs will spawn off screen and enter the screen area based on their AI. The rate at which enemies are spawned, the maximum number of enemies, and the type of enemies spawned are all dependent on the time of day, biome, the tile type of the ground, and other factors.

Spawn Rates
There is a 1 in "Spawn rate" chance an enemy will spawn every game tick. There are 60 ticks per second, so a spawn rate of 600 means, approximately, a 10% chance of at least one enemy spawning per second, and a spawn rate of 100 means approximately a 45% chance of at least one enemy spawning per second.

When the game is determining the maximum number of enemies in the area, the "Max Spawns" is used. Some enemies count towards this limit more than others. Most bats are considered 0.5, uncommon enemies typically count as 3, bosses count as 5 and finally critters do not count toward the limit. But there are some enemies not taken into account, some of which are even (part of) bosses, such as the body and tail of Devourer, Giant Worm, Eater of Worlds, Bone Serpent, Digger, World Feeder, Leech and Wyvern (including its leg), all parts of The Destroyer, Golem, Moon Lord, Wall of Flesh and its The Hungry (not including The Hungry II), Lunatic Cultist and so on.

Note: the "Max Spawns" focuses only on monsters that are in a specific area whose center is the player, in other words, active enemies for the player. When an enemy is outside the 504*283.5 blocks rectangle (1920*1080 pixels screen multiplied with 4.2*4.2) and it is not a boss, the monster will not be considered active, thus not counted in when checking the max-spawns limit and other calculations. (Fortunately for the enemy and event farming: the enemy will despawn if it is outside another specific rectangle which is much smaller. See NPC despawning for more details.)

The minimum (fastest) spawn rate under normal conditions is 60, and the maximum spawns is 15. The modifiers from Water Candle and Battle Potion are set before these limits are checked. Invasion events (including Goblin Army, Frost Legion, Pirate Invasion and Martian Madness) and moon Events (Lunar Event/Pumpkin Moon/Frost Moon) are a special case; they ignore any modifiers or limits to the spawning rates or number of spawns (including water candles/battle potions).

Drinking a Calming Potion increases (therefore slows) enemy spawn rate.

Additionally, the spawn rate will be modified by the number of active enemies in the area. The fewer active enemies there are, the faster they will spawn. If there are fewer than 20% of the enemies the maximum number of spawns allows, the spawn rate will be multiplied by 0.6. If fewer than 40% of the enemies exist, the spawn rate is multiplied by 0.8, 65% of the max spawns correspond to the multiplier 0.8 and 80% of the enemies means that the spawn rate is multiplied by 0.9. That means that if the player is in an area where the spawn rate is 600 and the max spawns are 10, but there are only 2 or fewer enemies, the effective spawn rate is 360 until more enemies spawn.

The presence of friendly NPCs greatly reduces the rate at which enemies spawn, and also reduces the maximum enemies as well. When 3 or more NPCs, or the Skeleton Merchant are present, no enemies will spawn. Events such as Slime Rain, Pirate Invasion, Lunar Event, etc bypass this reduction.

Certain items will also change the max spawns and spawn rate when used or placed, as per the table below.

Some biomes will override each other when determining the spawn rate. Corruption, Dungeon, Meteor and Jungle are all mutually exclusive spawn rates. Dungeon has the highest priority, then jungle, corruption, and finally meteor. For example, if a meteor hits the jungle, it will use jungle spawn rates.

Spawning Basics
Each player in the game will spawn their own enemies. If two players are in the same area, monsters will appear twice as fast as they would with only one player. Max Spawns rule are still used, which means that even if 2 players are in the same spot, you cannot gather 30 normal monsters near the spot. (Don't forget, the bats count as 1/2, and some special enemies count as 2 or more.)

Choosing a spot to spawn the enemy
When the game decides to spawn an enemy, it will first choose a random tile within a rectangle around the player (specifically, the tile containing the top left corner of the player's hitbox). The maximum distance from the player it can choose from is 84 tiles west, 83 east, 46 up, and 45 down. If the picked tile is a solid block, it will try another one. Tiles that are actuated out do not count as solid. If the picked tile has a player-placed wall that blocks enemies from spawning, it will also try another tile.

Once an empty tile is found, it moves down until it finds the ground. (Note that this tile can be more than 45 tiles below from the player. If it finally is outside the "Active Rectangle" it will be instantly despawned, anyway.) If there is enough space for an enemy to be spawned at this location, this will be the tile it chooses. The exception to this is when the player is in an area where Harpies and many other flying enemies can be spawned. In this case, the game does not attempt to find a ground tile.

The chosen tile is then checked to make sure it is not within the "safe" area around the player. It cannot be within 62 tiles east or west, or 34 tiles up or down. Also, the chosen tile space must be completely outside 2088 × 1172 pixel rectangles centered on the center of each player's hitbox. (If the player is not riding a mount, the top edge of this is 34 + 3/16 tiles above the top left corner tile mentioned above, meaning that NPCs can spawn on ground exactly 35 tiles above a player standing on half blocks, but not a player standing on full blocks.)

Using certain items causes monsters to spawn further out than normal. Equipping a Rifle Scope or Sniper Scope does so only when the player has a compatible gun selected, whether or not the player is zoomed out.

On the, the no-spawn area around the player is 68 by 48 tiles, and the spawn area is 112 by 62 tiles. In addition, enemies cannot spawn closer than 34 tiles to the sides and 24 tiles up and down. They also cannot spawn farther than 56 tiles to the sides and 31 tiles up and down.

Choosing a type of enemy to spawn
The type of enemy spawned will depend on many factors including, but not limited to:


 * Time of day
 * Weather (e.g., Angry Nimbus and Ice Golem require Rain/Blizzard)
 * Depth
 * Relative X location on the map (Ocean)
 * Current biome (Corruption, Meteor, Jungle, etc...)
 * Ground tile type
 * Wall behind player (e.g. Dungeon Brick Wall, Lihzahrd Brick Wall)
 * Special events (Blood Moon, Solar Eclipse, invasion events, etc)
 * Randomness