Monte Carlo Level Simulation
Collapse
X
-
I want to distinguish where the items come from. Specifically, I want to know if they come from monsters, uniques or the ground. So I need something a little more advanced than that.Comment
-
Don't items remember their provenance, though? I.e. if I kill Maggot and get a magic dagger from him, when I 'I'nspect the item it should say "Dropped by Farmer Maggot at dungeon level 0" or words to that effect.
Or is that just one of those features that was added in every variant but not Vanilla yet?Comment
-
Don't items remember their provenance, though? I.e. if I kill Maggot and get a magic dagger from him, when I 'I'nspect the item it should say "Dropped by Farmer Maggot at dungeon level 0" or words to that effect.
Or is that just one of those features that was added in every variant but not Vanilla yet?Comment
-
Don't items remember their provenance, though? I.e. if I kill Maggot and get a magic dagger from him, when I 'I'nspect the item it should say "Dropped by Farmer Maggot at dungeon level 0" or words to that effect.
Or is that just one of those features that was added in every variant but not Vanilla yet?
I think it's easier to get info on the monster, calculate its drop and then generate those items locally (don't even allocate them) and log them. There's some code to do this that I came across, and I may poach that.Comment
-
Detect entire level (thus forcing all monsters to be visible).
Hit monster.
Add modification to provenance information to include if monster was standing in a vault square when killed.
If provenance information is stored as a string, you can run a script afterwards to reverse-lookup monster names against the uniques list (assuming you care about the distinction between unique drops and normal drops). If it's stored as symbolic information (i.e. monster #54 at dlvl 20) then you can look up the monster info by its index and check if it's unique that way.Comment
-
Well, I figured that you'd just do a pass of object counting on the ground, delete the objects there, then kill each monster and do it again. I guess there's no reason you couldn't filter out uniques on the first monster pass and hit them on a later pass instead.a chunk of Bronze {These look tastier than they are. !E}
3 blank Parchments (Vellum) {No french novels please.}Comment
-
Comment
-
2^64 gets you about eighteen quintillion, so I don't think floating point is really necessary compared to unsigned long. Even signed long is nine quintillion. Just how many times were you planning to run this simulation? A very conservative guess would still have a single character finding less than a hundred thousand items in their lifetime, which would let you run the simulation trillions of times before running out of room.
(NB this is using the American "short scale", million = 10^6, billion = 10^9, etc)Comment
-
Don't items remember their provenance, though? I.e. if I kill Maggot and get a magic dagger from him, when I 'I'nspect the item it should say "Dropped by Farmer Maggot at dungeon level 0" or words to that effect.
Or is that just one of those features that was added in every variant but not Vanilla yet?
fizzix - what's behind your choice of -25/>+1 levels for artifacts? The latter in particular makes little sense: +1 level OOD is roughly the same likelihood as +2 and a whole lot different from +0. I'd suggest:
More than 25 levels shallower
25 to 1 level shallower
At depth
1 to 10 levels deeper
More than 10 levels deeper
... if you don't fancy that much granularity, combine the 2nd/3rd and the 4th/5th"Been away so long I hardly knew the place, gee it's good to be back home" - The BeatlesComment
-
It's not the 1970s. There's nothing wrong with using floating point.Comment
-
There's nothing wrong with using floating point, but always use doubles instead of floats.
At single precision you've only got 23 bits of mantissa to work with, which doesn't get you very far.Comment
-
I took camlost's suggestion of killing the monsters and picking up their items. It seems to work and the numbers are adding up properly. Some amount (1-2 at deeper levels) of items get killed because of insufficient drop room. This probably occurs more often with monsters in vaults. Either way, I've decided not to worry about these lost items even though you possibly lose some good items.
(another possibility is to remove all the traps in each level. I think I'll do that. Cataloguing traps is dumb anyway)
Time to sim still looks reasonable on my computer, but it might be rough on slower computers.
I'll try to have a semi-complete version up on git later today or tomorrow.Comment
-
Finished up potion generation. And cleaned up the output a bit so it's more readable. 1000 sims doing 20 levels (20k total levels) takes less than 2 minutes on my laptop, and it's unlikely to get much slower. No swag gets deleted on drops anymore.
Going to finish up consumables, and then do work on the egos, hopefully be done by the end of the day. (Ego and gold counts are mislabeled currently)Attached FilesComment
-
That's cool but hard to read. The text cleanup will be nice. A quick glance, confirms what I've always thought. A vast majority of artifacts are dropped by everyday-in-depth-monsters, not uniques, not vaults.www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.Comment
Comment