19 Aug, 2012, Idealiad wrote in the 1st comment:
Votes: 0
I'd like to hear your thoughts on skill webs, based on either theory or practice :).

I have a kind of weird design I'm working on right now. I'm not the best at maths so I welcome feedback.

Characters can choose skills if they satisfy the prerequisites. Some skills have no prereqs. A prereq can require skill(s) and/or an absence of skill(s). Skills increase rank with use (more on that below).

To advance a skill you choose to train it. While the game tracks increase-by-use, you only advance a skill that you're training. Training just happens in the background as you play the character. The more time you put into training, the faster you advance, until your skill hits the next rank. Then the curve starts at the beginning. If you switch training then the curve restarts as well. In other words, if you want to increase a skill it's best to spend some time training it. Some skills give a small bonus to other skills.

To determine how much time and use it costs to increase a skill, the basic formula is:

base cost constant = (sum of all ranks of skills in the web * number of links from the skill you're increasing)

You plug the constant into a cost curve related to the current rank of the skill to get the final cost.

I'll explain the base constant formula.

Every skill is linked to another skill. Here's the weird part (at least, I think it's weird ;) ). The player chooses what links to what.

In other words, Biff chooses swords as a skill, and running. He links swords and running. Buffy chooses running, and links it to her next skill, pickpocketing. Players make their own skill webs, on top of the implicit web defined by the prereqs.

So the formula says (at least I hope it says), the cost to increase a skill increases as total skill ranks in a web go up, and the cost increases for a skill as you link more skills to it, and it's more expensive to increase a higher-ranked skill.

As I mentioned some skills give a small bonus automatically to other skills. Linked skills give a greater bonus. For example, if Biff is running while swordfighting, he is much more effective than someone who has those skills unlinked.

Now clearly there is a major flaw with this idea. A player could make a pretty dumb build (this is a classless game). Disregarding that for the moment, what do you think might be other problems with this approach?
19 Aug, 2012, Barrons wrote in the 2nd comment:
Votes: 0
The inverse is probably true too. It seems like a player might be able to make a class that's overly easy to level, having linked skills in a way where more skills can be simultaneously advanced (compounding bonuses), enabling a person to progress too quickly or unfairly. I don't know though, it would have to be put in context a bit more to be sure, but just something to think about.

If you do put this system in place, it might be worth it to (with code) produce every variation of possible skill webs, then examine them individually to see potential gameplay or mechanic flaws. I would be curious for the metrics, anyway.
19 Aug, 2012, Barrons wrote in the 3rd comment:
Votes: 0
Apologies for the double post, but also:

Following my suggestion above might be fruitful because you may see that there are "class-like patterns" between some of the possible skills. Maybe you won't force your players into those terms, or let them see the mechanic, but you could give them "hints" or "guide them" through skill-linking, to avoid some of those "dumb builds".

I think with any classless system or build system where there are a lot of possibilities for customization, the problem becomes balance. Hard to balance the effectiveness of "classes" when there aren't any, without restricting the player's freedom to customize.

"COME PLAY HERE! YOU CAN DO ANYTHING YOU WANT!"

"Well, don't do that or the game won't be fun."
20 Aug, 2012, quixadhal wrote in the 4th comment:
Votes: 0
Hmmm, my post seems to have been sent to the void….

Oh well, shorter version. If you're going to have skills simply purchasable (which is what you're saying by letting players define their relationship), you need to be careful that skills balance or scale in all aspects, not just numbers.

Additionally, if the cost goes up with each skill added, you need to have some way for players to abandon their skills so they don't put themselves in the position of taking something that they end up hating.

EVE-Online is an example of a system somewhat like you're describing. http://wiki.eveonline.com/en/wiki/Main_P...

Specifically, look at the ships and ship equipment sections and see how each ties into the skill system. For example, to use a Mega Beam Laser I, you have to learn Large Energy Turrent I, and Gunnary V. To learn Large Energy Turrent I, you first have to learn Medium Energy Turrent III, which itself requires Gunnary III and Small Energy Turrent III, which requires Gunnary I.

Now, you can choose to use a rail gun instead, and there will be other sills you need, but they'll both share the Gunnary skill in common. To be good at using either, there are other skills which aren't directly tied into the prereqs, but which will enhance performance of various aspects. Energy Management will have a bigger impact on lasers than rail guns, because lasers use more energy.
20 Aug, 2012, Barrons wrote in the 5th comment:
Votes: 0
Ha, Quixadhal, that makes me want to play EVE-Online.
20 Aug, 2012, Idealiad wrote in the 6th comment:
Votes: 0
quixadhal said:
Additionally, if the cost goes up with each skill added, you need to have some way for players to abandon their skills so they don't put themselves in the position of taking something that they end up hating.


