Page 1 of 1

How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 00:19
by XuaXua
Victory dancing, I believe, is the act of repeating the exact same task over and over to apply unallocated xp to a skill.

My solution to victory dancing requires a bit more action tracking. When a check to allocate experience to a skill succeeds, check the last action and turn number recorded for allocating experience to this skill. If it is the exact same as the current action and the number of turns between checks is less than 50, do not count it; otherwise record the current action (include spell cast and target/attacking monster id and item id used as applicable) and turn number for this skill and allocate the experience to the skill.

I chose 50 as an arbitrary number.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 00:29
by KoboldLord
So, we have to victory dance TWO skills at once, and alternate between them? This is actually a buff to casters, assuming spellcasting skill is distinct from other magic skills, since you're guaranteed to send half your xp into spellcasting.

Or are we supposed to mill around for 50 ticks in between each cast? This could be awkward if we are, say, training our kill spell in combat by killing things. Sometimes monsters approach more than one every 50 ticks.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 01:34
by XuaXua
Read the post again, KL.

I specifically mention using a unique target id. Meaning you can get xp applied if the target or attacker (in the case of shield/armor dancing) is a diferent one than before.

Alternately track all successful xp applications to skills for the last 50 turns and if the exact combination qualfies again (skill plus optional target id(specific monster or self or nothing) plus whatever else might make the check distinct) then don't apply the xp to the skill.

50 seemed like a reasonable number that I pulled out of the ether.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 01:38
by KoboldLord
Allow me to clarify, without any attempts at weak levity.

Increasing the tedium of victory dancing is not a fix. It is the opposite of a fix.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 01:41
by XuaXua
Tedium requires no consequences.

By increasing time or requirements you add... time which increases hunger and increases OOD encounters and subtracts score.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 01:59
by dolphin
I think that the problem of victory dancing is not so much a problem behaviour in itself, but rather a symptom of how the xp training works. Most RPG's make you artificially select which skills your XP points go into; Crawl puts XP points into whatever skilled action you happen to be doing at the moment. A direct consequence of this is that when you have a large amount of XP to use up, and when you have a skill that you would prefer to be boosted, you will victory dance.

Some of the proposed solutions to victory dancing try to track which skilled actions you have been doing the most, and retroactively assign XP points to those skills.

Merely punishing a player for engaging an a boring and tedious behaviour that is a natural result of the XP system wouldn't be very nice and doesn't solve the real problem, any more than cutting off the feet of a soccer player who is kicking badly solves his bad kicking.

edit: I know that's a fairly harsh example, and I wish that I could l think of a better one. I'm not trying to be malicious.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 02:04
by XuaXua
This thread was inspired by the mummy wizard tactics which describe some serious vd tactics to raise skills.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 02:57
by pratamawirya
If you want to make your body stronger, it's just natural that you do push-up or weight-lifting or whatever over and over again. There's absolutely nothing wrong with such repeated task.

But if the repeated task doesn't suit you (like if you're playing a pure spellcaster and you have to slash rats with a short blade so you can get more HP), now that might be a problem....

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 03:40
by XuaXua
The system I propose allows for a repeated task as long as it is made unique. Attacking seven different rats in a row will allow a check for each rat. Chances are if you gained ex to your skill you probably killed the rat. It is attacking the exact same rat over and over that is discouraged.

This type of system could be used in conjunction with any addiional xp allocation reform.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 08:33
by galehar
The plan is not to make VD even harder. We'll add a manual mode in the skill menu which will allow you to select the skills you want to train. All incoming XP will go into the selected skills. Then we'll add an automatic mode that select the skills to train based on previous actions. No more XP pool.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 09:06
by SinsI
The player needs to rest after each battle.
The player also needs to train the skills he want, and allocate time for that.
How about assuming that while he is resting(waiting for XP and MP to recover), he is actually exercising instead, doing the "victory dance" for skills he wishes off-screen? That is, while you rest, you are training selected skills at an accelerated rate.
Advantages: no more macros, no more tedium, no more victory dancing.
Disadvantages: no "gym" required - bats to train defense, low-level spells to train spellcasting; no extra hunger costs for training magic, piety costs for invocation; no glowing risk.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 10:11
by Sol
galehar wrote:The plan is not to make VD even harder. We'll add a manual mode in the skill menu which will allow you to select the skills you want to train. All incoming XP will go into the selected skills. Then we'll add an automatic mode that select the skills to train based on previous actions. No more XP pool.

