Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old March 12, 2018, 21:29   #1
konijn_
Hellband maintainer
 
konijn_'s Avatar
 
Join Date: Jul 2007
Location: New York, the Big Apple
Age: 41
Posts: 367
Donated: $120
konijn_ is on a distinguished road
Question Dummy question on k_info allocation lines

Greetings,

I do not understand what these numbers represent:
N:12:Restoring
G:,:d
I:80:19:500
W:20:0:1:1000
A:20/8:30/4:40/1
D:Eating this rare mushroom will restore your body and mind.

I can see a list of 'locale' and 'chance', for each kind, but what do these numbers do in the game?
__________________
* Are you ready for something else ? Hellband 0.8.8 is out! *
konijn_ is offline   Reply With Quote
Old March 12, 2018, 21:47   #2
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,618
Derakon is on a distinguished road
This is saying "at depth 20, this item has rarity 8, at 30 it has rarity 4, at 40 it has rarity 1". When the game chooses to allocate an item, it sums up rarities of all items in the game, scaled by how out-of-depth they would be, then picks one. For example, say the game only had two items: the Mushroom of Restoring, and a Dagger that had a flat rarity of 1 at every depth. At depth 20, then, the game would say "the mushroom is 8 times more likely to drop than the dagger", and generates an allocation range with 9 buckets in it. The first 8, covering values from 0 to .88888... (i.e. 8/9) go to the mushroom, the last 1 goes to the dagger. The game generates a random number between 0 and 1, looks in the allocation range, and generates whichever item corresponds to where it landed.

At depth 30, it does the same thing, except this time the mushroom is only 4 times more common than the dagger, so the mushroom gets values from 0 to .8, and the dagger the rest. And at depth 40, the two split the range 50/50.

In other words, rarity of one item always depends on rarities of every other item in the game. You can only make an item more (or less) common by comparison with other items, and you can't state anything about what percentages of all items are a given item without looking at the percentages of everything else.

(NB I'm not 100% certain that higher numbers are more common; it might be the reverse, in which case you'd need to invert the example so the mushroom is 1/8th as common as the dagger, then 1/4th, then 1:1, at the respective depths).
Derakon is offline   Reply With Quote
Old March 12, 2018, 21:54   #3
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,364
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by Derakon View Post
(NB I'm not 100% certain that higher numbers are more common; it might be the reverse, in which case you'd need to invert the example so the mushroom is 1/8th as common as the dagger, then 1/4th, then 1:1, at the respective depths).
Higher numbers are in fact less common; this makes sense with the ,Restoring entry because it gets more common the deeper you go.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old March 12, 2018, 22:04   #4
konijn_
Hellband maintainer
 
konijn_'s Avatar
 
Join Date: Jul 2007
Location: New York, the Big Apple
Age: 41
Posts: 367
Donated: $120
konijn_ is on a distinguished road
Got it, thanks guys!

Quote:
Originally Posted by Nick View Post
Higher numbers are in fact less common; this makes sense with the ,Restoring entry because it gets more common the deeper you go.
__________________
* Are you ready for something else ? Hellband 0.8.8 is out! *
konijn_ is offline   Reply With Quote
Old January 24, 2019, 21:10   #5
tangar
Swordsman
 
tangar's Avatar
 
Join Date: Mar 2015
Location: Moscow, Russia
Posts: 412
tangar is on a distinguished road
Yet Another Dummy There...

I'm trying to figure out how alloc works, please help



After past messager, it seems format changed.. Now it's
Quote:
# alloc: commonness : min " to " max
# 'alloc' is for allocation - depth and rarity, in pairs. It is used to
# ensure that certain vital items such as food and recall scrolls
# are found throughout the dungeon. The "allocation" depth need not
# match the depth as specified in the "properties:" line.
Let's try at this two items (object.txt):

Blade~ of Chaos
alloc:10:70 to 100

on depth 10, rarity of this blade is from 70 to 100..


VS

Dagger
alloc:20:0 to 100

on depth 20, rarity of dagger is from 0 to 100

I'm trying to figure out how it works.. In previous message there was different structure, eg A:20/8:30/4:40/1 - is like the deeper we go - the more often we would meet mushroom...

"Higher numbers are in fact less common", so the higher rarity - the more rare item.

Back to dagger&blade:
at depth 10: blade got ~85 rarity; dagger got ~(50/2)=25 rarity, right? So dagger would be in ~3.5 times more often than blade.

at depth 20: blade got ~170 (?) rarity; dagger got ~50

at depth 40 blade got ~ 340 rarity; dagger got ~100 ?

