forums | blogs | polls | tutorials | downloads | rules | help

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in remember_me_form_alter() (line 78 of /var/www/siegetheday.org/sites/all/modules/contrib/remember_me/remember_me.module).

Respawning Monsters!?

I'm talking Dungeon Siege 1 here, we've seen it done in LOH and I'm sure more than one person is wondering how this can be done. So, someone with your infinite wisdom, please enlighten us.

Thankies,
-Gene

You will see it again in the Abstraction siegelet, currently in beta testing.

I assume you are talking about modding.

You can have a simple omni Go with a timer that clone templates every so often, as long as the party is in the frustrum.

I'm not sure how it will be handled in Abstraction & I'm not sure how Episthene's technique would work, but I've tried several methods for respawning monsters.

You do have to be very careful as some methods are very dangerous. One method I tried worked fine initially but eventually locked up the game due to the sheer amount of memory it required. The game became very laggy & saved games became enormous.

Xaa told me that the method he used in LOH is based on generators. I tracked down some code used in the Gremal Hunter mod & applied it in a test version of Legends of Utrae (which I later scrapped), and it appeared to work fine. Basically the generator was set to spawn a monster every 10 minutes or so and would activate once the player entered the frustrum. Walking through the map the first time you wouldn't notice any difference at all from situations where monsters were placed directly into the map. Later there would be variations depending on how long it has been since you've been in the area (the generators in Gremal Hunter could be set not to spawn anything if the player was within a certain distance of the generator). I don't know if this is the same method used by Xaa or not.

Thanks Iryan,

I totally forgot that there were generators in DS already.

It is probabbly the easiest route. The difficulty is to determine the position where to spawn, so a generator placed in some places in the map solves that problem. And of course there is the advantage that they are already coded. Smile

The generator skrits are found in
world/contentdb/components/generators

The skrit you need is probably generator_advanced_a2.skrit

Some example templates are found in :
world/contentdb/templates/regular/generators

[Edit clean BBC Code]

The gremal hunter generator idea sounds very similar to how we're doing it in U6P. We've actually got different generators that pull from a comma separated list of potential creatures that can be spawned and are tracking:
- Max # of spawns that can be active at one time
- Number of spawns that are generated per cycle
- Number of minutes between cycles
- % chance of spawn per cycle
- spawn count adjustments based upon party size (bigger party increases the max # of spawns by a percentage)
- Time of last spawn (this is used to populate areas with more monsters if the party has been away for a while)

In order to keep track of all these variables, we're using scidbits to hold information. This helps out by allowing us to expire the go and not have to keep it in memory for the entire game. When the go comes back into the frustum, it checks it's scidbits to find out the last time it spawned and the number of current spawns it has active.

Each spawn that gets created is given a reference to the scid of the generator that created it. As the spawn dies or expires, it updates the scidbits of the generator to tell it that it's active spawn count has decreased.

Here's some bit of code...

http://www.planetdungeonsiege.com/dungeoneers/tutorials/monster_respawn_skrit.shtml

and you can download a respawn-mod, which allows other players to join your game, etc .
Here...
http://www.freewebs.com/darkheaven_project/respawn.zip

-Thanks

I like that the monsters we will spawn have a minimum setting but most will also base off of the player that wanders into them. Meaning monsters and their drops will not be generated until you enter their frustum. Yes this means they are generators, and in the case of mods that explode normally on death they will come back as well, and pretty darn fast at that. Laughing out loud Also the mobs will have a bit of variance, which means if you go into a spot at the same level the same spot may or may not have a mob and it may have a different life total even though you are the same. Yes we could also generate random monsters to appear but we are not doing that.

Quote:
on death they will come back as well, and pretty darn fast at that.

It reminds me in my first attempt at LOH. I kill a whole bunch of krugs, turn to heal, and get attacked in the back! Laughing out loud