9 ms·
Dropping Loot
- aeberbach 12y agoDid you look at Nethack? Certain monsters have set loot. Dwarves have a high chance of carrying a pickaxe, noble variants have a high chance of having dwarven mithril, shield, iron shoes. Same with Elves. Soldiers carry K- and C-rations. Paper golems leave piles of blank scrolls! Monsters will pick up items. If you are in the dwarves mines and there's a mining dwarf about, gnomes and other creatures will pick up the piles of rocks they leave behind. Additionally monsters with the right flag set will often use items. This can reveal their blessed/uncursed/cursed status ("The dagger welds itself to the goblin's hand!") or identify the item - which is sometimes a real pain, when a consumable you needed is used. ("The gnome zaps a wand of lightning! You die...")
- r00fus 12y ago^ This. Nethack is still unparalleled in how dangerous a monster can be with "your" loot (think you kill a monster with a magic missile, it drops loot, but before you can get to it another one dives into the pile, and quaffs the potion of invisibility/healing you desperately needed).
- anakha 12y agoI recommend having a listen through some of the http://www.roguelikeradio.com/ http://www.roguelikeradio.com/ podcasts. They focus heavily on roguelike design and development topics. I don't believe they have featured a podcast specifically on loot but it has featured as a topic in several of them.
- percentcer 12y agoIn which tougher monsters drop better quality loot.
- nmrm 12y agoWell, yes. But I think this undersells it. This is probably the best TL;DR: The author created a nice way of specifying loot dropping behavior such that (begin quote): "Any monster has a chance of dropping almost any item, so you have that pleasant anticipation. At the time time, the probabilities are weighted so that each monster still has a unique “feel” to their drops, and you can seek out monsters that are more likely to drop what you want." And the author achieved this with a concise but clear DSL in which you specify the probability of starting at a particular point in the equipment hierarchy, and then an object is chosen by traversing (probabilistically) the equipment hierarchy.
- cclogg 12y agoGreat read! "In Angband, any monster that drops stuff can drop pretty much anything. Monsters have a level, and if they drop loot, it just randomly picks any item near the monsters level." -> (RPG related) I felt like this was an issue with Diablo 3 compared to Diablo 2. You basically just had to mash around in D3 grinding the top-level monsters and hoping... whereas in Diablo 2 you could make conscious choices over where to farm if your goal was to find a certain item (albeit the drop chances were extremely low, so most people just did Meph runs or Baal runs and traded their way up). Here though the author is doing drops way more realistic than either of those games heh, so that's quite an awesome feat. Itemization seems really tricky; analyzing Diablo 2 vs Diablo 3 can actually provide some interesting insight into how item systems affect gameplay etc... maybe those devs even tried doing it realistically at some point but found it didn't pan out gameplay-wise?
- ordinary 12y agoHaving played both games extensively, I feel the most interesting thing to analyze about in which parts of the game are randomized, and how that randomization impacts gameplay. Let me pick 2 examples. In Diablo 2, areas were randomized internally but externally consistent: the individual makeup of areas would be different every game, but the connections between different areas would remain the same.[1] This means that repeatedly exploring the same area remains entertaining for a relatively long time in Diablo 2. This is important, because as you say, items have a higher chance of dropping from certain monsters than from others. If you "have to" keep farming the same area over and over, it helps prevent boredom if that map is different every time. In Diablo 3, the internal layout for each outdoor area is always the same, and even indoor areas are relatively static, compared to Diablo 2's. After a while, you know the best way to maximize efficiency, which encourages people to repeatedly farm one area, but this is a double edged sword: once you know what the most profitable way of playing the game is, playing any other is much less attractive. This actually reduces the range of (rational) possible actions in the game, inducing boredom more quickly. In addition, some of the best areas to farm in Diablo 3 are the dungeons. These are (smaller and optional) sub-levels within areas. Each area had fixed dungeons in Diablo 2. In Diablo 3 areas can often spawn 5 or 6 different special events, while it has only 2 or 3 (fixed, just like the areas themselves) spots for such events. This adds another layer of randomization: you need to be lucky twice: once to find the dungeon and once again to find the item in the dungeon.[2] Something else that changed between Diablo 2 and 3 is the way item affixes are randomized. In both games, magical items can spawn with certain properties, and those properties have stat ranges. You might find a Short Sword with the Red prefix, giving +1 or +2 damage. In Diablo 2, the best items (Uniques, Sets and Runewords) had fixed affixes with random stat ranges: you might find a Tyrael's Might with anything between +20 Str and +30 Str (in addition to have a dozen other affixes), but that it would get a significant +Str roll was guaranteed. Even the worst Tyrael's Might was a great find. Relatively casual players would be happy with any stat rolls, while true Diablo 2 addicts would make do with nothing less than a +30 roll. Such a perfect roll could (and still can) increase the value of an item by a factor of 10 to 1000+,[3] even if the objective difference between a random roll and a perfect roll is fairly small in the grand scheme of things. In Diablo 3, this was thrown out the window. Legendary and Set items get some fixed affixes, but even if you got the best item in the game and perfect rolls on the fixed affixes, you still need 1-3 other affixes to get a genuinely good item. In addition, the stat ranges were much wider. Immortal King's Tribal Binding could get +30 or +200 Str, and with the right random affix, all the way to +300 Str.[4] This makes the relation between gear cost and power fairly linear. You might have to find half a dozen Tribal Bindings before you got one worth using. In addition to finding the dungeon, and then the item, you also need to get good affixes on the item, then get good rolls on your affixes. Finally, in some slots, the best items in the game were not Legendaries, with their half-random setup, but Rares, with fully random affixes, which instead of 1-3 good affixes, need 5 or 6. It is no wonder then that players were unable to find their own items, and were forced to turn to an auction house, where they were primarily supplied by bots and gold farmers (unknowingly, but still). Blizzard tried to address some of these issues in the Reaper of Souls expansion. Here's a few examples relating to the above points: * Enchanting was added: allows you to replace one of each item's affixes with a different one (only one affix per item, but you can repeatedly change the same affix until you get one you like), reducing the impact of random affixes. * Rifts were introduced: random dungeons with random monsters and a random boss at the end, which are generally slightly more efficient than just farming normal areas. * The auction house was removed, reducing the impact of bots and farmers, allowing an increase in the drop rate. Trading in general was removed as well, making it impossible to turn to third-party trading sites (as was common in Diablo 2). * The stat ranges on affixes were reduced, lessening the dependence on highly random items. Many Legendary items got unique Legendary-only affixes that (when combined in clever ways) make them far better than fully random Rare items. Overall, this has significantly improved the game, but having played Diablo 2, Diablo 3 and Diablo 3 after the Reaper of Souls expansion, I can't help but feel like these are in the end just patches on a fundamentally flawed design, and that some of those patches actively prevent it from becoming better. Diablo 2, on release, was a bad implementation of a great design. This allowed it to be improved over the course of almost a decade (sporadically by modern standards, but impressive at the time). Diablo 3, on release, was a mediocre implementation of a bad design. Blizzard improved the implementation (at significant cost, to the point of forcing them to postpone the expansion), and details of the design, but it is still only a good implementation of a mediocre design, and improving it much further strikes me as uneconomical, to put it mildly. _____ [1] For example: http://classic.battle.net/diablo2exp/maps/act1.shtml http://classic.battle.net/diablo2exp/maps/act1.shtml [2] It's worth pointing out the two different types of randomization in games. One is the type the player can influence, like which area to farm and whether to play solo or in groups. The other is forced upon players, like what affixes your drops have or whether a dungeon spawns in a given area. Players tolerate the latter to much higher degree than the former. [3] Filled with jargon, but: http://forums.d2jsp.org/topic.php?t=59979863&f=52 http://forums.d2jsp.org/topic.php?t=59979863&f=52. Look at Hellfire Torches for a typical desireable item, and Black Hades for an extreme example. [4] These are the post-expansion stats, but it illustrates the principle, which is much reduced, but still very much alive: https://us.battle.net/d3/en/item/immortal-kings-tribal-binding https://us.battle.net/d3/en/item/immortal-kings-tribal-bindi....
- jcrites 12y agoNeat idea! I am constantly impressed by the number of different and interesting things that Bob works on. All of his game programming work, and his several (if prototypical) programming languages, each exploring some unique idea. https://github.com/munificent?tab=repositories https://github.com/munificent?tab=repositories I've always wanted to write a roguelike. I wrote a woefully incomplete MUD a long time ago. It had the interesting (to me) property of representing items and features as .NET assemblies. Servers could link so that a doorway could move players, with their items and effects, seamlessly onto another. If I recall correctly .NET even had the security model to (nominally) support it safely, where all items may invoke only approved engine APIs, and where trusted assemblies might be loaded while untrusted items and their consumers pass through to be loaded again later on another server. The idea was to enable a sort of open web of interconnected MUD worlds. Only ever made it to the tech demo stage; I recall spending a long time on that system, event handling, and other engine features (classic game dev mistake) and never got around to game content! I don't regret the time: it was primarily a project of exploration and the act if building just the engine was its own reward. (Tomorrow I might try to dig up my old source for the MUD but I suspect it will be like http://www.xkcd.com/1360/ http://www.xkcd.com/1360/ ) Anyway, could anyone recommend a good OSS roguelike that's accessible and easy to hack on? Looks like Angband is OSS, and of course there's NetHack, which if I remember correctly is written in C. Stone Soup's site appears to be down.
- baq 12y agoI hear TOME is the roguelike to mod. It's a super-advanced Angband with most things accessible via Lua APIs.
- astrobe_ 12y agohttp://www.roguebasin.com/index.php?title=Articles http://www.roguebasin.com/index.php?title=Articles
- judk 12y agoPixel Dungeon for android is planned to be open sourced soon
- cturner 12y ago
- itamarhaber 12y agoI used to NetHack... any item was obtainable with the Wand of Wishing :)
- jcrites 12y agoFolks who enjoyed this article might also like the book Game Programming Patterns: http://gameprogrammingpatterns.com/ http://gameprogrammingpatterns.com/ - also written by the author Bob Nystrom.
- rschmitty 12y ago> It made it impossible for the player to seek certain items. Let’s say you’ve got a good kit of armor except you really could use some high quality boots. How do you fill in that gap? In many games, believe it or not, is a actually intended. Once certain mobs start dropping certain items, people start camping only those mobs and ignoring everything else causing a large bottle neck for the population (in the case of multiplayer only obviously). Additionally, say you give a mob 0.01% chance to drop The Sword of a Thousand Truths. And of course everyone wants the The Sword of a Thousand Truths. So every day you go out and farm these kobolds until your fingers are numb rather than exploring the world. Finally, by providing a clear path to getting what you want, you will likely max out sooner and stop playing until the next content patch, which in turn means less revenue for your game
- ars 12y ago> people start camping only those mobs and ignoring everything else The mobs should not be concentrated so much in one area, spread them around, mix it up so one area has a ton of different mobs. Very few games do this though.
- thaumasiotes 12y agoWhat does this have to do with a single-player roguelike? I can sort of see > of course everyone wants the The Sword of a Thousand Truths. So every day you go out and farm these kobolds until your fingers are numb rather than exploring the world but playing for such a duration is already a massive design failure.
- logicchains 12y agoIn most of the roguelikes I've played mobs don't continuously respawn like that anyway. If you stay in a dungeon too long, either they'll be no more mobs and you'll starve, or higher level mobs will randomly start popping in.
- thaumasiotes 12y ago> I learned the hard way that a huge part of the fun of roguelikes is the “lottery effect”. Every time you kill a monster there should be a small chance of getting something really amazing. That's one way to handle item drops, but it's not the only way, even considering only Angband variants. The other popular loot system has you making your own stuff -- instead of "dragons always drop dragon scale mail" (boring?), you'd have something like "dragons always drop scales, and you can use them to forge dragon scale mail".
- craigching 12y agoHe addresses all of these points in the blog post.
- thaumasiotes 12y ago...um, no he doesn't? I've made one "all of these points", and it's not addressed. Where does he talk about making items?
- craigching 12y agough, apologies, I must've read someone's comment above and attributed it to the post. Sorry about that, I'll upvote you.
- munificent 12y agoI do have crafting too, but I don't want to lean too heavily on it. I don't think it's that fun to spend a lot of time outside of the dungeon just slapping items together.
- nmrm 12y agoIt would be quite neat to extend this with an evolutionary algorithm for picking starting positions in the hierarchy and probabilities based upon some proxies of enjoy-ability or play-ability.
- Udo 12y agoA better approach (IMHO) to loot in RPG games is to give NPCs/monsters actual equipment they can use and then drop naturally. You can combine this with a trinket generator to give each one a little more flavor. Of course some mobs carry stuff they can't use themselves (for example because it is assumed they looted it off someone), that's also fine - just put it into the "character generator" function or the monster template. I'm a huge fan of giving mobs some history and uniqueness, and that's an easy way to do it. A nice side effect is that you don't have to think about loot separately when designing the content, because it comes naturally from the design of the mob. This also means that, by definition, a mob can never drop an inappropriate item. Recently, I re-discovered the ancient Baldur's Gate games (enhanced edition), and they do something similar. Mobs drop the actual equipment they have. Some loot traditionally comes from the body of the monster itself, like a rat's tail or a wolf's fur which you can bring to the next merchant or quest-giver for reward. A more natural method of doing it would be solely through the skill/crafting system, instead of dropping pre-defined animal parts just because they happen to be important to some quest.
- cdr 12y agoOne of the many things I love about Dark Souls - enemies drop the arms/armor that they're wearing. It is a low to very low chance per drop, sometimes requiring farming if something you want isn't carried by a merchant, but the variance is good for normal gameplay.
- TeMPOraL 12y agoRecently, I re-discovered the ancient Baldur's Gate games (enhanced edition), and they do something similar. Mobs drop the actual equipment they have. Loved that mechanics in Fallout; the mobs (being 99% human anyway) had equipment, which included weapon(s), armours and some random stuff like money, drugs you'd expect a particular character to have. They could use all of their equipment in combat, and that's what you were taking after defeating them.
- jaredmcateer 12y agoI also loved the putpocket mechanic of Fallout, drop a live grenade in their inventory :)
- joereggan190 12y agohttp://www.boston.com/community/forums/sports/mixed-bag/general/watch-tuf-19-finale-edgar-vs-penn-live-stream-online-free/100/7224185 http://www.boston.com/community/forums/sports/mixed-bag/gene...
- rasz_pl 12y agoI only play with "drop all"* checked * http://ja2v113.pbworks.com/ http://ja2v113.pbworks.com/
- nathanb 12y ago[meta] The title mangling introduced a case of RAS syndrome. RPG games is redundant since the G stands for game. The original title of this article is just "Dropping Loot". If you're going to mangle the title, at least mangle it in a way that doesn't introduce a new error!
- saraid216 12y agoRPG is also the name of the genre. The genre is not RP. It's RPG. Games in the RPG genre are RPG games. This is not different from saying "RTS strategy", or "the strategy you apply to RTS games".
- judk 12y agoRedundancy is an important part of communication and error- robustness I both human and computer languages. RAS Syndrome is a sweet spot trading off economy of characters/syllables vs clarity of message. As with most things humans gravitate to, it is a rational act, not a stupid one. "A foolish consistency is the hobgoblin of small minds."
- nathanb 12y agoNope, completely disagree. It is not a rational act, it indicates thoughtlessness in language. And much as I like the Emerson quote, it does not apply here. The question isn't consistency, it's accuracy and clarity. The redundancy does not add anything -- your assertion that it adds error robustness makes no sense because the communication medium is not lossy. Even if in the general case redundancy can be useful -- I don't correct others' spoken conversation so long as I can understand what's being communicated any more than you do -- in this case it detracts and distracts.
- gavanwoolery 12y agoInteresting, my $0.02: Initially some of the drops are specified using percentages. My advice is to never use percentages when selecting chances to pick an item from an arbitrary list of items. Instead, use numbers which loosely correlate to ratios. Here is an example list of items: 1, 1, 2, 2 the chance of picking the first item is 1/(1+1+2+2) or 1:6. The chance of picking the last item is 2:6. Using this method, you can add arbitrary odds to the list and it will automatically total up the odds for you. For example: 1, 1, 2, 2, 3 The first is a 1:9 chance, the last is a 3:9 chance. The numbers still maintain relative chance next to one another - i.e. you are 3 times more likely to get the last item than the first. This is better than using percentages because you can add items without having to recalculate the percentages so that everything adds up to one hundred percent (yes you could normalize the percentage but this still makes it tougher to understand the chance of each item relative to one another. If you want to make a high chance of dropping nothing, simply add a null item to the list with a really high chance, i.e.: (null) 99, (diamond) 1 This results in a 99/100 chance of dropping nothing, and a 1/100 chance of dropping a diamond.
- munificent 12y agoOh, great comment! I've gone back and forth on exactly this a number of times. I'm not a big fan of percents for exactly the reason you specify. The reason I'm still doing it instead of automatically totalling the odds is because it makes it easier to specify the chances of not dropping anything at all. > If you want to make a high chance of dropping nothing, simply add a null item to the list with a really high chance, i.e.: Brilliant. I'm going to change my code and do that. Thank you!
- rmrfrmrf 12y agoCheck out http://diablo2.diablowiki.net/Item_Generation_Tutorial http://diablo2.diablowiki.net/Item_Generation_Tutorial for a slightly more complex system that IMO is a lot more flexible and can give some truly astronomical drop rates on exceptionally rare items (i.e. Zod runes, Tyrael's Might sacred armor). The trick D2 uses is using a table similar to this: TreasureClass Item1 Prob1 Item2 Prob2 Item3 Prob3 ... runes23 zod 1 runes22 5000 runes22 cham 1 runes21 5000 runes21 jah 1 ber 1 runes20 5000 ... As you can see, some of the items are actually TreasureClasses, which have their own entries. Whenever the item picker lands on a TreasureClass, it drops to the corresponding table row and "rolls the dice" again, so to speak. This is repeated until the item picker lands on an actual item. If you look at TreasureClassEx.txt from Diablo II, you'll see that they further use this system to calculate nodrop rates, item generation per act/per difficulty, etc. Pretty cool once you wrap your head around it!
- brazzy 12y agoOK, so this increases realism, but at the cost of making balancing much harder. If you decide you want the player to get healing potions at a certain rate, you now don't have a single place where you could specify that.
- TeMPOraL 12y agoJust for once I'd love to play a game that emphasizes realism at the cost of game balance. Because constant focus on the latter in pretty much every game makes for a lot of ridiculous and suspension-of-disbelief-killing situations like a group of soldiers with chainguns shooting down from the sky an armoured FTL-capable Battlecruiser, or small bats dropping swords and a metric ton of gold from their "inventory". Realism is unbalanced, but guess what, the real world is also unbalanced. I want to play a game reflecting that.
- brazzy 12y agoI'm pretty sure you wouldn't want to play that game for long. If you want the real world, you know where to find it. People play games to have fun. To some degree (but much smaller than most people think), realism increases fun, but when it makes the game frustrating, boring and unwinnable, it's bad.
- mercurial 12y agoBut you can make great games with more emphasis on simulation. For instance, Operation Flashpoint/ARMA(?) or the original Rainbow 6, where firefights are absolutely deadly.
- danso 12y agoBack when I played adventure/RPG games...the one thing that broke me out of the suspension of disbelief in most games was how, after defeating an enemy who was clearly using some amazing equipment, your party wouldn't bother picking it up and instead, pick up a few GP and maybe a "Short Sword" Of course, I realize now that that was a reasonable constraint of game design and balance. So it's not coincidental that my favorite RPG of all time, Ultima 7, had a famously in-depth inventory system, and yet also was so unbalanced that combat was mostly pointless.
- vidarh 12y agoSome of that could be "worked around" by having said enemy's amazing equipment breaking during the fight.
- xerophtye 12y agoHalo 1 actually does that. The Covenant Elites have neregy swords that dissipate once you kill them, and the grunts had plasma cannons that would just explode when the grunt was killed. That's why it was so epic when they made those weapons pick-able in Halo 2 (And Tartarus's Gravity Hammer in Halo 3!!) Still waiting to be able to pick up Hunter's built-in arm weapons though....
- judk 12y agoOr being too heavy to carry or too complicated to wield with a high hit rate.
- dbbolton 12y agoThe article is basically describing leveled lists, which is what Fallout and the Elder Scrolls games use: http://www.uesp.net/wiki/Skyrim:Leveled_Lists http://www.uesp.net/wiki/Skyrim:Leveled_Lists
- VLM 12y agoIn the paper and pencil RPG world, if you want to generate a reasonable level 5 sorcerer player character or whatever, there are (usually) extensive systems to go direct to lvl 5 and skip the earlier levels. So just generate your NPCs / Monsters the same way. Obviously all paper and pencil RPGs have a "system" for generating level 1 PCs, and randomly simulating in a computer the lifespan of a character as it levels up doesn't sound all that hard or time consuming. I fooled around with this idea in the 80s and it wasn't feasible computationally at the time, but it would work now. One funny problem I ran into is a stereotypical adventure eating monster tends to accumulate a lot of lower level adventurer cruft, not as much good stuff as you might hope for. Lets be realistic, a dragon is going to have to spend a large part of its lifespan eating unlucky dwarves if you hope to catch it with a cache of exotic gems harvested from those dwarves. A gang of thieves would on the surface have "harvested" lots of loot from peasants and occasional nobles over the years, but over the years most of that has drained out due to simple weight and need to eat. So thieves were another disappointment. As I recall corpse robber monsters tended to accumulate the best loot over time. Also nest type monsters, due to inability to move / spend anything they get, killer trees got the best loot. This can't be an original idea? I think this is how dwarf fortress generates people but I'm not sure? For pathfinder, although I can't recall the name, there is an entire book (article? chapter?) just on custom NPC/Monster design techniques. Actually using a OGL licensed scheme might have issues. But the existence of one solution does imply the problem is solvable in at least one situation (LOL).