Jump to content

What scripting/general practices can cause save game bloat and related issues?


MildlyShoey

Recommended Posts

I've seen it mentioned frequently (and noticed it personally with Project Reality years ago), but the only things I know to cause it are non-destructed strings in function/object/effect scripts and spawned in objects/NPCs that aren't cleaned up with MarkForDelete. I've had a few quick searches on Google and in this subforum but I haven't really found anything else.

Link to comment
Share on other sites

The GECKWiki has the word "bloat" in the descriptions of the following functions:

 

Ar Null: As of NVSE 4.6.2, arrays defined in UDF scripts are cleaned up automatically, but those held in other scripts are not. Therefore it is essential to use Ar_Null to clear any local array variables when other scripts terminate to avoid save game bloat.

 

Sv_Destruct the local string variables or they can cause save game bloat.

 

Disable does not remove references from the game, just stops them from rendering. Do not rely on Disable to prevent savegame bloat by removing references. MarkForDelete should be used to remove references from the game.

 

The game saves data about every reference in every cell you have ever visited. Save files are supposed to get larger and larger as you explore more and more locations, and their size is something you should not concern yourself with. Bloat is less of a problem for FO3/FNV than for Skyrim because scripts are not included in the save game files.

 

There is also the GECKWiki article "Causes of CTDs" authors should be aware of as well.

 

This will be useful to add to the wiki "Getting started creating mods using GECK" article after we see if anyone has anything else to add.

 

-Dubious-

Link to comment
Share on other sites

MarkForDelete only works on temporary references, editor placed objects cannot be deleted.

 

Excessive use of repeatable quest stages causes load time problems in some cases. The effect should be apparent after only a few hours of play. Low quest delays seem to affect it. I've never been able to determine the exact circumstances it occurs so I just quit using them and use functions instead.

 

Quest stages are save baked, so this is perhaps what it is.

 

PlaceAtMe and PlaceLeveledActorAtMe should be used sparingly, they do create temporary references so once the player leaves the loaded cell and they are unloaded they will still remain in the save as scripts cannot run on them or reference them. Actors should be spawned with spawn markers, having them initially disabled and then enabled will cause them to spawn immediately. If you want to do waves you can disable the spawn marker again and run resurrect on it provided the actor is dead and the marker is persistent, then re-enable it. PlaceAtMe can also cause various havok problems like invincible creatures that have effect shaders and other weirdness, the Reavers in the presidential metro of Fallout 3 is a good example of this bug. It can also cause crashing due to memory problems and other stuff, see any mods with waves of enemies created this way, Someguy's The Better Angels exhibits this issue.

 

Tons of lootable items also causes save bloat as the state of the items is baked when they are taken.

 

Dropped items does too, best to put them in a container.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...