Critter Spawn and Roombounds+Portals

Post » Tue Nov 20, 2012 12:33 pm

In my mod http://www.gamesas.com/topic/1417687-wipz-mzandahrk-mega-dwemer-home-mdh/ I have an aquarium with a truck load of Critter Spawn activators all spawning a variety of fish. Until recently there was never any quirky behaviour in evidence. My activators would spawn the fish and the fish would swim around \0/ \0/ \0/.

After following the http://www.creationkit.com/Bethesda_Tutorial_Optimization I started noticing that were I to leave the roombound (without leaving the cell) the fish were in, depending on where else I went/which directions I looked in, when I returned to the aquarium only a few (or none) of my fish would remain.

I'm pretty sure I'm using all the vanilla spawn scripts but I'll update this post in a sec with the scripts. Any idea how to get my sweet little fishies to stay put/*persist??

http://i101.photobucket.com/albums/m57/will_cuthill/Mzandahrk/ScreenShot843.png.
User avatar
joeK
 
Posts: 3370
Joined: Tue Jul 10, 2007 10:22 am

Post » Tue Nov 20, 2012 3:43 am

My only thoughts are, make sure that the roombounds aren't clipping or set up wrong. Roombounds don't control spawns, i.e. an actor who is note being rendered by a roombounds, is still being simulated and is still there. So the fish aren't being despawned or anything with you leave, just no longer rendered.

Are the roombounds big enough and all encompassing? :/
User avatar
Jason White
 
Posts: 3531
Joined: Fri Jul 27, 2007 12:54 pm

Post » Tue Nov 20, 2012 10:56 am

I'll post a shot of my cell but I'm pretty confident that my bounds are slick. They stitched together flawlessly and fully encompass every object within them.

Another user who has been testing my mod also reported this issue.
User avatar
Calum Campbell
 
Posts: 3574
Joined: Tue Jul 10, 2007 7:55 am

Post » Tue Nov 20, 2012 5:40 pm

Confirmed that I am using the Vanilla critterspawn scripts (some of the objects have the dummy critterspawn01, 02 on them because they spawn multiple types of fish).

Here is a shot of the relevant part of my cell. You can see the Critter Spawn Activators in the center.

http://i101.photobucket.com/albums/m57/will_cuthill/Mzandahrk/MzandahrkRoombounds01.png.

Bounds 1-4 are all interlinked and represent one room. Bounds 5-8 represent an adjacent room.
User avatar
Jaylene Brower
 
Posts: 3347
Joined: Tue Aug 15, 2006 12:24 pm

Post » Tue Nov 20, 2012 8:25 am

From this angle it looks like almost all of your roombounds are going through eachother quite a bit... That's a recipe for a lot of issues with rendering. Are you sure you can't assort them or tweak the level shape to allow for cleaner roombound allotment? Or are they not clipping? (Weird camera angle?)
User avatar
RUby DIaz
 
Posts: 3383
Joined: Wed Nov 29, 2006 8:18 am

Post » Tue Nov 20, 2012 10:42 am

Thats just the angle Alex. They are flush. Snapped auxiliary's to the main roombound for each room which were all snapped to the first one I did. I did all my stitching in lines so that any give would not result in "tension" so to speak (having rooms pull others in opposing directions). Roombounds were all made big enough to ensure that any minor calculated movement would have zero chance to expose objects to the void.

If they weren't flush I would have other problems and I doubt that I wouldn't know about it. This seems pretty specific to my critters.

*EDIT: 6 and 8 are kinda doing their own thing and do overlap but this hasn't caused me any discernible issues.
User avatar
R.I.p MOmmy
 
Posts: 3463
Joined: Wed Sep 06, 2006 8:40 pm

Post » Tue Nov 20, 2012 9:52 am

The only overlaps that matter are the "real" rooms. If I understood correctly, 1-4 are one room and 5-8 are another? So it doesn't matter if 1 overlaps 2, but it matters if 4 overlaps 5. The picture looks very strange, but I guess it's the angle. What bothers me is that I can only find a link between rooms 2 and 3. Also, rooms 7, 8 and the portal(?) there look very weird. Probably still the angle.

When you say you don't have any errors, I assume you mean the "validate room markers and portals"-check. CK or the game don't really mind the faulty optimization, but the results can be bizarre. Whatever the cause is, it's very strange that the fish are disappearing, if they all are inside the marker 2. Then again, it's a huge marker and the game doesn't seem to like those.

I think the patches might affect the optimization slightly, 1.6 totally destroyed my roombounds/portals in one cell, I had to remake them all.
User avatar
helliehexx
 
