Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Proper train-by-use skill system?

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,552
Location
Russia
TES used train-by-use for skills since Daggerfall. Never did it right. Are there games that actually managed it?
May be someone has ideas how it can be done better?
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Skyrim.

:troll:

Seriously, it's not really an RPG, but Fable had the right idea by giving you general XP as well as XP in strength, will and skill based on how you fought enemies and what attacks/spells you used. You got enough general XP to upgrade the basics but could also pour it into a specific path if you wanted to, while the special XP was only useful for certain types of abilities.

In other words, it was positive reinforcement but recognized the overlap that using lots of magic might make you good at all magic, not just one type, and without the downside of completely sucking at everything else. But, if you still made a character focused on one thing, you'd never be as good at another completely different discipline (especially because there's an "age" aka level cap). That same idea could definitely be applied to a better game.
 

Lonely Vazdru

Pimp my Title
Joined
Jan 10, 2007
Messages
6,662
Location
Agen
TES used train-by-use for skills since Daggerfall. Never did it right. Are there games that actually managed it?
May be someone has ideas how it can be done better?
Daggerfall system wasn't that bad, the main flak it gets is that it can be abused, which is not a flaw per se. No one forces you to be a bunny hoping asshole.

Wizardry 8 has a nice mix of "train-by-use" + "skillpoints-at-level-up" that works quite well.
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Daggerfall system wasn't that bad, the main flak it gets is that it can be abused, which is not a flaw per se. No one forces you to be a bunny hoping asshole.
Problem is, as designed, this is a hard problem to solve. You almost need to have a mechanism in place that is able to limit the XP the player gets for certain activities, or recognizes the possible abuses and exploits; that, or a global limiting mechanic of some sort. Both are not necessarily ideal solutions depending on the game

Level comparison between player and enemy works for combat. If a player is level 20 and the enemy is level 5, the player shouldn't get any XP from dominating it. Oblivion let you hold your shield up and block Mudcrab attacks, and you could just stand there holding the button down, walk away from the computer and come back an hour later to find your block skill fully trained. Not good.

However, level comparison does not work for non-combat applications. How do you know the player is sneak-walking into a wall instead of around enemies? If the enemies never move from their patrol routes, you can just "walk" into a corner forever and gain XP. Sure, you could actually compute the physical distance traveled, but that would add a greater performance overhead that might not be suitable on your given platform.

And what about other stuff, like speech? In Elder Scrolls games, at least speechcraft is limited by the number of NPCs available to talk to, but that still doesn't quite prevent abuse. In other words you have to come up with special scripting to handle every possible skill use and find out what the player is doing, why, and if it seems like an exploit, stop rewarding XP. That can be done, but it'd probably take a hell of a lot of trial and error to determine what is an exploit and what's not.

The problem becomes even more confused when you deliberately let the player do "skill training" applications to level up quickly. Arguably this is a good feature to include in the game - it means that if you are replaying and want to level a skill fast just to skip the boring early game, you can. So how can you tell the difference between this, legitimate leveling, and exploits?

I think one of the better solutions is to take a modified approach to what Oblivion did with resting. In Oblivion you could train skills as much as you wanted, but attributes would only go up a certain amount before you were forced to level up by resting in bed. This is not a bad idea in practice but the implementation in Oblivion was bad because of the way it forced you to manage your skill use to obtain good stats.

I think you could help solve this problem by putting a cap on simply how many skill increases you can do at once before you are forced to rest (maybe 5 in one skill, or 10 across all skills), but this doesn't really solve the problem so much as introduce an extra layer of tedium that must be shared by all players. Just like a hunger and thirst system, it becomes busywork rather than a fun gameplay mechanic - and all players should not be punished just to prevent a few from abusing the system.

