I have not been able to get your program working but i am willing to give some unsolicited advice on building a loot system bred from observation and experience.
Designing a successful loot system is complex problem. For games with enemies that scale with the user's character it generally boils down to a number of tracking systems geared to maximizing enjoyment based on player psychology. Loot systems operate on similar fundamentals to slot machines (and the addictive qualities therein). Here are the main goals of a loot system:
1) Entice the user to explore the game systems more
2) Entice the user to continue investing in the core systems
3) Make the user feel like they have a variety of choices in how they tackle the core systems
The entirety of the game's systems must be balanced to achieve these goals. Many of the choices you make in designing how the game works will either positively or negatively affect how successful you are.
The barest minimum 'hook' is a visual change on the user's avatar with new loot. This provides a baseline for goal #2 and is often all that is needed for most non-hardcore users. But even the visual change has to follow a 'addictive drop time scale' to achieve this purpose (which i'll get to later).
The core to any loot system, however, is the scaling of the 'power' of the drops. For the remainder of this, i'll be referring to the drops in terms of weapons, but the principles apply to pretty much anything. To maximize user enjoyment you can not use truly random drops. There are multiple reasons for this, but the main one is that the majority of humans do not actually understand true randomness. Soren Johnson, the lead designer on Civilization 4 explains it best here:
http://www.gamasutra.com/view/news/118450/Analysis_Soren_Johnson_On_Playing_The_Odds.php
Like a slot machine, you are trying to entice the user to continue to invest, and as such, you should be tracking what they are doing/getting and orchestrating the drops to get them to keep playing. For instance, if you are randomizing the stats on weapons, with rare weapons getting a possibility of +/-10 on a base stat, you should track to see how many sub-par or over-par drops their last few have been, and adjust the next one properly. But that's not the only thing you should be tracking; track the way the user plays...what skills they use most frequently, how long they keep playing after getting a rare item, whether they hoard mid-level items or sell them immediately. All of these stats should play into your drop algorithm. Of course, a lot of this is influenced by your game design (party based or single avatar, class based or free form, switchable classes or locked upon choice, enemy scaling or set-by-area, etc.).
A core tenement to loot enjoyment is making the user feel like the newest thing they received is 'awesome'. This is usually tied to the item's aesthetics (including name, color, visual representation, any possible lore behind it, as well as visual/auditory representation it has on enemies) to an extent, but it has more to do with its perceived power. The key is: First impression is everything. If the weapon you are using at present does 10 damage and your newly picked up weapon does 13 damage, it doesn't really seem 'awesome'. Now, if the new weapon does 22 damage, it seems awesome. Of course, looking at it in a vacuum is useless, so lets use a more complex (though still greatly simplified) example:
Let's say your game has 10 dungeons, with enemies in each dungeon having HP of 10x the number of the dungeon (10@ dungeon 1, 20@ dungeon 2, etc.). If the user starts with a weapon that does 5 damage and halfway through dungeon 1, you give them a drop that does 7 damage, it seems mostly irrelevant to the user (enemies still take two hits to kill). If you give them a weapon that does 11 damage, the enemies take only one hit now and the new weapon seems effective. Once they get to dungeon 2, enemies are back to taking 2 hits, so a level of challenge is recovered. If you gave them a piece of loot that did 50 damage, dungeons 2 through 5 become trivial and the loot system is busted.
Of course, with the above example, after a couple of dungeons of that pattern, the use will suss out how the drop system goes and it won't be that satisfying either. Everything will seem very rote. A big key to alleviating this is: To make the user feel powerful, first you must make them feel weak. You don't do this right in the beginning, but you do it fairly early and repeat it at proper intervals. For instance, extending the above example:
Let's say that the user is now on dungeon 2 and they have that weapon that does 11 damage. In dungeon two, you make the enemies have 40HP. Make them struggle for a bit. Track their progress...see how low their health gets, whether/how many times they die and reward them relatively soon with a weapon that does 45 damage. At that point, they feel elated; they're carving through enemies left and right, having a great time. Slowly, you ramp up the enemy HP again, while at the same time, giving them other drops to bring everything else up to match the weapon. Then you start the cycle again.
This would probably be a good time to recommend that you don't do the slow bump too often...this is, again, a psychology thing, but it improves user satisfaction. The slow bump is giving weapons that are +1 or +3 to what the user already has right after they get something big. A lot of users get attached to certain weapons (almost an emotional reaction), and eroding the mind share of that weapon's status hurts overall satisfaction. For instance...let's say you just got that 45 damage weapon...5 minutes later, you get a 47 damage weapon. Then 13 minutes later, you get a 48 damage weapon....at that point, that huge jump that you saw from 11 to 45 seems meaningless. Like, if you didn't get that SUPER RARE DROP, you would have gotten one of these others anyway. Actually, it's even worse when you get a bunch of gear that's slightly below what you just got. The user feels cheated out of what they think would be the good feeling of getting a 38, then 39, then 45. You are better off dropping damage 22, 19, 27...it demonstrates to the user that they got something awesome.
So when do you use the slow bump? At the tail end of of the drop curve, right before the big spike. They are the "hope givers". When the user is struggling through 40HP enemies with an 11 damage weapon, offer them an olive branch of 14, 12, 17, 16, 12, 18 weapons to keep them going (especially if they are just struggling through the enemies but not dying a lot. Again: TRACKING. Give them a sense of accomplishment, but do not overly frustrate them). Think of these drops like slot machine payouts of $5 and $25 to keep the user plugging in quarters before that $1000 jackpot.
There are a couple of other fun tricks to keep the user invested (namely, by keeping things surprising)...additional purely random drops and random power enemies. The purely random drops are just that...incredibly powerful weapons that drop on a purely random basis, outside of your drop algorithms. Basically, it's good to let the user break your game a little bit (just a little) every once in a while. It helps in making them feel less like they're being jerked around by the designer. If you can put some sort of limitations on these pure random drops (since you don't know when they are going to come). You can use limitations like: make the weapon break after a certain number of uses; make it so the weapon can't be equipped until a certain level (though this opens up a whole other can of worms); make it so it's only super powerful against ELEMENT X type enemies; and so on.
Random power enemies are just special, super hard enemies with adequate rewards attached to defeating them. In a well designed system, they offer proper exit strategies (the ability to run away) or ample warnings before attacking. No one likes getting slaughtered out of nowhere for no apparent reason. But they are good for keeping users on their toes and giving an optional challenge to a user soon after they hit the new-loot spike in confidence.
Damn, this has gone on so long and there is still so much more to talk about: creating variance in play style by loot drop types; the problems with monster level scaling; the problems with overly scripted drop algorithms; maximizing enjoyment through additional weapon attributes; properly linking visual representation to power level; what to track, when to track it, and when to ignore it; open world vs. linear levels and how it affects loot drops; the problems with gear prerequisites; dealing with multiple players; locked in classes vs. switchable classes vs. class-by-gear; and more.
Anyway, this is likely way more than you wanted to read, but hey, if you want more, i'd be willing to share. Hell, if you've made it this far maybe you do. If not, just tell me to get the hell off your blog.
Log in to comment