Good point quix, I hadn't thought of this in that context but it wouldn't be fair to hamstring players like that. Skill forgetting would be a good thing to add.

@Barrons, understanding the pros and cons of each build will be tricky. I'm not even sure I feasibly could examine every variation without a lot of effort. I think you're on to something with looking for 'class patterns' as those might be the most fruitful combinations to analyze.
20 Aug, 2012, Exodus wrote in the 7th comment:
Votes: 0
Idealiad said:
Every skill is linked to another skill. Here's the weird part (at least, I think it's weird ;) ). The player chooses what links to what.

In other words, Biff chooses swords as a skill, and running. He links swords and running. Buffy chooses running, and links it to her next skill, pickpocketing. Players make their own skill webs, on top of the implicit web defined by the prereqs.


This type of system is not as weird as you think. Many skills can and should have synergy with each other. Any adventurer can swing a sword and run around, but Biff, he's practiced a particular method of running and swinging his sword that makes it an effective technique and thus gets a bonuses from it. Players being able to choose what links to what is a good idea because it allows for much more customization, especially in a classless game.

As long as the prerequisites cannot be set by the player (directly), it sounds like a fine system. I might suggest adding additional checks for prerequisites based on the links they've made between skills. For example, if Biff has linked running and swords, and running is a prereq for sprinting along with swords being a prereq for parrying, one might think that because of Biff's specialization with running and swords, he may not know how to do it any other way. This may mean Biff needs to master both running and swords before he can sprint or parry.

Just a thought.
20 Aug, 2012, andril wrote in the 8th comment:
Votes: 0
And what happens if Biff masters running and swords, but hasn't linked them yet, then decides to link running and swords regardless of whether he's decided to start learning parry or sprint? Cancellation of being able to learn parry and sprint for now? Skill reduction of running and swords?
20 Aug, 2012, Alathon wrote in the 9th comment:
Votes: 0
This feels an awful lot like making a system complicated for the sake of it.

Your description of linking basically boils down to: Player can select any two abilities to synergize.

My question is: How do you think that will make a better / more fun game?