If nothing else this kind of just tells me that the Elder Scrolls series would be better served with a conventional XP system rather than the per-use system that is traditional. In such a system, you have limits which much more closely tie in with the regular game activities of killing monsters and doing quests, including the number of enemies in a location, the player's level vs. enemies, the amount of time passed, and so on. Sure, you could train speech by killing Mudcrabs, but... that's arguably a small price to pay on the realism side, and because XP would theoretically be a limited resource thanks to a level cap, you'd still be making a decision about how to build your character every time you chose to spend XP on a skill.
 

Helton

Arcane
Joined
Jan 29, 2007
Messages
6,789
Location
Starbase Delta
I liked Galsiah's system for Morrowind.

I mean you can still become insanely powerful but isn't that somewhat the point of RPGs? I don't consider it a flaw. What it does is replace hard skill caps with soft ones -- ie increasingly more xp required to raise a skill past 100. In vanilla, you would max a skill at 100 and then the logical next thing to do is to start maxing other, unrelated skills. So you "max out" as a swordsman and start using magic or spears or something. Galsiah's Character system gives insentive for that swordsman to keep using swords for the entire game.

There were some other tweaks too, but this relatively simple change was brilliant and completely changed the way I played Morrowind.

edit: oh right, how could I forget. The other major problem with TES levelling like sea mentioned is the min-maxing of attributes. I don't WANT to train sword any more until I level, because otherwise I'm wasting strength multipliers. Its a retarded conflict of interest that encourages a boring meta-game. Galsiah took that out and your attributes improve organically with skills.
 

Lancehead

Liturgist
Joined
Dec 6, 2012
Messages
1,550
The biggest deterrent I find to exploiting use-based systems is that doing so is actually pretty boring. I get no satisfaction from trying to abuse it.
 

Alex

Arcane
Joined
Jun 14, 2007
Messages
8,778
Location
São Paulo - Brasil
I think the way Dungeon Crawl Stone Soup did t was pretty good. As you earn XP in that game, it gets allocated to your different skills. The proportion that goes to each skill depends on how much you used which in recent history. So, you still need to use your skills to develop them, but the system doesn't get broken by having you use them continuously to level them up. The gae also allows you to focus or defocus some skills, so you don't have tocast a teleportation spell 100 times if you just want to level it up a little. You can just focus on it and unfocus other skills for a while.

That said, I do think the focus system goes a bit too far, as there is nothing preventing you from focusing only one or two skills and unfocusing all others, thus making it possible for the user to ignore the train-by-use aspect. It could be fixed by having to much focus make you lose XP, though.

The big problem with use based skills, as I see them, is that for them to work right, you need a whole lot of context for the character actions. For example, if a player is sneaking through a dangerous path where enemies could hear him, you want him to earn more XP (or whatever you use to measure skill development) than if he is just crouched walking around his hotel room. You probably want him to get better at healing spells faster if he is healing himself from wounds suffered against a monster than if he is just jumping from a house's roof and healing himself afterwards, several times. I think the big problem here isn't even that the system can be broken. Breaking the system, such as by resting in a in while casting weak spells on yourself all day is something no one would do by mistake. And while having a system that isn't so easily broken is nice, I don't think it is the main priority here.

I think the big problem is that trying to get better at skills by just playing the game usually is really slow, no matter if you are pushing yourself against great odds, taking it real slow, or breaking the system byjust practicing them in a safe environment. Thus, I think what any new systems should focus on is trying to make the skills develop more if the characters go all out. But this requires a good deal of contextual information, as I mentioned earlier. What I mean to say is that I don't think the priority of the designer efforts should be in making sure that the player can't go to a dragon's lair and then sneak around in a safe area to get more skill. Instead, they should make sure the character who goes there and sneaks up to the dragon, steals as much treasure as they can carry and sneak out before it wakes up get more sneaking xp than the guy who sneaks all the way to the dragon, but there changes tactics and fights it. Both are valid ways of approaching the challenge, but I would say the first character accomplished a greater feat with his sneaking ability, and thus should be rewarded more.
 

Stelcio