Please, can you explain this a bit? Can you select only one skill, so all xp will go to it? What about I select Fighting, but don't ever melee, will it grow?

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 13:09
by galehar
Sol wrote:
galehar wrote:The plan is not to make VD even harder. We'll add a manual mode in the skill menu which will allow you to select the skills you want to train. All incoming XP will go into the selected skills. Then we'll add an automatic mode that select the skills to train based on previous actions. No more XP pool.

Please, can you explain this a bit? Can you select only one skill, so all xp will go to it? What about I select Fighting, but don't ever melee, will it grow?

Yes. We're still at the designing phase for it, so nothing is written in stone. But the idea is to allow players to choose which skill to train, even fighting and spellcasting. The HP bonus from fighting will be nerfed before. There will probably be a few restrictions, like carrying an appropriate weapon to train a weapon skill or knowing a spell from the school you want to learn (with a decent success), but nothing too drastic.
You'll be able to select one or several skill. You will also probably be able to choose between simple and double weight for selected skills.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 13:16
by Jeremiah
Will this mean we can choose to train a skill even if we currently have 0 in it? If so, I assume all skills will be visible on the skill screen so we can see progress towards getting the first level in a skill.

Maybe for spellcasting you should have to be at least carrying a spell book - this could also apply to training magic schools; you need to have a book with a spell of that school in even if you can't currently cast it.

I guess the problem with this is it would mean spellcasters would have to carry more books around with them.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 13:37
by absolutego
allowing to train a skill without actually practicing it sounds very weird; it's a different paradigm. but it might just work. it's silly, in a way, but performing the same rote action a million times isn't any better. it's victory dancing without having to victory dance.

the thing is, i find this surprising because it's the first i hear of it. the last time i checked there was some talk about the "monster experience pool". is there a public discussion of this new proposal anywhere? can't see anything.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 14:07
by galehar
Jeremiah wrote:Will this mean we can choose to train a skill even if we currently have 0 in it?

Probably not. You'll still have to victory dance the first level.

Jeremiah wrote:Maybe for spellcasting you should have to be at least carrying a spell book - this could also apply to training magic schools; you need to have a book with a spell of that school in even if you can't currently cast it.

I think it's better to require the player to learn a spell rather than just carry a book.

absolutego wrote:the thing is, i find this surprising because it's the first i hear of it. the last time i checked there was some talk about the "monster experience pool". is there a public discussion of this new proposal anywhere? can't see anything.

No, there was some informal discussion about it on IRC but we haven't wikified anything yet. I'm confident that it will come soon because the person who suggested it is kilobyte, our most active dev :)

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 15:07
by Jeremiah
galehar wrote:
Jeremiah wrote:Will this mean we can choose to train a skill even if we currently have 0 in it?

Probably not. You'll still have to victory dance the first level.

That sounds like it could be hard to implement: how do you victory dance that first level if there is no more experience pool and all XP earned are going straight into one of your other skills?

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 15:31
by galehar
Jeremiah wrote:
galehar wrote:
Jeremiah wrote:Will this mean we can choose to train a skill even if we currently have 0 in it?

Probably not. You'll still have to victory dance the first level.

That sounds like it could be hard to implement: how do you victory dance that first level if there is no more experience pool and all XP earned are going straight into one of your other skills?

You can victory dance and gain new skills in automatic mode. Allowing the selection of 0 level skills is a detail anyway. We might do it if necessary, but if automatic mode works properly, I think we won't have to.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 17:36
by LunarHarp
I think the current system is neat. I like getting better at things that my character actually does in game. Although if it fixes victory dancing and keeps the skill system in place I won't complain.

I am not sure why anyone would pick automatic when they could select manual allocation of skills. Wouldn't a manual mode just encourage raising everything to be passable, then dumping all your experience into one or two things something to max it out? (I'm looking at you conjurers). Although on the other hand, being able to raise stealth or armour quickly would be cool too.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 19:35
by galehar
LunarHarp wrote:I am not sure why anyone would pick automatic when they could select manual allocation of skills.

