I'm thinking about how to handle mob loot in my project. I know I want a system that is lightweight and easy for players to manage. I'm leaning towards skipping the classic corpse inspection/corpse looting and instead have items actually drop onto the floor when the creature dies. Not the most realistic but the streamlining appeals to me.

My solution to this would be private loot piles. I'll probably have a dictionary of dictionaries. The top-level key would be the unique ID of the player, with a sub-dictionary whose key is the item object and the value a tuple containing (item_count, timestamp_dropped). Items would automatically decay after a set number of minutes and empty dictionaries deleted. Grouped players would share access to piles assigned the unique ID of the party leader.

This would also apply to player dropped items. You would only see your own (or from members of your group).

On the downside, it detracts from the realism of the world and it does feel a bit nanny-ish. If someone has to drop treasure because they are encumbered it should be in danger of being taken while they run to the bank. OTOH, not having to wade through piles of rat ears is nice too.

I haven't said anything about divvying up gold and items. I'm inclined to leave that to the group. Even squabbles have their entertainment value.

It sounds like you could be asking several questions here. I think the main question you're asking is if it's too nanny-ish. The answer to that question IMO is that it depends on what kind of game you're trying to create. If the game is meant to be players vs. environment, with player cooperation being an important component, then you should (IMO again) try to avoid means of players screwing each other over. If the game is primarily players competing against other players, then it starts to make sense to penalize people for not being careful about their encumbrance etc.

I guess I don't really understand the problem you're solving, and would like to knowmore about it. I get the feeling it's about loot "theft", and people taking the stuffthat is on the fresh corpse you just made.

Assuming that's really a game problem that needs correcting, I don't think I'd handleit in a "YOU MAY NOT DO THIS THING" way. I know you're describing a system you feel is clever, but if loot "theft" is really a thing you want to prevent programmatically, then thething you said is actually kind of lazy and annoying.

If I really felt this needed to be "fixed", I'd modify the way taking-things-from-a-corpse workssuch that it actually makes sense in-character. So, for example, it takes X amount of time totake Y weight of stuff from a corpse, and worn items take even longer, and the process ofthing-taking-from-corpse can be interrupted by someone else trying to do the same thing,with such a conflict resolvable through combat.

If you're concerned about ninja looters and want to move away from loot spawning in corpses, and you've stated you don't have a problem with it being less than realistic, why not simply shove it all into the inventory space of whoever killed the mob, auto-loot style?

I guess what I (and perhaps Cratylus) don't really get is…is ninja-looting a problem in MUD's? I've never seen it outside of a graphical MMORPG, and even then it really refers to people already in your group (since all of the big MMO's have corpses tagged in the way you've posited), which your system wouldn't solve.

A possible solution is to have a sort of "claim" on a "loot pile" where if a potential ninja wants to steal the loot, you could display a "So-and-so is standing guard over it." message. You could implement actual gameplay mechanics for sneaking past So-and-so to grab the loot, but otherwise the player would have to, as Crat suggested, fight over it.

Of course, this is all irrelevant if you're not interested in this elusive ideal of "immersion." If that's the case, just go with the "YOU CANNOT GET THIS YET" option.

Edit: Also, were it me, I would make "claims" disappear after their owners left the room. It's one thing to magically guard an item that has a clear owner, but when nobody's around, that's gotta be fair game.

Why not just give things weight and volume and let that be your loot management system?

You want to slaughter 300 orcs in an audition to be the next Ginsu salesman of the year? Fine! Now you have 300 dead orc bodies stinking up the countryside. By the time you've looted a couple of them, all your pockets, backpacks, henchmen and mules are stuffed full and you have to find something to do with what you're already carrying.

Someone tags along behind you? Ok, well unless they've got a whole caravan of wagons, they probably can't loot too many more before you get back, since they ALSO have to find some way to sell/fence/melt-down what they can carry.

Also, what Crat said about it taking a little time to loot and someone being able to interrupt you doing it. If PvP is an option, that takes care of the looters all by itself. If not, surely other NPCs will wander in and try to help themselves after a while, no?

I'm thinking about how to handle mob loot in my project. I know I want a system that is lightweight and easy for players to manage. I'm leaning towards skipping the classic corpse inspection/corpse looting and instead have items actually drop onto the floor when the creature dies.

