[RELz] DLL - Dynamic Leveled Lists Thread 2

Post » Wed Mar 30, 2011 6:00 am

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/

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/DynamicLeveledListsReadme.html.


|> News/Updates <|


Plans for 3.0 patch:
- Gutting the inner workings of DLL to make it more lightweight. Will replace the old system with a new system consisting of dummy spawns. This will provide:
---- Elimination of the need for a backup file or array
---- No more extended save times as there's no backup to save
---- Faster processing, as it can process LLists one by one as they spawn, instead of all of them at the beginning
---- Count spawns > 1 can spawn different creatures instead of a multiple of the same creature/NPC
---- Investigation of a "SGL" system as an option for a spawn count system. Courtesy of nDervish. Check out the discussion on the first forum thread for more info.
- Introducing an Boss exception list. The purpose being to bar boss creatures from entering Normal Tier and becoming "common" creatures, when they should be unique named creatures. Options to make the Boss exception list always have a spawn count of 1, and not enter Normal/Low Tiers will be added.
- Probably more goodies!



2.04.3 patch Released!:
Make sure you update to 2.04.3 if you are experiencing "armies" of creatures that are way more than your max count setting.
This was associated with large mod setups that had large LList daisychains. (LLists that had LList entries, that had LList entries themselves, etc)

Loads of new settings to tweak and enjoy!
Make sure you do a clean install and run the exe again if you're upgrading from a previous version of DLL. 8)

- An enhanced Readme with a First Time User guide. (http://www.afterimagemetal.com/DynamicLeveledListsReadme.html)
- A more sophisticated exception system
- Immediate Initial Backup option
- Quick Replace System
- Better DLL processing speed settings.
- "startquest DLLtime" lets you see how long DLL has left to process.
- Upgraded the exe to create missing folders automatically, and hopefully not crash on XP!
- Included a debugger in the exe. Upload it if you're having issues!

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.

Getting console spam?
Sorry. I passed out an .ini file out with the Print Function set to 1.

Fix: Turn DLLPrintUpdateStatus to 0


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

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 inherently fixes these issues.


|>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/DynamicLeveledListsReadme.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
Steph
 
Posts: 3469
Joined: Sun Nov 19, 2006 7:44 am

Post » Wed Mar 30, 2011 12:23 am

I'm just waiting on a release of this with the clone-army fix to give it another shot,


I believe that issue has been fixed 8)
User avatar
Latino HeaT
 
Posts: 3402
Joined: Thu Nov 08, 2007 6:21 pm

Post » Wed Mar 30, 2011 9:35 am

Oops - I got so excited about your dummy-spawner idea that I completely forgot that you HAD fixed the army bug - I saw the confirming post, and promptly spaced out (look, a butterfly!)...

I'll give the latest version a spin as soon as I walk through my front door tonight.
And don't get me wrong - I fully intend to find/fight/run from a Reaver Army - just wanted to be sure it wouldn't be an army of the same reaver. I'll let you know how well the whole running away part works out.
User avatar
chinadoll
 
Posts: 3401
Joined: Tue Aug 22, 2006 5:09 am

Post » Wed Mar 30, 2011 12:14 pm

Even with the "army bug" fix, a spawn that has a count > 1 will spawn a multiple of the same creature. That was built into the Oblivion spawn/LList system.

With the new system I'm working on, though.. I'll be able to work around that and get counts > 1 that are different creatures. 8)
User avatar
Daniel Lozano
 
Posts: 3452
Joined: Fri Aug 24, 2007 7:42 am

Post » Wed Mar 30, 2011 11:59 am

Multiples of the same creature are just fine with me, but I am curious: will these multiples be clones to the point that their inventory is identical? I had thought that was a symptom of the army bug, and was squashed when the bug was squashed. Let me know if I'm smoking crack on that one...

Also - your cloneform deletion workaround sounds sixY. Definitely looking forward to that, both for Epic Spawn possibilities, and (especially) for varied multiple spawns.

Aaand, I have now dl'ed the new DLL, run the exe and force-processed it ingame. Time to go kill something.
User avatar
Sanctum
 
Posts: 3524
Joined: Sun Aug 20, 2006 8:29 am

Post » Wed Mar 30, 2011 4:09 am

Multiples of the same creature are just fine with me, but I am curious: will these multiples be clones to the point that their inventory is identical? I had thought that was a symptom of the army bug, and was squashed when the bug was squashed. Let me know if I'm smoking crack on that one...


Put down the pipe, that was never the case.

When I first reported the cloning issue, it was something I had suspected for a while, then considered "confirmed" when I ran into triplet Fran's boss bandits, all three of whom had the same name ("So-and-So the Bandit"), same face, same level, etc. The only thing different from one to the next was their equipment. This is still the case with DLL.