Posts: 3477
Joined: Fri Jun 30, 2006 7:45 pm

Post » Tue Nov 20, 2012 9:03 am

4 does overlap but it's outside any normally viewable area, same reason for bounds 6 and 8: due to stuff not being rendered properly (in-room) when bounds do not fully enclose objects.

All those roombounds/portals were made with up-to-date (pre-november patch) Skyrim and Creation Kit.

The game doesn't like huge roombounds? I may have to construct a similar test then but with small rooms. That will be a pain.

Because the space/shape is rather complex I originally left Room A un-roombounded and just had a portal straight into Room B. This doesn't really achieve anything as you don't see anything through the portal. (You might have from one direction but not the other IIRC)
User avatar
gary lee
 
Posts: 3436
Joined: Tue Jul 03, 2007 7:49 pm

Post » Tue Nov 20, 2012 8:39 am

4 does overlap but it's outside any normally viewable area

It doesn't matter if the overlap happens out of sight, it still (most likely) leads into problems, if the markers aren't forming a joined room. Markers 6 and 8 seem to be in 45 degree angles, so they are bound to overlap something, you can't really help that. But it doesn't matter if they are joined to form a single room.

The game doesn't like huge roombounds? I may have to construct a similar test then but with small rooms. That will be a pain.

I have personally found it to be very tricky to make big roombounds work perfectly. Even though anything seems to be in order, the validation shows errors all the time. I'm not saying you can't make them or that that's the reason you're having a problem, but they tend to have a lot more issues.

Because the space/shape is rather complex I originally left Room A un-roombounded and just had a portal straight into Room B. This doesn't really achieve anything as you don't see anything through the portal. (You might have from one direction but not the other IIRC)

Yeah, it can be pretty annoying that if you make one room marker, you pretty much have to make them for the whole cell. One solution might be to use occlusion objects only.
User avatar
*Chloe*
 
Posts: 3538
Joined: Fri Jul 07, 2006 4:34 am

Post » Tue Nov 20, 2012 4:43 am

Please excuse me, if this is beside the point, but vanilla critter spawners in general work like this:
- When a cell is loaded/attached(*), they activate and start monitoring how far you are
- When you approach close enough, they spawn their load of critters, but they do this only once and then shut down
- When you wander away. the critters delete themselves once you are far enough.
- If you approach again, nothing happens until the cell is once again loaded/attached(*).

Thus, you may easily end up with no critters at all, if you wander away from the spawner without actually leaving the cell, and this is easily observed throughout the game. There is actually a comment in the script stating, that the developers no longer wish to have the spawner working more than once, and I have wondered, if this is what M'aiq refers to when saying, that butterflies used to be plentiful.

Anyway, I am not sure this has anything to do with your issue, but it might be good to be aware of, just in case. If this is your issue. you may need to constuct custom critter spawners of your own.

(*) Can't remember which
User avatar
michael danso
 
Posts: 3492
Joined: Wed Jun 13, 2007 9:21 am

Post » Tue Nov 20, 2012 8:29 am

That pretty clearly explains what's happening, meaning you can't have roombounds for your cell.

When you leave the room and the roombounds cull the fish, they are despawned, and when you come back since the cell was never reloaded (you never left) they are not spawned again.

Solution: No more roombounds. But your cell looked really small anyway, are you sure they're needed?
User avatar
k a t e
 
Posts: 3378
Joined: Fri Jan 19, 2007 9:00 am

Post » Tue Nov 20, 2012 4:32 am

Please excuse me, if this is beside the point, but vanilla critter spawners in general work like this:
- When a cell is loaded/attached(*), they activate and start monitoring how far you are
- When you approach close enough, they spawn their load of critters, but they do this only once.
- When you go away from them, the critters are deleted once you are far enough.
- If you approach again, they do nothing untill the cell is loaded/attached(*) again.

Thus, you may easily end up with no critters at all, if you wander away from the spawner without actually leaving the cell, and this is easily observed throughout the game. There is actually a comment in the script stating, that the developers no longer wish to have the spawner working more than once, and I have wondered, if this is what M'aiq refers to when saying, that butterflies used to be plentiful.

Anyway, I am not sure this has anything to do with your issue, but it might be good to be aware of, just in case. If this is your issue. you may need to constuct custom critter spawners of your own.

(*) Can't remember which

I feel really silly now. :blush: Thanks.


But your cell looked really small anyway, are you sure they're needed?

Ohhhh yeah :yes: . That was a screen of the relevant part of my cell. It's fairly sizeable. After I've finished putting all the lighting and other FX in it will definitely be in need of some optimization. It was starting to get a bit laggy for me.

