Trending Games | Pantheon: Rise of the Fallen | World of Warcraft | Crowfall | Black Desert Online

    Facebook Twitter YouTube Twitch.tv YouTube.Gaming Discord
Register
Quick Game Jump
Members:3,909,342 Users Online:0
Games:785 

Show Blog

Link to this blogs RSS feed

r1ft Gaming Blog

A mirror of my gaming blog at r1ft.com. The jaded game designer turned corporate lackey. Feedback is always welcome.

Author: Daedren

Making Static Spawns More Dynamic

Posted by Daedren Saturday June 9 2007 at 9:14AM
Login or Register to rate this blog post!

Static spawn points can be summarized as "Locations in a virtual world where an object or entity is born." The dynamic behind this is vital for a persistent world to provide constant things to gather, kill, or otherwise harass and interact with. While it might not be the most realistic thing, it's a necessary evil that will need be implemented, at least in some way, shape or form.


Past MMORPG's use pretty much the same system: Static or somewhat randomized (in a general area) of X Y Z coordinates for entity #whatever being born. This way, when a player runs into the woods, spiders and bears and boars (oh my) are abounding, wandering to and fro on set paths.


How can we improve on this? Let me show you the ways.


Changing Static to Dynamic?


  • Static spawn points can be tweaked, depending on the entity, to provide more realism.

For example, let's take ... Rad Scorpions! So, we have a bunch of Rad Scorpions. Shall we put them in a field with X Y Z coordinates, static walking paths, etc? That's no fun!


For this example, it's easy to change a static spawn point to something more realistic. Say, inside a cave. Or, inside some rocks. Whatever the place is, the player won't be able to get there. And to add to the fun, the Rad Scorpions won't just run out of the cave or rock. Maybe they will, but maybe they'll wait until there are 3-5 of them together to come out.


This example shows how easy it is to make a static spawn point a dynamic encounter. Hero goes jaunting off to the Rad Scorpion cave. He shoots a few scorpions in the eyes with his BB-gun. It's quiet... where'd they all go? OH MY GOD 4 JUST CAME OUT OF THE ROCKS THEY'RE COMING FOR ME AHHH!


That's the sort of encounters we'd like to see. Of course, this scenario is easy with entities such as Scorpions, Rats, and generally small things that can burrow and live in places people can't go.


But what about big things like Deathclaws and humans like Slavers?


Well, things get more complicated here, of course.


Regarding Human and Intelligent Encounters


Stepping back and looking at the current implementation of these encounters is sadly amusing. Nothing like walking down the street or being knee-deep in a bad guys hideout when *POOF* people just pop out of thin air and attack. The sad part about is that gamers are so desensitized to this thing that they don't care. Does this mean we should take an apathetic approach and not improve on this archaic system? Of course not!


Here are a few quick solutions to this:


  • Don't have entities appear within a certain distance of any players.
  • Set distant "spawn points" where reinforcements or packs of things will come to aid. (like a slaver patrol coming into the hideout once it senses trouble, or a pack of deathclaws stalking into the den to protect it)
  • Make spawn points dynamic in location, time, and strength.
  • Randomize spawn cycles and points so that it's not predictable where a given entity will "respawn" after a given amount of time.

Any of these would make for a more dynamic, fun and challenging encounter.


In conclusion, making static spawning more dynamic is doable. Simply:
  • Randomize entity strength, location, and spawn cycle intervals.
  • Get away from the static X Y Z , time M coordinate/timer mentality.
  • Add a surprise factor in encounters that will constantly keep players on their guard. (how did that scorpion learn to use a machine gun?!)
  • Lastly, don't be afraid to implement ideas because they are complex or hard to code.

Do you have more ideas on how to make spawning more dynamic? We'd like to hear it!