Page 1 of 1

Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 16:31
by PAnacea
Skill progression is independent of the RNG to a significant degree for many characters - for instance, in the beginning one will either want to train a spell school or a weapon to mindelay, then spellcasting or evocations, then fighting and dodging etc. To do this well, the player has to constantly monitor their skill values, as some (weapon skills, shields) become far less useful after a cutoff point, and the exponential skill point requirements make further levels inherently less valuable. Thus, an automatic way to train to a certain point would be nice. This could easily be achieved if in the skill screen, a player could enter a number for a skill (for example after pressing its upper-case letter) to determine at which point it will automatically be deactivated, just like it happens at Lv 27.

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 17:30
by reaver
I've thought about this issue before and here is my prefered solution:

The player cannot normally access the skill screen. Instead, every time the player gains a certain number of skill points, they are given the option to "purchase" skills with skill points. (Similar to how the player is prompted to select a stat to increase on level-up now). You can only purchase skills at these select intervals, and can only purchase full levels of skills. "Left over" skill points are retained in the pool and can be used the next time the skill screen becomes available.

This would allow an easier merger of automatic and manual skill training modes (Just have "suggested" skill purchases) and would completely avoid any problem with breakpoints (since skill gain is much more discrete).

Obviously this would be a lot of work to implement, and there are some remaining problems to solve with it (such as how often to prompt the player to update their skills, and whether delaying skill gain slightly would significantly affect the early game).

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 17:36
by Kate
This exists: http://crawl.xtahua.com/crawl/rcfiles/c ... skillto.rc (macro a key to ===skillto).

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 17:50
by Siegurt
reaver wrote:I've thought about this issue before and here is my prefered solution:

The player cannot normally access the skill screen. Instead, every time the player gains a certain number of skill points, they are given the option to "purchase" skills with skill points. (Similar to how the player is prompted to select a stat to increase on level-up now). You can only purchase skills at these select intervals, and can only purchase full levels of skills. "Left over" skill points are retained in the pool and can be used the next time the skill screen becomes available.

This would allow an easier merger of automatic and manual skill training modes (Just have "suggested" skill purchases) and would completely avoid any problem with breakpoints (since skill gain is much more discrete).

Obviously this would be a lot of work to implement, and there are some remaining problems to solve with it (such as how often to prompt the player to update their skills, and whether delaying skill gain slightly would significantly affect the early game).


This would involve me going to the skills screen more often than I do currently, for many characters I set some skills to train, then go back there after like 4-5 levels have passed before I change anything. I don't think I would want this to happen more often than once a level, personally (Maybe it could happen at level up, but I still think the current method is better)

The OP's intention, it seems, is to make one set of decisions early on and not have to go back and fiddle with the skill training screen for a very very long time thereafter, your suggestion is sort of the opposite of that.

I'd rather we go further *away* from fiddling with our skill training rather than more towards it, personally.

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 17:56
by Hirsch I
@Reaver: I dont see why the game should prompt the player to distribute its skills. can't the skill page be repurposed, and the player could access it at any time to spend his pooled skill points? or a DnD approach, where you distribute your points when you level up, would be preferable? I do think this would be a great improvement. only problem is that it will be a little bit intrusive, but I guess that is OK.
@Siegurt: you already have to go to the skill page to change the ones that will be trained each time they reach a breakpoint, I dont see how this would change that much.

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 18:06
by Siegurt
Hirsch I wrote:@Reaver: I dont see why the game should prompt the player to distribute its skills. can't the skill page be repurposed, and the player could access it at any time to spend his pooled skill points? or a DnD approach, where you distribute your points when you level up, would be preferable? I do think this would be a great improvement. only problem is that it will be a little bit intrusive, but I guess that is OK.
@Siegurt: you already have to go to the skill page to change the ones that will be trained each time they reach a breakpoint, I dont see how this would change that much.

Well, for a typical melee user, I start by turning on fighting, weapon skill, dodging and armour. I leave it that way until and unless I pick up a ranged weapon I want to use or get a decent evokable object i want to use, eventually I turn off the weapon skill when it gets to min delay, If I pick up spells I might go in and fiddle with it then as well.

However in a typical "melee basher" type start, that means I have to use that screen one to three times before I'm done with lair/orc.

I don't have to go fiddle with after every breakpoint, because there's no reason to do so (depending on what you call a 'breakpoint') and on the other hand, if I find something I want to use (nice evokable, spellbook etc.) I can adjust how I decide to train for it when I get it, instead of "the next time I happen to hit some arbitrary training related interval" This seems more natural and intuitive to me, personally.

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 18:09
by duvessa
Hirsch I wrote:@Reaver: I dont see why the game should prompt the player to distribute its skills. can't the skill page be repurposed, and the player could access it at any time to spend his pooled skill points?
Then you would just bring the screen up manually every time you got skill points.

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 19:04
by Hirsch I
yeah, I guess you both are right. I'm just used to the DnD sistem, as most games I play use it. it wouldn't be that good for crawl, though, now that I think about it a little better.

Re: Allow user to set target value for skill training

PostPosted: Sunday, 29th March 2015, 20:36
by PAnacea
Siegurt: You read my intention right insofar as I'd like to have to deal with the skill menu less. At the moment, I constantly open it to check how long I'll have to train my skills until I can switch because if I train one for too long, it's basically a waste of XP. reaver's suggested system addresses the same point, but requires much larger changes.

It's probably a matter of style how much this problem bugs people - I usually have only a single skill enabled, which means that it can sometimes shoot up rapidly, requiring me to keep a closer eye on it. It would just be nice if the infrastructure which seems to already exist for skill Lv 27 could be extended to player-defined breakpoints, which would take away the need to monitor skills manually at all.

Edit: And thanks for the script suggestion, MarvinPA! This seems to be exactly what I thought of. Would be great if it were an "official" part of the game, that would allow for a nicer interface.