New players who don't know what skills to train. And maybe also any player in the mid-game, once they have reached their urgent goals. This is assuming that the automatic mode is efficient and that no skill is overpowered, so this probably won't happen with the first iteration of the system.

LunarHarp wrote:Wouldn't a manual mode just encourage raising everything to be passable, then dumping all your experience into one or two things something to max it out? (I'm looking at you conjurers). Although on the other hand, being able to raise stealth or armour quickly would be cool too.

Players can already train the skills they want. There is a few downsides and limitations, but with dedication, you can put at least 90% of your XP into the skill you want by victory dancing. So this change would just remove the tedium of it.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 21st April 2011, 22:32
by danr
Wow, this sounds eminently sensible! This will probably the biggest gameplay improvement in the history of the game, and I don't think people will realize how big the improvement is until they actually experience it. IMHO of course.

Re: How to Remove Victory Dancing

PostPosted: Friday, 22nd April 2011, 14:17
by plaidman
It sounds like you already have a system that is actively being implemented, so this suggestion might be coming a bit late. But for the sake of futility, I'm going to post it anyway. I'm also going to confess that I'm fairly new to DCSS and haven't made it to D:10 yet (I like to bite off more than I can chew), but I have a good understanding of what Victory Dancing is, and why it's retarded and not fun. I've also read the experimental skill pool changes page and forum threads, so I think I have a good grasp on what needs to change.

Taking another look at why VD is necessary, there's the experience draining attacks, and there's the accidental training of useless skills. We also want to avoid pre-dancing as it's as tedious and not-fun as post-dancing. All of these are addressed in galehar's/kilobyte's idea (which I like, personally). We have the manual mode to address pre-dancing and useless skills, and getting rid of the pool to combat exp-drains.

However, there is still the idea that a skill should only be truly trained if it's used, and the proposed "Manual Mode" sort of goes against that idea. We could do a pure-automatic run, but then we risk training useless skills or not training seldom-used skills when we want (unless the logic for determining pre-used skills is spot on - a very difficult thing to fine tune). So my proposal is instead of applying experience directly to a skill, we apply the experience to raise a skill cap, then allow the actual skill points to be gained by using the skills (but not beyond the cap, obviously).

The cap-raising allocation can be done any way we'd like:
    -Current system: enabled skills get preference, disabled skills get 25%
    -Multi-tier weighted current system (select 0%, 25%, 50%, 75%, 100%, proposed in the wiki)
    -Automatic based on pre-used skills
    -Manually
    -Hybrid of the previous two (via galehar/kilobyte)

Of course this doesn't eliminate Victory Dancing since players could still dance to gain points within the cap but only until they hit the cap, and we could apply some limitations to the way points are gained when a skill is used:
    -As a skill gets closer to the cap, increase the number of times it's used between skill gains
    -Apply some kind of item/spell/target tracking system (via XuaXua earlier in the thread)

TL;DR: We apply galehar's idea to a skill cap system, which allows training via skill use, but also kills off the need for Victory Dancing.

Re: How to Remove Victory Dancing

PostPosted: Sunday, 24th April 2011, 23:44
by roguelikedev
danr wrote: ... This will probably [be] the biggest gameplay improvement in the history of the game ...


Autoprayer.

Re: How to Remove Victory Dancing

PostPosted: Monday, 25th April 2011, 17:07
by XuaXua
roguelikedev wrote:
danr wrote: ... This will probably [be] the biggest gameplay improvement in the history of the game ...


Autoprayer.


Autoplayer.

Re: How to Remove Victory Dancing

PostPosted: Tuesday, 26th April 2011, 06:02
by Grimm
Perhaps this has already been suggested, but what about decoupling skill training from levelling experience? That is, you would still get XP from monster kills that level you up, raising stats and HP/MP as per usual, but skills are trained only according to how often you use them, with no XP pool. Different ways of using a skill could have different contributions to skill improvement. So for example if I swing an axe at a mushroom I get one Axes point, if I swing at an orc and miss I get two, if I swing at an orc and hit I get three, and if I swing at an orc and deliver the killing blow I get ten points towards Axes. What say you?

Re: How to Remove Victory Dancing

PostPosted: Tuesday, 26th April 2011, 09:42
by SinsI
Grimm: that will never happen, as it encourages scumming (imagine mummy player sitting on a level hacking away at bushes to train all skills to 100%).