Wierd.

It seems I make something wrong.

Lets take a lantern:
alloc:70:5 to 100

So at depth 70.. wait. Depth 70 for a lantern? D
__________________
http://angband.online - persistent online multiplayer roguelike game.
tangar.info - my website ⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽ My chars @ angband.oook.cz
youtube.com/GlazGame — streams in English ⍽ youtube.com/StreamGuild — streams in Russian
tangar is offline   Reply With Quote
Old January 24, 2019, 21:29   #6
Sideways
Swordsman
 
Join Date: Nov 2008
Posts: 336
Sideways is on a distinguished road
The 10 is the rarity, the 70 to 100 is the depth, not the other way round.
__________________
The Complainer worries about the lack of activity here these days.
Sideways is offline   Reply With Quote
Old January 24, 2019, 21:34   #7
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,364
Donated: $60
Nick is on a distinguished road
There are two problems here. One is that the OP was talking about a variant (probably Hellband) which used an older way of specifying how items are found.

The second problem is that the comment is out of date - I am changing it to
Quote:
# 'alloc' is for allocation - frequency and range of levels found.
So

Quote:
Originally Posted by tangar View Post
Blade~ of Chaos
alloc:10:70 to 100
means frequency of 10, found on levels 70 to 100

Quote:
Originally Posted by tangar View Post
Dagger
alloc:20:0 to 100
means frequency of 20, found on levels 0 to 100.

Note that frequency ranges from a high of 80:
Code:
name:Cure Light Wounds
alloc:80:1 to 15
down to 1:
Code:
name:Power Dragon Scale Mail~
alloc:1:100 to 100
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old January 24, 2019, 21:37   #8
takkaria
Veteran
 
takkaria's Avatar
 
Join Date: Apr 2007
Posts: 1,879
Donated: $40
takkaria is on a distinguished road
Indeed, the file format changed rather a long time ago in Vanilla but not all variants have the newer syntax.

Quote:
# alloc: commonness : min " to " max
So 'commonnness' is the opposite of rarity - i.e. the higher this number, the more common it is. Min depth to max depth is just that. Objects just have one commonness value for the whole dungeon, but cut off above and below their range.

"Commonness" is how many entries it gets in the object generation table for a given depth. So if it has 100, it will get 100 entries, if it has 10, it'll get 10 entries. So

Quote:
Skull
alloc:50:1 to 100

Broken dagger
alloc:100:1 to 100
means that there is a 50/(100+50) chance of getting a skull (33%) and a 100/150 chance of getting a broken dagger (67%)

The old syntax had 'rarity', where rarity of 1 = 100 entries, 2 = 50 entries, 4 = 25 entries, 8 = 12 entries etc., and you could specify multiple rarity/depth pairs to change the allocation through the dungeon.
__________________
"Physician, heal thyself."
takkaria is offline   Reply With Quote
Old January 24, 2019, 21:51   #9
tangar
Swordsman
 
tangar's Avatar
 
Join Date: Mar 2015
Location: Moscow, Russia
Posts: 412
tangar is on a distinguished road
Thumbs up

Wow! Now it's clear! Thank you, friends!! DD

The problem was in description of this value, as there is two notes in object.txt:

1) # alloc: commonness : min " to " max

// good one; especially with your great comments which makes everything so clear!

2)
# 'alloc' is for allocation - depth and rarity, in pairs. It is used to
# ensure that certain vital items such as food and recall scrolls
# are found throughout the dungeon. The "allocation" depth need not
# match the depth as specified in the "properties:" line.

// got an error?
__________________
http://angband.online - persistent online multiplayer roguelike game.
tangar.info - my website ⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽ My chars @ angband.oook.cz
youtube.com/GlazGame — streams in English ⍽ youtube.com/StreamGuild — streams in Russian
tangar is offline   Reply With Quote
Old January 24, 2019, 22:07   #10
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,618
Derakon is on a distinguished road
I want to highlight takkaria's answer, in particular the fact that how much of a given item you find depends on how much of other items you find. You can't change how many items are generated overall by changing the allocation rules, in other words; you can just make a particular item more or less likely than other items to get "chosen" when the game decides to produce an item.

This is part of why, for example, Potions of Speed are more common early on: they have a fairly flat distribution across the entire game, but at the top of the dungeon there are very few items that can get generated, so a relatively higher proportion of them are Potions of Speed.
Derakon is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Competition-agnostic item allocation Derakon Development 14 December 14, 2016 22:27
dummy question: diff will_asher Development 14 September 19, 2010 06:12


All times are GMT +1. The time now is 05:48.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.