The army bug was a separate issue, where leveled lists nested, say, three levels deep (RandomEnemyList -> AllBanditsList -> BanditMeleeList -> Bandit) would roll the chance for multiple spawns at each level, potentially netting you a group of up to 64 enemies (RandomEnemyList gets 4 rolls on AllBanditsList, each of which triggers 4 rolls on BanditMeleeList, each of which spawns 4 actual Bandits) rather than the intended maximum of 4. This has been fixed.
User avatar
Stacey Mason
 
Posts: 3350
Joined: Wed Nov 08, 2006 6:18 am

Post » Wed Mar 30, 2011 9:03 am

Thanks for the clarification on that - I hope nobody else was under that (erroneous) impression as well - I really should dig up the post that mentioned identical inventories, to make sure it isn't accepted as fact there... Just hope I can find the forum/thread again.

But, I read it on the internet - It MUST be true! Argh - I'm too old to be that gullible. My bad.

Anyway, quick status report - DLL 2.04.3 runs like a dream on my WinXP system, and I set it to force-process on game load, so it does what it does for about 30 seconds, then it pretty much becomes invisible until I level up or change my settings. It's Awesome.

For whatever it's worth, DLL now works, as far as I can tell, perfectly. And the suggested settings to work like Adrenaline are EPIC. Even better is that I can dial it waaay back when I'm shepherding an NPC around, to keep the mindless slaughter to a temporary minimum.

Amazing mod, Leviathan - you deserve a raise.
User avatar
Dezzeh
 
Posts: 3414
Joined: Sat Jun 16, 2007 2:49 am

Post » Wed Mar 30, 2011 5:19 am

Any more news on version 3?
User avatar
lillian luna
 
Posts: 3432
Joined: Thu Aug 31, 2006 9:43 pm

Post » Wed Mar 30, 2011 1:17 pm

For whatever it's worth, DLL now works, as far as I can tell, perfectly.


Thanks! 8D
It does work perfectly, unless you have a gigantic modlist and you use an autosave feature.. then it starts making your savetimes 10 seconds longer. 8o

Any more news on version 3?


Had to visit my long-distance girlfriend. 8) So nothin' super new or interesting yet.
User avatar
Queen
 
Posts: 3480
Joined: Fri Dec 29, 2006 1:00 pm

Post » Wed Mar 30, 2011 11:34 am

It does work perfectly, unless you have a gigantic modlist and you use an autosave feature.. then it starts making your savetimes 10 seconds longer. 8o


Nah, that's gotta be a problem with DLL, not with gigantic modlists. At last count, I'm only running 209 mods... How is that "gigantic"? ;)
User avatar
Jynx Anthropic
 
Posts: 3352
Joined: Fri Sep 08, 2006 9:36 pm

Post » Wed Mar 30, 2011 3:50 am


It does work perfectly, unless you have a gigantic modlist and you use an autosave feature.. then it starts making your savetimes 10 seconds longer. 8o


Hm, I don't really notice that. I have around 230 mods and with dll my save takes perhaps 2-3 secs longer, not more.
User avatar
sally coker
 
Posts: 3349
Joined: Wed Jul 26, 2006 7:51 pm

Post » Wed Mar 30, 2011 2:04 am

Time to muddy things up again - If memory serves, I run 107 active esps, 176 counting merged mods. I haven't autosaved in years, and I stopped using Streamsaves last fall - but my save times have gone from 3-ish seconds to a solid 15. So autosaving/gobs of mods aren't factors in my setup... Honestly, I'm not terribly concerned about it myself, but if you want a guinea pig to test theories, I can easily do so.
User avatar
Olga Xx
 
Posts: 3437
Joined: Tue Jul 11, 2006 8:31 pm

Post » Wed Mar 30, 2011 9:53 am

Lev probably meant gigantic mod list with thousands of leveled lists. :P Me for example with full FCOM, I've 4k'ish leveled lists which means a huge DLL backup array, causing saves to take about 20 sec.

*pointy sticks Lev* Modding > girlfriend. *coughs* ;)
User avatar
Oceavision
 
Posts: 3414
Joined: Thu May 03, 2007 10:52 am

Post » Wed Mar 30, 2011 5:58 am

Had to visit my long-distance girlfriend. 8)


yeah that comes first. :)
User avatar
Dagan Wilkin
 
Posts: 3352
Joined: Fri Apr 27, 2007 4:20 am

Post » Wed Mar 30, 2011 10:36 am

Update:

Gutted and reworked DLL and got the dummy system spawning calibrated LLists! 8D
The processing/backup times are close to nothing now, which is sweet. The LList is calibrated whenever it spawns, one by one.

Going to be doing tests to make sure there's no save game bloat or anything of that nature. After that, I've got to make sure all the features from previous DLL versions are still intact, as well as incorporate the new ones I've promised, and then we'll be ready for a 3.0 beta, I think! 8D
User avatar
Stephanie Nieves
 
Posts: 3407
Joined: Mon Apr 02, 2007 10:52 pm

Post » Wed Mar 30, 2011 2:27 am

That is great news, i will be waiting for it. :)
User avatar
Nancy RIP
 
Posts: 3519
Joined: Mon Jan 29, 2007 5:42 am


Return to IV - Oblivion