Savant
Joined
Jan 18, 2012
Messages
237
Well, te train-by-use system is influenced by real life relation between training and skill. The solution to it's flaws should be therefore also taken from real life experience with training.

First of all - why don't we jump whole day or lift weights all day? Because we get tired. Incorporate proper fatigue system which would prevent mindless skill grind.

Second thing - do we really get better by doing one and a same thing over and over? Or by doing things way below our skill? No. Game should recognize not only what we do but also in what circumstances. If the situation is not challenging, the training shouldn't give effects. Also if we are doing same thing again and again we should not get better as the situation is already known.

There's a very simple way for this. Assign every object with "eduactional value" for using a skill against it. If we fight with fencing master we can always learn something new (even if the master himself doesn't possess such knowledge/skill). If we fight with farmer it can have no learning value for us. More, these values can be modified by intelligence, as smart people tend to learn more and easier.

Jagged Alliance 2
You mean like throwing knives on windows?
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Well, te train-by-use system is influenced by real life relation between training and skill. The solution to it's flaws should be therefore also taken from real life experience with training.

First of all - why don't we jump whole day or lift weights all day? Because we get tired. Incorporate proper fatigue system which would prevent mindless skill grind.

Second thing - do we really get better by doing one and a same thing over and over? Or by doing things way below our skill? No. Game should recognize not only what we do but also in what circumstances. If the situation is not challenging, the training shouldn't give effects. Also if we are doing same thing again and again we should not get better as the situation is already known.

There's a very simple way for this. Assign every object with "eduactional value" for using a skill against it. If we fight with fencing master we can always learn something new (even if the master himself doesn't possess such knowledge/skill). If we fight with farmer it can have no learning value for us. More, these values can be modified by intelligence, as smart people tend to learn more and easier.
I already addressed this problem above.

Looking to real life for ways to design your game better is not always a good idea. Case in point, making the player rest every time a level is gained might be realistic but it is also kind of boring and may not fit the game very well. The Elder Scrolls games are built around exploration and free-roaming, not survival and management of physical attributes like sleep, hunger, etc. Therefore this sort of mechanic doesn't really fit unless you want to change the way the game plays in a wider sense, else you end up with a sort of dissonance between the leveling system and the way the player is expected or wants to play the game.

The problem with assigning "educational value" to objects is that you can instill as much information as you want in objects and it won't be enough, because what the game really needs is a special AI to figure out how much the player is being challenged or, failing that, designers to pre-configure XP rewards. For example, how does a carpet know the context of the player sneaking around? Does it know the player has broken into a mansion at night as is trying to pilfer the place, versus if the player is walking around inside his/her own house? It works for some cases but certainly not for all of them.

Because contexts in an open-ended RPG can be near-infinite, you need near-infinite metadata for objects to reference and compute, and not only does that add a scripting nightmare for designers, it adds more overhead that could arguably be spent on other factors that actually improve the game. That's why at a certain point you might as well just change the design of the leveling system itself - few players will really notice/care in the grand scheme, and you are saving yourself tons and tons of work in the future.

The traditional XP system has caught on for many reasons: because it works, because it's easy to implement, because it can be balanced effectively, and because players know and understand it. Making a new, novel leveling system can be a competitive advantage and can make a game better, but it's also a huge gamble and at the end of the day it's not the shape or form of the leveling system that specifically matters, but what the leveling system is there to enable and how it operates within the context of player progression within your game.
 

Vault Dweller

Commissar, Red Star Studio
Developer
Joined
Jan 7, 2003
Messages
28,038
Jagged Alliance 2
You mean like throwing knives on windows?
How's that different from looking for generic monsters to kill to level up?

Most systems can be abused. The goal, as Helton said, is to become better. Normally, you become better by doing 'reasonable' activities like accomplishing goals or killing monsters that block your way to your objective. But becoming more powerful is a temptation that few players can resist and so they'd look for any way to increase skills, either by hunting monsters and evildoers to extinction or by hitting objects that would count as legit targets. If anything, the latter is more realistic as it's the closest you get to practicing skills.

