I had talked about this a little bit earlier today on IMC, but I figured I'd post about it here, and get some more ideas on how to do it, before actually doing it.
I'd like to find a way to assign multiple skill lists or even just supplementary sets of skills to classes so that they can take their classes in one of up to 4 different directions based on preference. For instance, I'll use Paladin since it's a stock class, and probably the easiest example.
On MW, I'd like Paladins to be true to their multi-role purpose. I'd like them to be able to pick between 3 paths, The Templar, an undead or demon hunter whose sole job is to dish out as much damage as possible as quickly as possible and augment it with holy spells and cures as needed; The Hospitaler, the heavy armor wearing healer for the front lines of the battle field; or The Divine Champion, The Brick Wall™ of Paladins, the warrior who "takes a lickin' and keeps on tickin'" to use a well known phrase.
Now, there would be certain skills that would be global between all the trees, but then each tree would augment other abilities of the paladin, and add other skills to their arsenal based on how the tree is made to be played.
What I'm looking for is suggestions on how any of you would go about doing this, I'm going to post this same question over on SmaugMuds.org as well to get some extra input from those that frequent there but not here.
So, How would you go about it? Or what do you think would be the easiest way to do something like this?
I'm actually planning something very similar to this idea. I'm going to use the task system that Nick Gammon set up for SmaugFUSS using Lua. I've made additions to his code to make this possible, but it wasn't much. The system makes it very easy to track what has been done and what hasn't and what can or cannot be done.
I've done something similar to what you describe - each power can specify other powers that are banned, or required at a certain rank. For example:
> power raise 5 path of shadows You raise Path of Shadows to 5 for 0 primal, using a primary power slot. You have unlocked Mist Form and Shadow Crafting.
> ! You raise Path of Shadows to 10 for 0 primal, using a primary power slot. You have unlocked Shadow Infusion.
> power raise 20 mist form You raise Mist Form to 20 for 0 primal, using a primary power slot. You have unlocked Shapechanging, and blocked Shadow Infusion.
> power raise 20 shadow crafting You raise Shadow Crafting to 20 for 0 primal, using a primary power slot. You have unlocked Blade of Darkness, and blocked Blood Forging.
This is really more of a skill web than a skill tree though, as many of the powers are interconnected with multiple dependancies; rather than having a small number of fixed paths, each character can mix and match different combinations of non-conflicting powers. I also have subclasses which give bonuses to certain powers, and although players aren't forced to take those powers they'd be rather silly not to.
If I understand correctly what you're trying to do, you don't really need anything complicated though - you could simply create three new classes, and give each of them the common paladin skills/spells along with their own unique abilities. Not very elegant perhaps, but it's certainly the easiest solution.
Is there an example of what you've done in a release anywhere KaVir? Or any place I could possibly play with, experiment with how you set up your system? Your system sounds much more flexible than what I had in mind for mine.
The theory behind it sounds pretty straight forward really, mostly common sense approaches.
In my mind I could see a system of 'flags' well say. The user starts out with none, then chooses a grand archetype, like a certain race or something, that then limits the types of further flags.
Basically once they have the flag of, say Wolfkind, that would give them options on what they could do, perhaps use heavy armor, use a bastard sword, etc. That doesnt mean other race flags you set cannot use them also, its just, as KaVir said, a web of sorts.
You just make the flags, and what requirements they have, the flags in turn may expand or limit the further selections.
I think I worded that poorly, but in my mind its a fairly easy concept, and much nicer then a traditional system.
Is there an example of what you've done in a release anywhere KaVir? Or any place I could possibly play with, experiment with how you set up your system?
I've not released any code for it, but the address of my mud is in my sig (although you can't get powers until you class, you do start with 3 talents, and they work in much the same way). I also discussed using a variation of the same design for a Background system on MudLab, back in August.
I'll check out the info on MudLab, and probably stop by your mud at some point tomorrow to play with the system for a while to see how it works, and if it's really similar/better than what I had in mind.
Wow. the whole roomless world thing is a bit awkward at first, but after playing around for a bit, I think what you've done is perfect for what I want to do, If you've got any pointers on how I can make a system similar, I'm all for hearing them, also any code examples you'd be willing to give would be much appreciated, seeing an example in code is often far easier for me to understand and interpret then written explanations.