That's the approach I use. I occasionally get newbies asking how they can get the equipment off a mob they've just killed, but generally it's pretty well accepted by the players.

I've no restrictions on who can take the loot, and it's not been a problem. I don't see how it would be any different to corpse looting, to be honest - most muds I've played allow anyone to loot a corpse, and it's rarely a problem on those games either. Some do lock the corpses to the killer, but of course you could do the same thing with dropped loot as well.

I guess I don't really understand the problem you're solving, and would like to knowmore about it. I get the feeling it's about loot "theft", and people taking the stuffthat is on the fresh corpse you just made.

Assuming that's really a game problem that needs correcting, I don't think I'd handleit in a "YOU MAY NOT DO THIS THING" way. I know you're describing a system you feel isclever, but if loot "theft" is really a thing you want to prevent programmatically, then thething you said is actually kind of lazy and annoying.

I'm really looking at this as a user interface issue. Preventing loot theft is not the primary intent and I emphatically want to avoid inflicting "YOU MAY NOT DO THIS THING" on players. The purpose of loot piles is to avoid constructs like "search orc corpse #7, take all from orc corpse #7".

Since loot would just appear on the floor as creatures died, I was concerned that this might be both spammy and pilferable which gave me the idea of making loot piles only visible to the people who "owned" them. You could fight next to another player and he doesn't see your loot or related text and you don't see his. I may skip this isolation based on KaVir's comment that common loot piles hasn't been a problem on his mud.

I plan to combine the loot piles with a greedy name matching system based on text tries (discussed in an earlier forum thread).

If you're concerned about ninja looters and want to move away from loot spawning in corpses, and you've stated you don't have a problem with it being less than realistic, why not simply shove it all into the inventory space of whoever killed the mob, auto-loot style?

That's a fair question and something I considered. I think there's a measure of fun in having treasure revealed and then picking it up. Of course, another MUD designer might say there's fun in searching the corpse too.

Quote

I guess what I (and perhaps Cratylus) don't really get is…is ninja-looting a problem in MUD's? I've never seen it outside of a graphical MMORPG, and even then it really refers to people already in your group (since all of the big MMO's have corpses tagged in the way you've posited), which your system wouldn't solve.

Honestly, I don't know because I haven't played a lot in MUDs – one of the reason's I'm asking for input from folks like you with more experience.

With all due respect - how? Granted, it's been some time since I immersed myself in a variety of well-populated games, but nearly every game I've felt was fun enough to play had the option for auto-loot, which would eliminate any potential for ninja-looting (and people could just use it long enough for the ninja-looters to be dissuaded and then reevaluate their choice from there). Even if there wasn't auto-loot, it would be simplicity incarnate to make a trigger to scoop up your stuff after killing a mob. I am curious as to why neither of these options worked on the games you've played where you experienced ninja-looting.

Even if there wasn't auto-loot, it would be simplicity incarnate to make a trigger to scoop up your stuff after killing a mob. I am curious as to why neither of these options worked on the games you've played where you experienced ninja-looting.

The problem with triggers is that the ninja-looter could set up a trigger of their own (assuming the trigger solution actually works on the mud in question).

But even if you blocked players from stealing loot, you could still get people jumping in at the last second to steal the kill instead. Are you going to block kill stealing too? Then the ninja will just kill the player - so you'll have to deal with PK as well, both direct and indirect (eg buffing and healing the mobs).

However then you'll get players camping bosses, or even deliberately initiating fights that result in deadlock and going AFK for hours on end, and other players won't be able to do anything about it, because you'll have blocked direct interaction between players. At that point you might as well just give people their own instance to play in.

I used to have this book and got her running on an Apple II, which is the reason the phrase stuck in my psyche. But yeah, it's hard to call it a game today. Camel was way better – damn wild berbers hidden in the sand…

Quote

But even if you blocked players from stealing loot, you could still get people jumping in at the last second to steal the kill instead. Are you going to block kill stealing too? Then the ninja will just kill the player - so you'll have to deal with PK as well, both direct and indirect (eg buffing and healing the mobs).

