Page 1 of 1

Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:01
by brendan
Cross-training is complex. The order in which you train impacts the total cost to raise your skills. It's cheaper for a Kobold to train Short Blades (+3) followed by Long Blades (-2) than the reverse. There are a few more examples of this. We could tweak attributes, but I prefer a consistent solution.

A skill enhancer system (like Heroism, or Ash) might be simpler. The equations that springs to mind is:

  Code:
effective long blades xp = (actual long blades xp) + (actual short blades xp) * discount

and for anti-training
  Code:
effective air xp = (actual earth xp) - (actual air xp) * discount

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:03
by duvessa
I like this idea for crosstraining, and strongly recommend removing "antitraining" altogether. It is already highly undesirable to train two skills that do the same thing (which is what elemental skills do, the same thing). The second one doesn't need to be twice as expensive on top of that. If anything, it makes more sense for elemental schools to have crosstraining like weapons.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:05
by brendan
duvessa wrote:and strongly recommend removing anti-training.


I don't care one way or another. Anti-training never seemed to have much of an impact. Who on earth would memorize shatter and tornado?

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:12
by spudwalt
Memorizing both Shatter and Tornado is pretty nuts, but you might want both Tornado and Dig, for example.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:15
by Bloax
Except getting a level 9 spell is already huge for anything but highly specialized builds, and getting two is pretty much completely out of the normal-game scope.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:21
by pubby
It's cheaper for a Kobold to train Short Blades (+3) followed by Long Blades (-2) than the reverse.

How is this system different? Are you adjusting for aptitudes?

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 05:26
by brendan
pubby wrote:
It's cheaper for a Kobold to train Short Blades (+3) followed by Long Blades (-2) than the reverse.

How is this system different? Are you adjusting for aptitudes?

By using raw experience costs rather than level for determining the cross-training bonus.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 12:06
by siprus
If i'm training ice magic and there was not crosstraining it might be a good idea to train fire magic to 10-20 and learn bolt of fire to over come ice magics weaknesses...

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 12:28
by dck
but it wouldn't be a good idea at all.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 16:41
by XuaXua
brendan wrote:Who on earth would memorize shatter and tornado?


Now I can finally work on my plans for my Deep Elf Wizard, William Shattornado!

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 16:46
by dpeg
brendan wrote:Cross-training is complex. The order in which you train impacts the total cost to raise your skills. It's cheaper for a Kobold to train Short Blades (+3) followed by Long Blades (-2) than the reverse. There are a few more examples of this. We could tweak attributes, but I prefer a consistent solution.

A skill enhancer system (like Heroism, or Ash) might be simpler. The equations that springs to mind is:

  Code:
effective long blades xp = (actual long blades xp) + (actual short blades xp) * discount

and for anti-training
  Code:
effective air xp = (actual earth xp) - (actual air xp) * discount

Sounds rock-solid to me. I suggest to make a short suggestion on c-r-d, or just ask around on ##crawl-dev. In either case this should go to trunk, but not to 0.14. (We don't have feature freeze, but we should resist the temptation to rush new content into stable. Trunk is where it's at anyway.)

Regarding anti-training: if you take the c-r-d tour, just ask. I don't have much of an opinion myself, and wouldn't object to removal.

XuaXua: Sounds great!

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 16:53
by XuaXua
I think your parenthesis are off and your discount is weird.

For cross-training, discount is positive and only applies to the secondary skill(s):

  Code:
effective long blades xp = (actual long blades xp) + (actual short blades xp * discount)


For anti-training, is a negative discount value and only applies to the secondary skill:

  Code:
effective air xp = (actual earth xp) + (actual air xp * discount)


edit: Hmm, maybe I'm thinking the actual resulting skill...

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 17:11
by brendan
XuaXua wrote:I think your parenthesis are off and your discount is weird.


I used parentheses because (i used variable names like this). Instead I could have used variable_names_like_this or variableNamesLikeThis. Multiplication binds more tightly than addition.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 17:17
by XuaXua
  Code:
effective staves xp = (actual staves xp) + (actual m&F xp * discount) + (actual polearms xp * discount)

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 18:06
by brendan
dpeg wrote:I suggest to make a short suggestion on c-r-d, or just ask around on ##crawl-dev.


##dev is generally in favor. I'm going to begin developing on a branch.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 20:42
by Quazifuji
With regards to anti-training, my current character was a Kiku worshipping Wizard who found an early FE book, so I wanted to have sticky flame early on but later splashed a bit of ice magic for Simulacrum. No one ever needs shatter and tornado or fire storm and glaciate, but there are mid-level utility spells in each that characters sometimes want that cost a lot more experience to get because of anti-training.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 20:43
by duvessa
Quazifuji wrote:With regards to anti-training, my current character was a Kiku worshipping Wizard who found an early FE book, so I wanted to have sticky flame early on but later splashed a bit of ice magic for Simulacrum.
There was no reason to train both fire and ice skill for this.

Re: Simplify Cross-training

PostPosted: Sunday, 9th March 2014, 22:47
by brendan
I'm not wild about the skill menu, but the implementation is functional.

Re: Simplify Cross-training

PostPosted: Monday, 10th March 2014, 01:40
by XuaXua
While you're at it, dare I suggest you make it this:

  Code:
effective long blades xp = (actual long blades xp) + (actual short blades xp * discount) + (fighting xp * fighting discount)

Re: Simplify Cross-training

PostPosted: Monday, 10th March 2014, 01:42
by dck
what is fighting doing there.

Re: Simplify Cross-training

PostPosted: Monday, 10th March 2014, 01:58
by XuaXua
dck wrote:what is fighting doing there.


Does Fighting skill contribute to the use of any skills?

Re: Simplify Cross-training

PostPosted: Monday, 10th March 2014, 02:53
by dpeg
The idea of weapon crosstraining is to make weapon type switching easier. Unlike with magical skills, out of all the weapon skills (including Unarmed Combat), you make use of exactly one at any given time. (You can carry and apply weapons of two different categories, but you can only swing one of those weapons at a monster. By contrast, all of your magical or defensive skills can contribute in a single fight.) Thus crosstraining gives some strategic flexibility, and while it's used rarely, as far as I observe, the concept seems sound.

Fighting should have nothing to do with this. Everyone wants to train Fighting (and the decision is how much and when). This is completely unrelated to weapon specialisation. There is neither gameplay nor flavour reason to link weapon crosstraining with Fighting, in my opinion.