Re: How to Remove Victory Dancing

PostPosted: Wednesday, 27th April 2011, 00:18
by Grimm
Scumming would be prevented by

1) the OOD Scum-prevention Service, that already prevents mummyscumming
2) the extremely low return from attacking plants (it's realistic that combat conditions would produce higher returns)
3) the linking of skill levels to character levels in the following fashion: the cost to increase a skill level increases with each character level. So for example at XL 1 it costs 100 points to get one level of Axes, but at XL 10 it costs 1000 points, making plant-hacking unfeasible before the police come. (The numbers are fictional; more mathematical minds could easily work up better ones.)

Re: How to Remove Victory Dancing

PostPosted: Wednesday, 27th April 2011, 10:35
by Grimm
But "however many turns you can tolerate" is sharply limited by the OOD police, not to mention hunger. Hunger! Scumming's only a problem in the Tomb sitch you point out, and that could doubtless be worked around. Also, to decrease the attractiveness of non-combat training, simply make the point gain from non-combat training negligible and the gain from combat training (or actual trap defusing etc.) massive.

Re: How to Remove Victory Dancing

PostPosted: Wednesday, 27th April 2011, 18:44
by Grimm
All right, then make non-combat training only valid for going from skill level 0 to skill level 1. After that, only combat experience counts. This is similar to the way Spellcasting is already learned: only reading scrolls counts between 0 and 1.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 28th April 2011, 05:47
by Grimm
That does only seem to be a problem with mummies though, due to the food thing. Everyone else would starve eventually.

Re: How to Remove Victory Dancing

PostPosted: Thursday, 28th April 2011, 07:31
by MrMisterMonkey
It'd still easy enough to milk it for a long while, and then there's necromutation.
Not to mention how it'd probably end up being both tedious and optimal (bad design in my opinion).

Re: How to Remove Victory Dancing

PostPosted: Thursday, 28th April 2011, 07:37
by Grimm
This is indeed a knotty problem.

Re: How to Remove Victory Dancing

PostPosted: Monday, 2nd May 2011, 16:04
by galehar
I have wikified the manual skill training proposal.

Re: How to Remove Victory Dancing

PostPosted: Saturday, 7th May 2011, 03:54
by stabwound
Getting rid of the need for victory dancing is a great plan.

I would agree with keeping the initial skill level gain as a manual process. The "reading scrolls for spellcasting" is a cool mechanic, and gaining the initial weapon points at the beginning of the game is part of the challenge- especially if you find a cool weapon early on of a type you're not skilled in.

Ideally I would prefer a completely different type of skill system - something like Diablo, where you can manually put points into skills, but that doesn't really work with the way Crawl experience works.

Re: How to Remove Victory Dancing

PostPosted: Wednesday, 11th May 2011, 01:33
by ibanix
Perhaps a slightly different suggestion (or not, there are lots of them here):

Drop skill pool entirely. Skill points are immediately applied when earned, in a ratio based on the actions of the last X turns.

Whenever a skill-based action is used, increment the counter for said skill. So every time you attack with a mace, increment fighting and maces/flails counter. Casting a spell? Increment spellcasting and school-specific counter. When skill points are earned, check last X turns, and say we find:

Fighting: 10 (33%)
Maces/Fails: 10 (33%)
Spellcasting: 5 (17%)
Air magic: 5 (17%)

And then the 'n' SP are applied in this ratio.

I don't know how to handle fractional SP - track it as such (are SP int or float internally?), or some other solution.

This would prevent even the idea of 'victory dancing', because you'd have nothing to dance. You'll just go up in skills you actually keep using.

Re: How to Remove Victory Dancing

PostPosted: Wednesday, 11th May 2011, 08:38
by ibanix
I disagree. You can't train fighting/weapons without hitting something, or spellcasting without casting a spell. If the X turn divider is set reasonably short, you won't be able to spam a macro for casting a spell and then go kill something and train it - the window will have passed.

Re: How to Remove Victory Dancing

PostPosted: Wednesday, 11th May 2011, 10:37
by galehar
We don't want to make it harder to train skills. This system would simply revert the system from post battle dance to pre battle dance and would probably be worse. Have you read what is planned for 0.9?