The rest depends on the ratios. So far the problems are:

- only the strike counts, so if you want to increase swords, using a faster, low damage sword increases your skill faster than a slow, powerful two-hander. Same goes for spells.
- hitting an object is the same as hitting a tough enemy

So, really, all you need to do is to add modifiers accounting for the weapon/spell type and the target. Throwing knives at the window should yield less than throwing knives at a "bandit". For example, to raise the skill to the next level you need to hit a human target 20 times or a generic object 100 times. Then, if someone still has the patience to throw knives at the windows, let them. It's their business.
 

tiagocc0

Arcane
Joined
Jun 29, 2007
Messages
2,056
Location
Brazil
Throwing knives at the window should yield less than throwing knives at a "bandit".

Also something that may be useful is to separate skill with a weapon from killing a certain type of enemy.
For example, throwing knives at the window or at a bandit could result in the same increase of knife skill if you have skills like 'expertise in killing humanoids'.
So while the first would only increase your knife skill the latter would increase both skills, knife and your expertise in killing that target.

I would love to see it developed (don't know if there is a game like that, I have seen some but it was more like a tiny bonus than a full skill).
With this you can be quite good at killing humanoids and throwing knives, but the first time you meet a giant spider you won't kill it that easily. You have to learn how to kill giant spiders.
 

Lonely Vazdru

Pimp my Title
Joined
Jan 10, 2007
Messages
6,662
Location
Agen
I think you could help solve this problem by putting a cap on simply how many skill increases you can do at once before you are forced to rest.
AFAIR, Daggerfall does just that. You can only increase a skill you used by 1% at each rest. At first it's fast, so jumping like a maniac for two minutes for instance will get your jumping skill from 10% to 11% next rest, guaranteed. But when you reach 50% and more, you really have to jump for full minutes to even hope to get a 1% increase at next rest. Sure, it can still be abused, but it"s such a waste of valid gameplay time that I'm tempted to say that the 1% increase is well earned after all. And if used "properly", it was a good systam.

What that "Daggerfall system is broken" discussion, has and always will boil down to for me is : I really don't give a shit what other people do or don't do when playing, they can abuse all they want and become giant Mondblutian Ubermensch, it won't ruin my game. As long as the system works for me, it's good to go. I finished the game, had a great time and ended-up powerful but definitely not in the "Level 40/100% in every skill" league. The only skill I remember grinding like mad was running, but for the rest, a couple of spells before bed, a teacher every day, the occasional roof-climbing, and that was it. Great memories.
 

Stelcio

Savant
Joined
Jan 18, 2012
Messages
237
sea, you think about it too much. The whole context is already there, calculated in final DC of sneak roll. I don't think apllying this to educational value as well is such a big deal.
Jagged Alliance 2
You mean like throwing knives on windows?
How's that different from looking for generic monsters to kill to level up?
You're asking how looking for a targets to practice is different than having one in place for endless skill grind?
So, really, all you need to do is to add modifiers accounting for the weapon/spell type and the target. Throwing knives at the window should yield less than throwing knives at a "bandit". For example, to raise the skill to the next level you need to hit a human target 20 times or a generic object 100 times. Then, if someone still has the patience to throw knives at the windows, let them. It's their business.
The whole problem with window trick in JA2 is that you have to put someone behind the window to make the game think you actually try to hit a person. The window just prevents from actually hitting and hurting your mercenary. It also saves you a knife. It also shows that in JA2 you increase your skills no matter if success or failure. The game solved one of the problems addressed by you but suddenly another aroused.
 

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,552
Location
Russia
I was thinking about a mix of DCSS and VtM:Bloodlines
Amount of skill increase is determined by reaching objectives, and kind of skill you increase is determined by what skills you where using, while reaching said objective.

When you use skill, skill experience is "banked" . Then when you reach some objective, you get "character experience", that either used immediately to "cash in" banked skill experience (up to received character experience) to improve skills, or if there is not enough of banked skill exp, character exp stored and used up gradually each time you reach another objective.

What is objective. Basically, anything both non-spammable and requiring using skills. Mostly, achieving some stage in quest - killing quest target, getting quest item. Not completing quest by talking by quest giver, though, because it can be days after actual work. So, exp for quest should be given in smaller chunks.

Getting to master chest or some other end-of-dungeon thing also counts as objective. As is killing enemies, or otherwise neutralizing them. But if you reach end-of-dungeon without killing everybody, there should probably be exp bonus for all "survivors". Of cause, you should never get kill exp for somebody twice.

Skill tagging in DCSS is a nice idea. This can be implemented as training. You get training = you get double skill increase for that particular skill, up to certain amount. If you get more than one training active, bonuses are reduced.

Non-combat skills - remove them, or make them working differently to combat ones.

Speech - use reputation instead.
Mercantile - use reputation + skill relevant to particular item. If you are good with swords, you will know better which one is good and which is crap.
All kinds of crafting - either make it a paid service (like enchanting in MW), or train it only by doing/finding something completely new. Such as, train alchemy only when you make a potion with new effect, or found new herb.

And of cause, there should be alternative (even if limited) ways to gain skills without practice. Such as getting skill increase as reward for quest, or as a drop from enemy (in form of a book, for example).
 

CappenVarra

phase-based phantasmist
Patron
Joined
Mar 14, 2011
Messages
2,912
Location
Ardamai
DraQ

from my DraQ.txt:
Take Morrowind's system.
Remove skills that cannot fail (acrobatics, athletics) and integrate them into attributes.
Make failures contribute to skill gain just like successes do.
Make skill gain on success proportional to probability of failure and vice versa (probability can be 0 in MW system, so decent swordsman won't learn anything slaughtering mudcrabs).
Make skill gain proportional to magnitude of effect of your action (so trading one item at a time doesn't train your mercantile skill better than trading them all at once, neither does using shitty, low damage weapon make for a better training than using the top of the line one as long as your target has the same amount of HP).
Make all skills contribute to level up.
Make the level of your highest skill influence the difficulty of raising any of your skills to dissuade grinding of misc skills.
Scale benefits from skills so that raising skill never becomes pointless but at the same time skills don't get broken above certain level (like enchant does), preferably don't cap skills at all.
Scale skill gains so that skills raise at approximately same speed if they are used to similar extent (a summon or bound weapon can help you win entire battle, while you'll probably need to cast several destruction spells to achieve the same effect).
Nerf training mechanics by introducing lower bounds for trainers (don't waste my time n00b), or by making them influence something other than direct skill gain (lower difficulty of raising given skill, raise skill cap), do the latter for skill books as well.
Make enchanter's or blacksmith's skill matter when enchanting or repairing something in town, introduce possibility of failure.
Add critical failures.
Add need for sleep and nourishment, along with associated costs discouraging unproductive activities like casting fireballs at walls.

You now have a decent use based system.
 

DragoFireheart

all caps, rainbow colors, SOMETHING.
Joined
Jun 16, 2007
Messages
23,731
DraQ

from my DraQ.txt:
Take Morrowind's system.
Remove skills that cannot fail (acrobatics, athletics) and integrate them into attributes.
Make failures contribute to skill gain just like successes do.
Make skill gain on success proportional to probability of failure and vice versa (probability can be 0 in MW system, so decent swordsman won't learn anything slaughtering mudcrabs).
Make skill gain proportional to magnitude of effect of your action (so trading one item at a time doesn't train your mercantile skill better than trading them all at once, neither does using shitty, low damage weapon make for a better training than using the top of the line one as long as your target has the same amount of HP).
Make all skills contribute to level up.
Make the level of your highest skill influence the difficulty of raising any of your skills to dissuade grinding of misc skills.
Scale benefits from skills so that raising skill never becomes pointless but at the same time skills don't get broken above certain level (like enchant does), preferably don't cap skills at all.
Scale skill gains so that skills raise at approximately same speed if they are used to similar extent (a summon or bound weapon can help you win entire battle, while you'll probably need to cast several destruction spells to achieve the same effect).
Nerf training mechanics by introducing lower bounds for trainers (don't waste my time n00b), or by making them influence something other than direct skill gain (lower difficulty of raising given skill, raise skill cap), do the latter for skill books as well.
Make enchanter's or blacksmith's skill matter when enchanting or repairing something in town, introduce possibility of failure.
Add critical failures.
Add need for sleep and nourishment, along with associated costs discouraging unproductive activities like casting fireballs at walls.

You now have a decent use based system.


I was about to post that a balanced skill-based system is not possible until I saw this post.

The bold parts specifically. If I ever make a RPG or I am part of a development group making an RPG using a skill based system, I'll keep this text handy.
 

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,552
Location
Russia
"Remove skills that cannot fail"? So, remove restoration, remove alteration, etc?

"Make skill gain on success proportional to probability of failure and vice versa"? Sound suggestion, it's actually how it is done in DiscworlMUD. But - can be tricked by manipulating difficulty. Like, drain attribute on yourself, so you miss mudcrab half of time. And/or keep your fatigue at zero for same effect. If it is spell with fail chance, like in MW, it will not give you exp for reliable spells (that you will sensibly use), instead forcing you to use 50% chance custom spells. Ergo, even more metagame.

"Make skill gain proportional to magnitude of effect" - right, but magnitude is hard thing to measure. Also, consider effect of using weapon with heal on strike enchant (or custom damage+heal spell). You can attack strong enemy with it, with real magnitude of effect exactly zero.

"Add need for sleep and nourishment, along with associated costs discouraging unproductive activities like casting fireballs at wall" - ok, but how exactly? How expensive should be rest and food, so player can't afford a year of lodging after a couple hours of playing, and spam sleep-eat-fireball?
I think only effective "associated cost" may be costs imposed on player, not character. That is, player's time and/or player's effort at making some tasks done i.e. doing quests, killing things and similar activity.
 

DragoFireheart

all caps, rainbow colors, SOMETHING.
Joined
Jun 16, 2007
Messages
23,731
"Remove skills that cannot fail"? So, remove restoration, remove alteration, etc?

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
 

Cenobyte

Prophet
Joined
Feb 13, 2010
Messages
1,117
Location
Japan
Wizardry 8 has a nice mix of "train-by-use" + "skillpoints-at-level-up" that works quite well.

Wiz 8 was also my first idea when I read the title of this thread.

It really does a lot of things right if you think about it. Most skills could only be used during combat, which means that stupid skill usage against random objects in the game world was not possible. This also means that your skills increase when you do something meaningful with them, signalling achievement and well-earned progress for the player.
Another very insightful idea is the fact that spells with a duration cannot be cast again until the active spell's duration has ended. And most other spells could only be used in combat. Both put an efficient end to problems with spell spamming, but again reward spell usage.
Lastly, the power skills which you could unlock once you maxed out the associated normal skill meant that there was a reward for leveling up, and also meant that with the newly unlocked skills, high-level characters still have interesting choices for skillpoint investment.
 

Lonely Vazdru

Pimp my Title
Joined
Jan 10, 2007
Messages
6,662
Location
Agen
Yeah, Wizardry 8 system is great, and the endless fighting provides all the grind you need anyway. :)


Lastly, the power skills which you could unlock once you maxed out the associated normal skill stat meant that there was a reward for leveling up, and also meant that with the newly unlocked skills, high-level characters still have interesting choices for skillpoint investment.
This is the internet, so, arguing semantics... what else ? But definitely yes, that was a very good move to keep the flame alive in the old warrior's eye.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom