[RELz] DLL - Dynamic Leveled Lists Thread 3

Post » Fri Jul 22, 2011 6:01 pm

http://tesnexus.com/downloads/file.php?id=37904
The cure all elixir for predictable dungeons


Previous Pages http://www.gamesas.com/index.php?/topic/1180064-relz-dll-dynamic-leveled-lists/ http://www.gamesas.com/index.php?/topic/1192691-relz-dll-dynamic-leveled-lists-thread-2/

What does DLL do?
Dynamic Leveled Lists is a set of algorithms that rework the Leveled Lists in your mods to let you customize your spawning experience to the teeth. DLL aims to redefine how we customize leveled lists.

In vanilla Oblivion, the dungeons can be a bit drab. Modders have learned to combat this by handtweaking leveled lists to spawn bigger creatures sooner and make creatures spawn in groups, just to shake things up a bit. Unfortunately, this is VERY tedious work and is hardwired for specific setups, meaning any change or addition requires more labor. DLL's algorithms eliminate any need for hand tweaking by modders, and offers players the ability to choose for themselves -exactly- how they want things to spawn for them in game.


What Does this Mean for You?
Adventurers
- Want harder creatures to spawn earlier? Want easier spawns? Want more creatures to spawn at once?
Whatever you choose, DLL will make sure it happens no matter what mods you have.
- The EPIC button: Gives each encounter a small percentage chance to spawn creatures way above your level.
- Never another "Slightly More Spawns" or "Slightly Even Less Spawns" patch. Just tweak your DLL settings to give you exactly what you want.
- Never another "MMM - No Slimes" patch. Get rid of any creature you dislike by just typing keywords into DLL's exception system.

Developers
- Simplifies most Leveled Lists to only need one of each creature (Noah's Ark / 2); DLL handles the probabilities.
- Never hand-tweak a Leveled List again.
- Leave the spawning setup to the users. Or not! Add your Leveled Lists to an exception list to prevent DLL from tampering with your desired setup.


The most up to date
http://www.afterimagemetal.com/DynamicLeveledListsReadmeDummyNodes.html.


|> News/Updates <|



3.2 patch Released!:

Introduced a new -AUTOMATIC PATROLS- feature.

This system will put a percentage of spawns on an automatically/dynamically generated patrol route. The creatures/NPCs will then walk around the dungeon/wilderness on patrol.

Keep on your toes and prepare to be surprised, as the dungeons will be much more alive. Patrols just might decide to come at your from behind, or wander into an area you thought was clear of monsters!


MODDERS!
If you have a mod that you want on the exception list, contact me. I will add you to the DLLexceptions folder included in my download,
ensuring your mod is untouched if anyone uses DLL.


|> Why Would You Want to Use DLL? <|

DLL takes every LList in your game and customizes it to be unpredictable and random.
While vanilla Oblivion will only spawn one creature that is equal or lower to you, DLL looks at every creature available and integrates them into the spawning probabilities. An epically hard lich could be around the corner, or maybe a mob of angry goblins, it's all up for grabs!

But you already have a mod that mixes things up, like Frans?
Mods like those are static and hardcoded, and usually not using the leveled lists to their full potential.
- You're not seeing everything that these mods AREN'T doing. Lots of creatures/situations are left out simply because of the difficulty in hand-tweaking things in that fashion.
- They won't mix in custom creatures from other mods.
- When they spawn multiple creatures, they're a mob of the same duplicate creature. DLL will spawn multiple -different- creatures.
- They mix things in "simply", while DLL can make very complex probability scenarios.
- Their setups are hardcoded, while DLL can be changed to follow any desired spawning preferences.


DLL gives you an amazing amount of control over how your world spawns.
Similar mods that do this type of thing are Adrenaline Oblivion, FCOM's "Slightly Increased/decreased Spawns" patches, TIE, WarCry, etc. All these have their own way they handle spawns in game.

For example, Warcry makes every creature spawn at level 1. The world never changes. This means it's extremely difficult for a level 1 character when they run into a minotaur, but it gets easier as they level up and get equipment.
This is very different then FCOMs setup, or vanilla, or Adrenaline Oblivion which makes mobs of 5-6 creatures everywhere.

What DLL can do is take ANY mod setup (WarCry, FCOM, -anything- else) and make it perform like ANY setup you desire --> Without ANY handtweaking of any Leveled List. You can take a vanilla setup, and make it perform like WarCry; You can take a TIE setup and make it perform like FCOM. Or you can take any other setup and tweak it to your own custom idea of how the world should spawn, all on a whim. It doesn't matter what setup you have, DLL will make it spawn to your set standards.

But please remember, you still need mods that ADD creatures to your game. DLL doesn't make any creatures of its own. So don't take FCOM/WarCry/TIE/WAC out of your load order, just add DLL and tell it how you want them to spawn.


It also will fix any "spawning errors".
One prime example is the Staada bug found in Warcry, where a level 25 demon spawns left and right for level 1 PCs. DLL re-evaluates everything, so this misplaced Staada would automatically become integrated into the lists "Epic Tier", where it belongs.


|>A More Detailed Description <|

How does DLL work? Why is it capable of working with any mod you throw at it?

1) DLL first locates all the FormIDs of all the Leveled Lists you're using. It does this with the supplied exe that loads up your active mod list and exports the FormIDs into the file DynamicLL.ini, located in My Documents/My Games/Oblivion/Pluggy/User Files.