Thanks for the help everyone, I'll let you know how it goes. I like my fish.
User avatar
Lyd
 
Posts: 3335
Joined: Sat Aug 26, 2006 2:56 pm

Post » Tue Nov 20, 2012 4:45 pm

Could you perhaps make your own customized critter spawns that do spawn the animals over and over as to fix your problem?
User avatar
Marlo Stanfield
 
Posts: 3432
Joined: Wed May 16, 2007 11:00 pm

Post » Tue Nov 20, 2012 7:56 pm

Could you perhaps make your own customized critter spawns that do spawn the animals over and over as to fix your problem?
I'll have to take them apart and customize them for my purposes yes. It should be fine to just keep them spawned. An OnCellLoad event would be good because sometimes if you are quick you can see some of them spawning before your eyes (not good).
User avatar
Emma louise Wendelk
 
Posts: 3385
Joined: Sat Dec 09, 2006 9:31 pm

Post » Tue Nov 20, 2012 9:29 am

FYI:

I have had a very close look at the entire critter system (which I regret). I have noticed, that it is a horribly inefficient, complete and utter mess. I am very gradually working on overhauling it for myself, but that will take lots of time.

As an example, the relevant scripts contain unnecessary function calls, one after another, that all introduce delays. If I remember correctly, placing one single fish requires more than half a dozen calls to RandomFloat(), which all need to be synched with the frame rate. So it is no wonder, that you can see the fish appearing gradually. Also, The fish don't use them, but they are all placed in the world together with two invisible dummy marker objects, which actually are used by butterflies, although they wouldn't really need them either.

Just beware, that if you start looking too closely, you may end up spending lots of time just reworking the entire critter concept. And try not to think too much about the fact, that the fish swim inside a conical space, when you probably have rectangular tanks. :)
User avatar
Taylor Thompson
 
Posts: 3350
Joined: Fri Nov 16, 2007 5:19 am

Post » Tue Nov 20, 2012 1:22 pm

FYI:

I have had a very close look at the entire critter system (which I regret). I have noticed, that it is a horribly inefficient, complete and utter mess. I am very gradually working on overhauling it for myself, but that will take lots of time.

As an example, the relevant scripts contain unnecessary function calls, one after another, that all introduce delays. If I remember correctly, placing one single fish requires more than half a dozen calls to RandomFloat(), which all need to be synched with the frame rate. So it is no wonder, that you can see the fish appearing gradually. Also, The fish don't use them, but they are all placed in the world together with two invisible dummy marker objects, which actually are used by butterflies, although they wouldn't really need them either.

Just beware, that if you start looking too closely, you may end up spending lots of time just reworking the entire critter concept. And try not to think too much about the fact, that the fish swim inside a conical space, when you probably have rectangular tanks.

I've still got quite a long way to go on my mod so if you finish your overhaul would you care to give me a shout? In the meantime, I'll probably get around to having a go at it, I'm busy with quite a few other things concerning my mod though.

The fish seem to swim fine, I posted a screenshot of my setup above. http://i101.photobucket.com/albums/m57/will_cuthill/Mzandahrk/MzandahrkRoombounds01.png.

*EDIT: I do realise that I could have fewer spawn activators if I amped the number of spawns but I wanted the presence of fish to take up a large volume.
User avatar
anna ley
 
Posts: 3382
Joined: Fri Jul 07, 2006 2:04 am

Post » Tue Nov 20, 2012 2:51 pm

if you finish your overhaul would you care to give me a shout?
Just don't count on it. because I have currently put it on ice.

Partly, because I fear, that making radical changes to the critter system might be premature, while there may still be new DLC's in the pipeline, that may or may not try to make use of it.
User avatar
JeSsy ArEllano
 
Posts: 3369
Joined: Fri Oct 20, 2006 10:51 am

Post » Tue Nov 20, 2012 10:13 am

To go slightly off topic, I know exactly what you mean. I remember seeing the Dragonborn trailer and the Telvanni levitation/jump thing could have been quite a neat solution to a logistical problem of mine (NPC/follower friendly to boot) but instead http://www.youtube.com/watch?v=tm88TK9sMak&feature=youtu.be&hd=1.
That feature is a couple of weeks old (only just got around to making the video for a bit of before/after). But it was hard work and I like it so I'll stick with it. Now I won't have to worry about any DLC dependency.

I'll have to make sure that my critter spawning is insulated against any Bethesda updates, good practice in certain circumstances anyway.
User avatar
IM NOT EASY
 
Posts: 3419
Joined: Mon Aug 13, 2007 10:48 pm


Return to V - Skyrim