The following is from observation and may be revised later if more definitive answers become available.
(EDIT: 01FEB2021 - ver 1.06 behaves differently from 1.07. In 1.07 each time an NPC walks out of range, another one spawns in. In 1.06 if an NPC moves out of range (or you move out of range of them) they do NOT re-spawn. As long as 1 NPC is within range, no more NPC's will spawn. When the last one moves out of range or you move out of range, then 15 new ones will spawn at once. This is the same in the wilderness, but with less NPC's.)(EDIT: 03FEB2021 - this appears to be city related. Different settlements seem to behave differently.)
Using the minimap (Q+B+X), you can see that 15 NPCs are on the map at any one time. This corresponds nicely with the 15 occupations. In fact, each of the 15 will have a different 1 of each of the occupations. One will be a thief, another will be a hunter and so on. I was able to "capture" 8 NPCs at one time that were stopped close to my character. Each of them had a different job and and when I moved to talk to a 9th, he had a 9th different job. Along with this, I noticed that I have not been able to capture duplicates with the same job (two NPC's that have stopped next to me at the same time).
NPCs spawn immediately when entering a town. If you save the game and restart it, the same NPC's have the same jobs and same names. So it seems that just like with monster stats in dungeons; NPCs are assigned their name and occupation when they spawn in. However, the description they give for their occupation may change.
When an NPC moves approximately 20 blocks away from you (Or you move 20 blocks away from the NPC), the NPC will de-spawn and a new NPC will spawn in within approximately 10 of the player. This is how you can talk to a "Thug" and then just a few seconds later talk to another "Thug". The first one walked out of range and was replaced by one that spawns close to you. As long as the NPC remains within 20 blocks, it will stay on the map no matter where you go.
WILDERNESSIn the wilderness the NPCs spawn in groups of 7. This depends on the Wilderness block. Some blocks will not spawn any NPCs. (I did have one occasion where only one was spawning, but this wasn't reproducible.) The occupations are a shortened list of the city occupations.
- V1.06: Animal Handler, Astrologist, Goldsmith, Joiner, Physician, Rogue, Thug.
- V1.07: Bodyguard, Historian, Hunter, Interpreter, Mercenary, Thief, Weaver
It seems that whether a block spawns NPCs or not, isn't exactly tied to the type of wilderness block. Meaning that changing the list so that it only spawns one type of block....then every instance will spawn NPCs. In Rihad, the first block spawns NPCs while the block immediately to the left does not. If I reverse just those two blocks, it still spawns NPCs just outside the gate and doesn't in the block just to the left. This means that it isn't exactly the block type, it isn't exactly defined as a static part of the wilderness generation and it isn't exactly the list the block is chosen from. I'm not exactly sure how that is determined. Although for a single city wilderness, the same type of blocks seem to behave the same way.
(EDIT: Just a follow-up note. The wiki homepage for OpenTESArena shows their current release is 0.12.0 and introduces NPC's walking around. It also shows plans to introduce NPC interactions in ver 0.16.0 with name, directions, rumors. They may already have the details from Arena, but it's not yet implemented into their program. --And just an aside; their focus isn't to reproduce the Arena game engine. They don't necessarily need to understand how Arena actually works (or doesn't), they just need to know what is supposed to happen and where the resources are at. My point is that it's possible the reason I haven't found anything about this subject, is because it's not necessary when you can just avoid and work around it.)
Last edited by
Satribe on Wed Feb 03, 2021 3:15 pm, edited 2 times in total.