                       Spawn Times

People frequently ask how long a particular mob takes to respawn.

Timers

Most mobs spawn at fixed intervals of time. Once every hour, for example. But this doesn't mean the mob always spawns after an hour. It means the mob gets a chance to spawn every hour.

To make this mechanism work, the server maintains a timer for each mob. A timer is a piece of software that clicks off seconds just like a kitchen timer. When the time runs out, the server rolls virtual dice to decide whether to spawn the mob. Then it restarts the timer from the beginning.

Some mobs spawn more frequently than others because the developers assign two special numbers to each one. The first number is the length of time it takes the timer to run out. For a common mob the length of time might be 60 seconds, giving the mob a chance to spawn once a minute. A rare mob might be set to 84,000 seconds, which equals a full day and night.

The second special number is the probability that the mob will spawn when its timer runs out. We can think of the probability as a number between zero and 100. A value of 100 means the mob always pops when its timer runs out. A probability of zero means the mob never spawns. If the probability is 75, the mob's chances of popping are three out of four.

How It Works

Here's how the whole mechanism works. When a mob's timer runs out, the server looks to see whether the mob is alive. If it isn't, the server decides whether to create it by calculating a random number between 1 and 100. (The actual arithmetic might be a little different, but it works this way in principle.) If this number is less than or equal to the mob's assigned probability, the mob is created. If the number is higher, the mob does not get created. Then the server restarts the timer so the process will repeat in the future.

Some of these details have been described publicly by Mythic, but we can learn even more about them by studying the game carefully. For example, earlier today I stood in Prugor's camp for an hour and killed him repeatedly. Whenever he spawned or died I recorded the time. Here are the results: Mythic explained spawn timers in this old Grab Bag article.  Prugor is a good mob to observe to see how timers work, because his timer length is short and his probability of spawning is very high.

 Spawned Died Occurred Elapsed Occurred Elapsed Real time Game time Real time Game time Real time Game time Real time Game time 14:03:41 13:53:21 14:04:03 ~14:02:00 14:08:45 15:54:25 5:04 2:01:04 14:09:04 16:02:03 5:01 ~2:00:03 14:13:49 17:55:08 5:04 2:00:43 14:14:11 ~18:05:30 5:07 ~2:03:27 14:18:53 20:25:15 5:04 2:30:07 14:19:05 ~20:31:42 4:54 ~2:26:12 14:29:02 01:28:33 10:09 5:03:18 14:29:17 1:36:15 10:12 ~5:04:33 14:34:06 04:00:01 5:04 2:31:28 14:34:20 4:07:04 5:03 ~:2:30:49 14:39:11 06:25:20 5:05 2:25:19 14:39:27 6:31:06 5:07 2:24:02 14:44:16 08:26:36 5:05 2:01:16 14:44:30 8:32:34 5:03 2:01:28 14:49:20 10:27:50 5:04 2:01:14 14:49:35 10:33:51 5:05 2:01:17

The main thing to notice in this table is that intervals between spawns, when measured in real time, were almost always 304 or 305 seconds. (Those numbers are blue.) There was only one exception, between the fourth and fith spawns, when the interval was twice that length. In contrast, the same intervals when measured in game time were irregular, showing that game time doesn't run at a constant speed. The intervals between deaths, no matter how we measure them, were irregular.

Since real times in this table are only accurate to within a second, we can conclude from this that Prugor's timer length is 304.5 seconds of real time, and that his timer isn't affected by his deaths.

The reason the interval between the fourth and fifth spawns is twice that length is that halfway between them, the timer fired and the server decided not to spawn Prugor. That was the only time the dice roll failed.

Now we know one of the two numbers that determine the characteristics of Prugor's spawn: his timer length. It's 304.5 real seconds. Can we also figure out the second number, his probability? Yes, we can. We count the total number of spawns except for the first: 8. Then we count the number of elapsed timer periods: 9. We divide the first number by the second to get .89 and multiply by 100 to express it as a percentage: 89%. That's our estimate of Prugor's probability.

Most likely this estimate isn't very accurate because we used a small number of timer periods to calculate it. If we had recorded 1000 timer periods instead of only 9, the estimate would almost certainly be closer to the actual number used by the server.

How Long Does He Take To Pop?

Now that timers have been explained, we can tackle the question we began with: "How long does a particular mob take to respawn?"

Sometimes this question has a useful answer. With a mob like Prugor, whose probability is close to 100%, the question makes sense. He usually spawns every five minutes.

But with many rare mobs, the question doesn't have a useful answer. To see why, let's consider the typical rare mob discussed by Mythic in the Grab Bag article referenced in the sidebar.

According to Mythic, that typical mob has a timer length of one hour and a probability of 10 percent. With such a low probability, the mob's spawn intervals will be extremely irregular.

To get a better sense of this, I wrote a simulation program that calculates the intervals between spawns. (The source code is provided below.) Here's some sample output. Each number of hours is the elapsed time between one spawn and the next:

 1 12 hours 2 1 hour 3 7 hours 4 1 hour 5 11 hours 6 5 hours 7 2 hours 8 11 hours 9 34 hours 10 1 hour

If you had been camping this mob, sometimes you would have waited only 60 minutes and other times more than a day and a half.

Now suppose somebody asks you, "What's this mob's spawn time?"

One way to answer would be, "It varies between an hour and 34 hours," but that's not much help.

You could also answer by giving the average spawn time, but there are two problems with this:

1. It's almost impossible to figure out the average spawn time of a rare mob in the game.

2. Even if you knew the average time, it wouldn't be helpful. We can see this by calculating the average time for our hypothetical mob with the formula length / probability. The average time is ten hours. But look at the numbers in the table. The actual spawn times were almost never close to ten hours.

 // this program simulates spawns of daoc mobs // compiles with MSVC++ 6.0 #include #include #include // roll_dice makes the decision whether to // spawn a mob. pass the mob's probability to // it (the mob's chance of spawning) as a // number between 0 and 1, and the function // returns true for "spawn it" or false for // "don't spawn it" bool roll_dice ( double prob ) {      int r = rand();      if ( ( (double) r / (double) RAND_MAX ) < prob )          return true;      else          return false; } int main () {            int timer_length = 1;      double probability = .10;      srand ((unsigned)time(NULL)); // seed random number generator      for ( int i = 0; i < 10; i ++ )      {          for ( int elapsed_time = 1; true; elapsed_time++ )          {              if ( roll_dice ( probability ) )              {                  printf ( "%2d. %2d hours\n", i+1, elapsed_time);                  break;              }          }      }      printf ( "Press Enter to close window.\n" ); getchar(); }  Please send additions and corrections to robbie @ daoc-trophy-mobs.com. Copyright 2003-16 DAOC-Trophy-Mobs.com. 