2) In game, DLL refers to the FormID list and slowly begins making a backup array of your original leveled list setup. It stores them with a set of nested OBSE arrays.

3) Once the backup array is complete, it then applies a set of complex algorithms using your given settings to the data stored in the backup array.

4) Once the correct percentages and ratios have been calculated for each leveled list, it clears and replaces your leveled lists with the updated and customized setup.

5) When Oblivion is restarted, the Leveled Lists are automatically reverted to their original state (this is inherent in the programming of OBSE/Oblivion). DLL then refers to its backup array and quickly re-replaces your leveled lists back to your customized settings. This means that DLL has no permanent side-effects. Your leveled lists are restored every time you restart Oblivion. Disable DLL, and the OBSE storage array it uses is wiped without a trace automatically.


|> The Goals of DLL <|

1) To be as compatible as possible.
If you sense any incompatibility with any mod, please let me know!

2) To give the users as much customization as possible.
Any ideas for further customization are welcome!

3) To be completely safe and removeable.
I know DLL may sound scary, claiming that it messes with every mod on your list, but it's inherently safe to use. Oblivion automatically removes any changes to Leveled Lists on game loadup, reverting everything the way it was automatically. Play worry free!

DLL should be painless, simple (except for maybe the settings), powerful, and compatible with everything.