However then you'll get players camping bosses, or even deliberately initiating fights that result in deadlock and going AFK for hours on end, and other players won't be able to do anything about it, because you'll have blocked direct interaction between players. At that point you might as well just give people their own instance to play in.

I know this wasn't directed at me, but I'll probably handle this by tracking damage done by character or group unique ID and whoever does the most wins.

Yup I'm familiar with ELIZA, I've created similar programs myself, and once played with a bot that connected to a mud and responded to conversations. It definitely influenced games, but I've never heard ELIZA itself referred to as a game.

Barm said:

I know this wasn't directed at me, but I'll probably handle this by tracking damage done by character or group unique ID and whoever does the most wins.

What happens if I reduce a mob to just below half hp, then walk off? When the next person comes along and finishes the mob off, does that mean the loot is locked to me because I did the most damage?

If not, if the lock wears off after a while, then the ninja could wait until I've almost killed the mob before attacking and killing me. Then they just need to wait for the lock to wear off.

What happens if I reduce a mob to just below half hp, then walk off? When the next person comes along and finishes the mob off, does that mean the loot is locked to me because I did the most damage?

Yes. Although we should, as you mention below, provide a mechanism for your damage to reset some time after abandoning combat.

Quote

If not, if the lock wears off after a while, then the ninja could wait until I've almost killed the mob before attacking and killing me. Then they just need to wait for the lock to wear off.

Here's how I would handle it;

Let's assume that damage is stored as hate in the mob's AI and when the hate list is emptied it resets the mob's hit points (or the mob starts to regenerate). We award the kill to the player or group with the most hate upon mob death – even though it might be less than the majority of the mob's hit points. Let's ignore non-damage forms of hate like taunt and debuffs.

Case A) you and ninja both attack the mob until it's dead. Whoever does more damage wins.Case B) ninja kills you, then attacks the mob. On your death, hate resets and the ninja engages a mob at full or partial health depending on the rule above. Either way, he gets the kill.Case C) ninja attacks you, nicks the mob at 5% health, then kills you. On your death, you forfiet your hate and ninja has to kill a 95% dead mob to collect his loot. Lesson of the story, watch out for ninjas.Case D) ninja attacks you, nicks the mob at 5% health, then you run. Ninja finishes killing the mob but you did more damage and you get the kill. Come back before the loot rots and it's yours. This is just Case A with different wording.

I concede that this might be more elaborate than is actually needed. If mobs are never contested it's a waste of time. If everyone is trying to kill the same boss or rare spawns with special loot then it could be important.

You said that it's player vs. environment, but three of your four cases involve player vs. player. So is it really PvE? Or is it PvE with PvP allowed too? If it's PvE, then three of your four cases disappear.

You said that it's player vs. environment, but three of your four cases involve player vs. player. So is it really PvE? Or is it PvE with PvP allowed too? If it's PvE, then three of your four cases disappear.

Well, yes. But are we trying to address the general problem or your specific problem? Your specific situation adds a lot of extra assumptions that change the game. Both conversations are very interesting to have IMO, it's just hard to have one if other people are having the other. :wink:

With all due respect - how? Granted, it's been some time since I immersed myself in a variety of well-populated games, but nearly every game I've felt was fun enough to play had the option for auto-loot, which would eliminate any potential for ninja-looting (and people could just use it long enough for the ninja-looters to be dissuaded and then reevaluate their choice from there).

How does autoloot generally work in the case of parties? Does the loot get distributed to the person who laid the killing blow? Or randomly throughout the whole party of the killer? Or even all participating parties? The last time I implemented a system like this, I just dropped it in a cargo container. Then some time later, I made it an offensive act to take loot that did not belong to you.

This sounds like another good case for Kavir's list in another recent thread here.

One of ELIZA's standard responses to a "no" answer was "Are you saying thatjust to be negative?", which I figured I'd jokify into "just to be thingy", since…well..if you don't get what I was doing by now, you won't.

Call me dense but I really just don't see the problem. It may be that the kind ofmud I'm used to solves this by making loot theft relatively rare with features yourmud doesn't have. But it really, really seems to me like this concern you haveshould be easy to address in a way that doesn't break immersion so starklyas "you can't pick up that pile of stuff for OOC reasons".