Regardless of that, here are some issues with it:
  • Allowing synergy between any two skills makes your job of balancing a lot harder, than it would be otherwise.

  • You'll still inevitably probably get almost the same number of cookie-cutter builds, as you would if only certain skills get synergy with other skills.

  • The players who aren't very into the game, are very likely to make suboptimal choices. Freedom of choice does not necessarily make something fun.


  • These things considered, it would have to play a very, very significant role in the grand scheme of actively playing the game, for those issues to be okay, IMO.

    What you're essentially trying to create, it seems, is the ability to create a variety of interesting builds. I'm not sure you need the linking at all, for that. Small bonus synergies
    along with the natural balance of the game itself, is already going to give you a variety of interesting builds. What determines the builds is by and large what is effective in the game,
    which can be tweaked and extended in a plethora of ways that aren't directly tied to the power value of the skills. As a simple example, an underwater breathing skill may be pretty darn
    handy, if your particular character is built towards searching underwater caves for stuff - And it would be with linking too, now you'd just be slightly more effective than 'very effective' at it,
    and you as a game developer need to account for that. Difference for the player? None.

    I'd also like to point out that losing progress when you decide to work on training something else, seems a bit… harsh? Is there any particular reason for implementing that? It seems like you'd mostly
    be punishing players who are new to the game, or those who are trying to experiment. Which seems counter to the concept of building a skill system that encourages it.
    20 Aug, 2012, Idealiad wrote in the 10th comment:
    Votes: 0
    @andril, I think for Exodus's example if you mastered both skills you automatically would satisfy the prereq of another skill depending on them.

    @Alathon, you can link as many skills together as you want, not only two, but that makes it more difficult to advance in any of those linked skills.

    The original idea for this was to create a system where each skill has one or more atomic actions which could be combined (like combining reagents in an alchemy system or magic words in a spell system). However that got complicated rather quickly, so I thought linking might be an interesting way for players to customize their characters.

    In the example of an underwater breathing skill, I don't think that says much about linking. You would link that skill with something else – say sword, and then you'd be a better underwater swordsman than someone with both skills unlinked. I think the tradeoff of that effectiveness versus the increased cost to advancing those skills is an interesting player choice.

    I agree with you about the issues of suboptimal builds and cookie-cutter builds. I have a partial solution for the former and I think the prereqs can help with the latter (as certain choices exclude others). – let me rephrase that since I misunderstood your point. Take one common build. The more linking a player does the more impact that will have on their advancement. Ultimately, of course they'll be more effective with those skill combinations. In the meantime the player who didn't link will advance more quickly but in the end game will be less effective. They'll have to have made up for that with other choices they 'got to first'. I think that's strategically interesting. What happens then is that even within cookie-cutter builds (which on skill-based games I agree is a common occurrence) there is room for interesting choices.

    Quote
    It seems like you'd mostly
    be punishing players who are new to the game, or those who are trying to experiment. Which seems counter to the concept of building a skill system that encourages it.


    That's a very good point about experimentation. Looking again at that I think I was wrong with the initial design, there's no reason I can't save the time progress for each skill.
    24 Aug, 2012, Barrons wrote in the 11th comment:
    Votes: 0
    It's not too difficult to generate variations of skills in code, depending on what code you are using and what language it is developed in. Recursive functions in Lua are great for that kind of stuff.
    24 Aug, 2012, Idealiad wrote in the 12th comment:
    Votes: 0
    The generation won't be difficult, it's the analysis. Just looking at terminal builds for my game, I'm guessing there will be about 2e+89 combinations of skills alone, without taking linking, gear, or anything else into account. So like you said choosing some common patterns to look at will help.

    I don't think I can analyze everything before the game is played though, some of this I'll have to profile during play.
    24 Aug, 2012, Rarva.Riendf wrote in the 13th comment:
    Votes: 0
    Or you could use Diablo 2 synergie system.
    Again there is no best solution, but the one you choose better be very well play tested.

    Quote
    It seems like you'd mostly
    be punishing players who are new to the game, or those who are trying to experiment. Which seems counter to the concept of building a skill system that encourages it.

    Very simple solution (ala diablo 2 as wel) : stat reset.
    25 Aug, 2012, Barrons wrote in the 14th comment:
    Votes: 0
    Idealiad said:
    The generation won't be difficult, it's the analysis. Just looking at terminal builds for my game, I'm guessing there will be about 2e+89 combinations of skills alone, without taking linking, gear, or anything else into account. So like you said choosing some common patterns to look at will help.

    I don't think I can analyze everything before the game is played though, some of this I'll have to profile during play.


    Is that taking into account skill and linking requirements/exclusions? That seems like an awful lot of permutations, tho I can't be sure as I haven't seen your skill list.

    Another thought is tying skill patterns into stats. If you have so much strength or so much intelligence, you are suggested such and such initial skills.
    25 Aug, 2012, Runter wrote in the 15th comment:
    Votes: 0
    As long as skills do classes of effects it becomes easy to test the class of skill for synergy. Examples would be deals damage, crowd control, damage increase by percent, or reduces resource cost. Once you have these laid out with which skills can be constructed it's not impossible to lay out assertions about what should be possible. The way I've chosen to go about this (and I don't use skill webs) is starting with as few as possible and only adding more for what I can test and anticipate the consequences of. If I can't do that programmatically, I've built a house of cards and that's not good engineering.
    25 Aug, 2012, Barrons wrote in the 16th comment:
    Votes: 0
    Nice post, Runter. I agree, programmatic testing and analysis is, uh.. critical.
    25 Aug, 2012, Idealiad wrote in the 17th comment:
    Votes: 0
    Classes of effects is a good way of putting it. That should work well even for non-combat gameplay.

    @Barrons, that's just taking skills into account, not linking or anything else. However I don't have stats like D&D attributes, everything is a 'skill' (I call them abilities, but you get the idea).
    25 Aug, 2012, Barrons wrote in the 18th comment:
    Votes: 0
    Gotcha. Well, even still, prerequisites and exclusions (skills that forbid having other skills) should cut the possible permutations down quite a bit.
    25 Aug, 2012, Idealiad wrote in the 19th comment:
    Votes: 0
    I was accounting for exclusions :D.
    25 Aug, 2012, Barrons wrote in the 20th comment:
    Votes: 0
    Hmm, I think 'skill webs' is misleading. They sound more like 'skill chains' to me. So, sans attributes, prerequisites and exclusions can only be other skills?
    0.0/22