|> Requirements <|
OBSE v 20 (http://obse.silverlock.org/)

Pluggy (http://tesnexus.com/downloads/file.php?id=23979)
- (I use v125c, but I believe the newer versions will work too)
- For file I/O


|> ReadMe <|
For:
- Installation
- First Timers Guide
- Settings Overview
- Troubleshooting
- Bug Reporting
- Credits/Legality
- Changelog

Be sure to refer to the

http://www.afterimagemetal.com/DynamicLeveledListsReadmeDummyNodes.html


|> Default Settings and Some Recommended "Presets" <|
Spoiler

Normal, Subtle setup (Default Settings)
Note: feedback on what should be the default settings would be appreciated!

DLLEpicButton = 1
DLLIncreasedSpawnsButton = 1

DLLlowTierReducLine = 1
DLLlowTierCutLine = 15

DLLHighTierReducLine = 1
DLLHighTierCutLine = 5

DLLEpicTierDropPercent = 2
DLLEpicTierSoftCutLine = 8
DLLEpicTierCutLine = 15

DLLSpawnIncreaseMax = 3
DLLSpawnIncreaseBasePercent = 20
DLLSpawnIncreaseFinalPercent = 25
DLLSpawnForceButton = 1

DLLForceLevel = 1
DLLAverageLListLevels = 0
DLLPrintUpdateStatus = 0
DLLLimitLListProcessMax = 1
DLLLimitProcessingTimer = 1
DLLReviveEmptyLLists = 1


WarCry Setup (The world never changes, everything spawns the same all the time. Beware lowbies!)

DLLlowTierCutLine = 0
DLLHighTierCutLine = 0

Adrenaline Oblivion Setup (There are hordes of creatures everywhere!!)

DLLSpawnIncreaseMax = 6
DLLSpawnIncreaseBasePercent = 90

User avatar
Maya Maya
 
Posts: 3511
Joined: Wed Jul 05, 2006 7:35 pm

Post » Fri Jul 22, 2011 1:24 pm

Sent you a copy of the DLL debug log to afterimage1753@gmail.com . Let me know if that's the right one.
User avatar
Silencio
 
Posts: 3442
Joined: Sun Mar 18, 2007 11:30 pm

Post » Fri Jul 22, 2011 10:06 am

Hey Shingen

No, that's the debug log concerning the EXE (for when people have issues with the exe failing).

To do a DLL log for issues in-game, you have to get Conscribe (http://tesnexus.com/downloads/file.php?id=26510) turn on DLLDebug and DLLPatrolDebug in your DLL ini file.
Then run around your game until you hit a CTD or other issue, then send me the log.

Conscribe will log all the messages DLL spits out into a staticlog file that you can send to me.
User avatar
Tyrone Haywood
 
Posts: 3472
Joined: Sun Apr 29, 2007 7:10 am

Post » Fri Jul 22, 2011 9:56 pm

Uploaded a 3.2.2 patch that should:

1) make patrols less CPU intensive outdoors
2) Fix some CTD issues that I believe were associated with the patrol system
3) Default the patrol system to off (you must turn it on yourself to use it)
4) Make the patrol script attachment more reliable (some creatures weren't getting it attached)


Will be looking into the Kvatch issue soon,
as well as make a DLL-Settings-EXE program to help grasp/walkthrough DLL settings for newbies (since there are overwhelming for new people, im sure)
as well as start to work on ITEMS! 8D
User avatar
Crystal Clear
 
Posts: 3552
Joined: Wed Aug 09, 2006 4:42 am

Post » Fri Jul 22, 2011 7:13 pm

Hey Shingen

No, that's the debug log concerning the EXE (for when people have issues with the exe failing).

To do a DLL log for issues in-game, you have to get Conscribe (http://tesnexus.com/downloads/file.php?id=26510) turn on DLLDebug and DLLPatrolDebug in your DLL ini file.
Then run around your game until you hit a CTD or other issue, then send me the log.

Conscribe will log all the messages DLL spits out into a staticlog file that you can send to me.


OK no prob.. I thought that log didn't look right, but it was a guess. I'll see if I can track down those issues and send you a usable debug log.

[edit]

the issue with the MSVCP100.dll is because it's a windoze 7 (64) file. I'm still running winXP (32), so I just copied the old DLL.exe over the latest DLL.exe and it worked again. So your latest DLL.exe build is calling for that MSVCP100,dll file, which isn't supported on older winXP kits. Just FYI.
User avatar
Neko Jenny
 
Posts: 3409
Joined: Thu Jun 22, 2006 4:29 am

Post » Fri Jul 22, 2011 9:11 pm

as well as start to work on ITEMS! 8D


If your worried about bloat, I believe there is an OBSE function that cleans bloat of all kinds.
User avatar
R.I.p MOmmy
 
Posts: 3463
Joined: Wed Sep 06, 2006 8:40 pm

Post » Fri Jul 22, 2011 9:24 pm

I'd be interested in that, do you have a link or know what it's called?
User avatar
GabiiE Liiziiouz
 
Posts: 3360
Joined: Mon Jan 22, 2007 3:20 am

Post » Fri Jul 22, 2011 4:18 pm

I don't know anything like that, but I think http://www.tesnexus.com/downloads/file.php?id=24606 uses it.
User avatar
Big mike
 
Posts: 3423
Joined: Fri Sep 21, 2007 6:38 pm

Post » Sat Jul 23, 2011 12:55 am

Ah, that mod is interesting, but it's definitely not using any "one-stop-shop" cleanup function... it's constantly evaluating things and doing roundabout ways to ensure things are cleaned up. The main issue with it is that it's CPU heavy (doing lots of reference "walking" and checking of the world around the PC),

but! If DLL has bloat issue then I'll definitely look to this mod for some inspiration. 8)
User avatar
Mel E
 
Posts: 3354
Joined: Mon Apr 09, 2007 11:23 pm

Post » Fri Jul 22, 2011 10:27 am

A few people were reporting problems with the Kvatch questline (no creatures were spawning in the courtyard to fight, etc)

This led me to a bug that was occurring when two LLists shared the same templated creature. This should be fixed and uploaded shortly. 8)
User avatar
Ebou Suso
 
Posts: 3604
Joined: Thu May 03, 2007 5:28 am

Post » Fri Jul 22, 2011 11:15 pm

Uploaded a 3.2.3 patch that:

1) Fixes the Kvatch issue. (there were problems with the templated LList handling system)
2) Added a skeleton to the dummy creatures to guarantee the game doesn't CTD when they die.
3) A few other bug fixes.
User avatar
Vickey Martinez
 
Posts: 3455
Joined: Thu Apr 19, 2007 5:58 am


Return to IV - Oblivion