Archived

This topic is now archived and is closed to further replies.

C-Junkie

The Skill Web

Recommended Posts

Ok, I'm bringing this up again because I'm going to actually try to get to dwarfsoft a decent explanatin to put in the doc. First, the skill web changes many things: - No Classes - No Experience(as we know of it) or Level - Removes emphasis from combat - Facilitates actual roleplaying - Varying range of professions The actual web is this: From a Root Node (that does nothing really) Branches off however many divisions you want. For now we will say "Combat", "Magic", and "Thievery". I will explain it in tree form becaause it's easier to represent. A sample "tree" would be: -Combat - Swords - - (all kinds of swords) - etc... - Double Weapon Combat -Magic - Cantrips - Evocation -- Fire - etc... -Thievery - Silent Movement - - Silent Rapid/Heavy Movement - Pick Pocketing - etc... The Web would be such because skills such as "double weapon combat" require skill with (say...) 9 different weapons at a certain experience. Each Skill has experience and use of the skills benefits that skill and all before it on the web. (explained later) the double weapon one is an excellent example because it is a compounded skill, eg. It is used on-top of the two weapons used. Thus, clerics advance using clerical magic which is of their diety. (healing...or killing for evil gods) Thieves advance by stealing things. Fighters advance through combat situations. Monks advance by use of their skills (as they seem to excel at most everything). Experience is interesting...the Effect of the skill is measure and experience is awarded based on it. In this way, a magicuser cannot powermax by casting a fireball on the ground because it does nothing. ('cept scorch the grass) Although if he knew there was a mine tunnel just under the ground...and he managed to cave it in with his fireball, THEN he'd get some experience. Whew...Hope that wasn't too long...Comments? [EDIT - fixed tree] I forgot to mention that such a web could be adapted to let the computer control fighting for the player. This was brought up earlier (and clarified) and I believe agreed upon as a good thing to take some emphasis off combat. (AS well as allow the game engine to display some incredible matrixy effects. Ya know...Watching your guy run up a wall and patting yourself on the back for developing that skill) It also eliminates gigantic key combinations (real-time) Edited by - C-Junkie on January 25, 2001 4:31:45 PM

Share this post


Link to post
Share on other sites
My thoughts on skills:

I think that skills are (or should be) games by themselves. If a game has 100 different skills, there are basically 100 different games to play. Cast fireballs, pick locks, move silently, etc. In MY opinion, skill should only be put into a game when they have an actual effect. And each skill should SHOW what the difference is between a low skill and high skill.

Example: Fireball.
A character FIRST has to have a high enough skill in magic casting to even be able to attempt to start learning this skill. But, when he finally grasps the beginnings of this spell, he can start practicing it.

Let''s start with putting some straw dolls up on an empty field. Now, put the magic user at a distance and start practice.

What are the things that can go right and wrong when casting a fireball spell?

RIGHT
Fireball is cast
Fireball has enough distance to reach target
Fireball is accurate
Fireball is strong

WRONG
No Fireball is cast (or even another spell instead)
Fireball falls short of target, or passes by target
Fireball is to right or to left of target
Fireball is weak

I''m sure there are lots more, but those are just a few that pop up. Now, the higher the skill the more chance the magic user should have to have the fireball be ''right''. The lower, the more chance of a ''wrong'' fireball.

I''d love it when the player can actually see what went wrong with the spell and then somehow adjust his practice. For example, the fireball falls short the first time. Maybe, if the magic user spends more time concentrating (player manually ups the time it takes to cast the spell in a special menu) the effect would be better. Training would involve fine-tuning the spell. Once it''s good (best chance of hitting target) the player can save the configuration of the spell and use it in combat. The higher the skill, the more a player can do with a fireball (adjust strenght, distance, speed of casting etc). But, the player will have to train himself to know exactly what he can or can''t do.

Now, to increase the casting ability:
Practice makes perfect. Powermaxing comes to mind, but... is powermaxing really all that wrong? I mean, if in real life I want to become good at something, what I do is... practice, practice, practice. Still, that practice needs to progress. I can''t simply keep reading the first page of a book over and over again to learn what is says inside. I have to keep flipping the page until I get to the end of the book.

So, I think for each and every skill a certain build-up has to be set up. For example, once the magic user practices and gets his first accurate hit on the straw target, his skill might (chance roll or something) increase by one. Then, once he hits his first target in combat, his skill maybe increases one more. Then, when he kills his first big monster with it, another skill increase could happen. Powermaxing should only work to a point. Example:
A magic user wants to raise his skill by practice on straw target. He''s hit the target a few times already, but still hasn''t learned anything (no skill increase). Then, on his fifth attempt, he finally gets it and his skill increases. The powermaxing would be, attempting something until you learn something.

I also like to combine skills. For example, the magic user might first have to reach a certain skill level with his ''knowledge'' skill (just a random example, I have no idea what a knowledge skill would be) before he can learn something from his straw puppet practice.

The most important thing to me though, is that the skill level should SHOW. If I have skill level 1 in fireball, then my fireball should be a pathetic little stream of smoke. But if my skill level is in the hundreds, a big blazing ball of fire, as big as a house, should spring forth from my fingers and disintegrate everything in sight. If I have a skill of 1 with daggers, I should drop the dagger after my first feeble attempt to stab an enemy. At skill level 100 I should be able to dazzle my opponent with moves, throw the dagger up in the air, spin, jump, catch it and throw it right in my opponent''s eye.

Skills should not be put into a game just because... they should all be mini-games.

C-JUNKIE: I agree... no classes, no experience, no levels. And yes, even if players tend to stick to combat, when designers create enough non-combat skills to have fun with, players will eventually leave combat behind and explore the world instead of killing another goblin.

Skills could be so much more than they are. Right now, they''re just numbers that increase when you just click your mouse enough times (Everquest''s Sense Heading skill comes to mind).

Share this post


Link to post
Share on other sites
I like skill-webs! :-) Already did something like them in my game but not this thought through... ;-)
But I have another thing to add: Player usually like to have a class and ranking! That''s why you could look at the skills, pick the best one and name the player after it. So if any fighting skill is the best trained the character should be a fighter (and maybe ranked, depending on how good he is at it, "Sword-Master" etc.)
Just think it''s a good idea, so players can easily compare their characters...
"What is your hero?"
"A War Wizard!" *grinning*
"Cool, mine turns out to be a Sword-Master!"

------------------------------
www.BadEntertainment.net

Share this post


Link to post
Share on other sites
The skill web idea seems an excellent one. The only thing is, I think there should still be guilds.

Before I get shot down in flames, hear me out. Guilds should exist as fluid entities, basically as a name-tag for the particular skills an individual has.

For example:

character 1 is skilled in swordsmanship, brawling, stealthy movement, parrying, and shieldsmanship. Therefore the guild- or, if you like, profession-name appended to their own should say ''Warrior''.

character 2 is skilled in brewing, philosophy, arcane storage, thrusting weapons, enchanting, and lore. Therefore, ''sage'' is appended to their name.

The way to do this would be to group the skills together, like against like, and have guild-names for different groups. If a player/NPC has more skills from one particular area than any other, they belong to that group.

Also, there is no reason why ability groups couldn''t overlap, with the same skill being applicable to many guilds, depending upon what it is combined with.

Anyone who doesn''t have a majority of skills in any one group, or whose majority isn''t large enough to count, would be a @jack of all trades'', or ''joat''

Opinions?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I was thinking of a similar system too, where there are only actions (which are equvailent to your skills). As always there are 2 major questions to be asked in a RPG.

How do characters advance and Why?

Advancement through the use of a skill ? This leads too rewarding repetive bot behavior. And possibly a feedback loop, as you get better at a skill do you have to use it less for more advancement?

Advancement through fighting? Cheapens combat and dilutes its purpose. Used by many CRPGS as a simple form of reward/risk system.

Advancement through treasure hunt? I like this idea, which combines a major element in CRPGS (exploration/risk), and allows for some good designer created levels/play experiences. In the system which im thinking of, skills/actions are available to all, but the retrival/attainment is where the fun is at. Also this allows for some non-linear gameplay. If you have 10 skills you must attain to become an acolyte in your school for the slightly gifted magic persons, you can choose to do them in any order. Depending upon the order it could be easy or difficult, but as they say each path has its own rewards (difficult path perhaps rewards with overall better skills of the same class of skills or more skills etc...). Actually this is a viable option and computationaly sovleable, I would go with this one.

Advancement through barter? Why not buy a skill ? This mechanism has the fatal flaw that most CRPGS have is that high level characters rake in the dough much faster and more of it than low level characters. This obviously leads to a feedback loop, which then the designer has to balance by using exponential cost for advance skills etc.. A difficult system, but could be workable. In this case level would mean characters with more/better skills becuase they have been playing longer. Most CRPGs use this concept in the form of buying scrolls, potions, etc.. They get around the problem of balance by not offering very powerful potions/scrolls/etc.. for sale.

Advancement through intent? This novel system is floating around on this board. Its too new for me to really anaylze it in depth.


Why should the character advance?

Advancement for fun? In Diablo you advance to gain new skills as which to slaughter hordes of monsters which then drop cool stuff you can wear/trade. The fun factor is in the cool stuff more so then anything else. It preys upon the pack-rat mentaility, which is quite powerful in humans and the desire to create a totally custom/unique character.

Within the proposed game the actions/skills will be a goal as well as the ability to create a totally custom/unique character. It should be as fun as Diablo in that regard. However I propose it will have something over Diablo, in that it will have purpose/story behind those skills/actions which are created by the player. The player solves/plays through the method of how to aquire those skills, which if the deisgner has done their job, will lead to many memorable experiences for the player. Much more memorable than a Diablo experience.

Well Good Luck on your endevaor.

-ddn






Share this post


Link to post
Share on other sites
O, after trying to skim oveer these long posts...ummm...where was I?

Silvermyst: I think the fireball example would actually be part of the magic system. The skill web part only corresponds to the MS and provides a "skill level" of sorts to give some idea of the N/PC''s proficiency with tha skill. The dagger example...exactly. except I would think that that would involve many skills. (several acrobatics and Dagger throwing) and I also think that you perhaps over exaggerated weakness with no experience. _I_ would be deadly with a dagger assuming I was up against someone just an inexperienced as me. btw, You still get better with experience, it''s just localized to the skill.

DM: That''s more of a social aspect to the game. In my opinion they can call themselves whatever they want to and call their occupation whatever they want to ("Rich man''s social alignment adjuster" aka theif) I prefer to keep things like that away from the game system core. (if you want, you could create names like "Sir" that, even though people could parade around calling themselves "Sir Robert II"; If (in this case) that idiot met up with the queen, or any nobles, he would surely be shot down.) Guilds themselves are purely social. Someone with the same set of skills could be a Ranger or a Thief, depending on which guild needs someone like them. (although afterward, they''d start getting a little more differentiated)

AP: Your flaw in describing the "advance by skill use" does not exist. The skill gains xp by effect of use. Therefore the skill cannot be used repeditively, because 1. There would soon be little effect he could do in an area (everyone''s dead, everything''s scorched); 2. He would run out of magical power quickly; and 3. He''d probably be dead. Real quick, casting fireballs indescriminatly. What more perfect target

The "why?" part is fairly simple. What ever the goal of the game is. Diablo guys advance to beat diablo. Everquest guys advance to...ummm...uhhh...oh yeah! To..wait...Just Because!

Share this post


Link to post
Share on other sites
quote:
Original post by C-Junkie

-Combat
- Swords
- - (all kinds of swords)
- etc...
- Double Weapon Combat
-Magic
- Cantrips
- Evocation -- Fire
- etc...
-Thievery
- Silent Movement
- - Silent Rapid/Heavy Movement
- Pick Pocketing
- etc...
Edited by - C-Junkie on January 25, 2001 4:31:45 PM


Yeah, I'm the lead designer an RPG for WolfHeart, and we're trying something like this...it's still early in development, but if this thread is still alive when we post some information about it, I'll let you know...

Edited...Actually, I guess I should clarify, we're still using some leveling and classes, but rather than having a class and basing skills on it, you pick your skills as you level and then once you reach a certain point, the highest primary skills will define your class. Then, skill point prices are locked in, but you can still access any skill you want to learn.
--

WNDCLASSEX Reality;
...
...
Reality.lpfnWndProc=ComputerGames;
...
...
RegisterClassEx(&Reality);


Unable to register Reality...what's wrong?
---------
Dan Upton
Lead Designer
WolfHeart Software


Edited by - draqza on January 31, 2001 12:02:47 PM

Share this post


Link to post
Share on other sites
Hey all, just thought I would make a quick return for this very worthy topic

Anyway, I have to first say that I have only skimmed over the long posts because I am running short on time. The skills web as I understand it is much along the lines that CJ has mentioned. Basically you branch ever outwardly into more detailed and specific skills.

The reason as to why this could be considered a different game for each skill? My answer to that is that each skill means that a single problem can be handled differently for any or no skill that a player may have. Sorry if I am rehashing that.

The problem I have with explaining it is that I can''t seem to think of a web that goes more than three nodes deep. Does anybody have an idea of how to increase the web to be more in depth.

-=-=-=-=-=-

Also - I think that removing the ''experience'' as it is understood may not be truthful in the way I have always come to understand skills. How about each skill has its own experience level (der, like I always seem to be pushing for) and you require persistent use of a skill to get past it. How many people in Diablo II just learned a skill so that they could easily move along to the next one without ever using the skill? A skill can only become more experienced as the player uses that skill (or uses it effectively [in the positive role] or even if they use it ineffectively [negative role - discussed in ''leveling downwards'']).

Anyway... I am really losing out on time. Ideas, thoughts, inspirations or just general babble are welcomed

Back later to skim through some more threads

-Chris Bennett of Dwarfsoft - Site:"The Philosophers'' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche

          

Share this post


Link to post
Share on other sites
What you have is each General skill has its own experience, which you can distrubute between the specific skills. Then, you can distribute the experience from the specific skills down to the more specific skills. Well, kind of hard to explain, here''s an example.

Weapons: 10xp
now the 10 xp can be distributed between the weapon class skills
Weapons - Swords: 6xp
Weapons - Axes: 4xp
Then it can be distributed down further, but usually you wont have too many superspecializations
Weapons - Swords - Broadsword: 6xp (only superspecialization in Swords)
Weapons - Axes - Battle Axe 9000: 3xp
Weapons - Axes - Woodcutter''s Axe: 1xp

For a computer game, this is probably too complicated for the user to control, but it could easily be simplified. This is just the basic idea, there is definately room for improvement.

Share this post


Link to post
Share on other sites
One of the things my team and I discovered when designing a skill web was the sheer number of skills you think you will have. Two things occur. One you begin to create skills that look like other skills and really have no additional use in game except for what you have seen in other games. For us this came into play when we discussed perception versus detect illusion. We figured a good thief like character could see through illusions because his perception was so high. Well instead of thinking in terms of classes, we dropped detect illusion as a skill and broadened the scope of perception.

The other thing that occurs is that you begin to create skills with classes in mind. Our example above shortchanged the warrior type that decides style over brawn is the way to be the best fighter. It is extremely difficult to not refer to skills as they relate to a class. I call this the D&D factor. We have all played this monster and for some reason as designers it is often difficult to forget D&D (or shadowrun or vampire...) and design a new system.

Once we solved our issues with ''class'' specific skills in our web, we found that we still had over 200 skills. We had planned for skill combinations and such as has been mentioned here in this thread and the realization hit us that we could possibly have 400 - 500 unique skills that a player can build and work on. Our biggest challenge is determining how to present this to that player in a fashion that lets the newbie get started without having to overcome flight sim size learning curves. How does one plan for their character when faced with this many skills. Our answer so far has centered around professions, which sounds like classes only different. It is more like the guilds mentioned in this thread above. Given the sheer number of skills, it only makes sense to organize them into some set of professions known to the world. Using professions, a character can then guage his or her progress against other players of the same profession. To accomplish this sort of skill summary, each skill must be defined as being part of one or more professions. All it takes after that is a summation of experience in each skill to get the overall level of skill in a given profession.

For purposes of our game, we have seen it fit to limit the number of profession to anywhere between 5 and 7 professions as that number is what people can reasonably remember and deal with at any given point in time. (Explains why phone numbers beyond 7 digits are harder to remember) Anyway, that is my little spiel on our experiences with designing a skill web. Have fun designing yours. They are a pile of work, rewarding work, but none the less work.

Kressilac

Share this post


Link to post
Share on other sites
Just checking in...with another thought about the skill web. The system I''m designing allows total freedom of skill choice up to a certain level--that way, the player can experiment with what skills do what and better define his/her character. Skills are divided into Primary, Minor, and Secondary skills. At that "certain" level, the Primary skills are checked to see which two are the highest. Your class is determined from those two skills. However, my current skill list gives a possibility of 40-some-odd classes. I''m going to have to close the tree back up at some point, letting classes overlap.

I think that is actually the problem with skill trees--if you don''t expand it enough, it just looks like you made an attempt to say, "Look at this neat new thing I can do..." but it only looks half-@$$ed. On the other hand, if you over-expand it, you have to define too many possibilities with the combination or have to close it back up, and I''m afraid closing it back up will come off half-@$$ed as well.
--


WNDCLASSEX Reality;
...
...
Reality.lpfnWndProc=ComputerGames;
...
...
RegisterClassEx(&Reality);


Unable to register Reality...what''s wrong?
---------
Dan Upton
Lead Designer
WolfHeart Software

Share this post


Link to post
Share on other sites
I was thinking actually using a visual web on screen to display the skill web. Just the skillnodes that the player has developed are visible, and a general description of what might lie beyond that skill on the web.

dwarfsoft: Here''s a simply one:

- Weapons
- - Polearms (I think)
- - - Swords
- - - - "X" Style of Sword Fighting
- - - - - "X" Style''s Move Using...(append Phys)
- - - - Broad Sword (Phys)

as for experience: I figured this out immediatly. It was one of the core components. For the above, When the move is executed and is a success, equations can factor in difficulty and effect to award 8xp to ''Broad Sword'' skill. (Which would also award 8xp to ''"X" style''s move'' and 8xp to ''"X" style'', and on up the tree)

and when figuring out "working experience" (the one you use in the equation to figure out how good the player is at something) you could do an algorithm that ends up looking like:
((((weapons)/2+polearms)/2+swords)/2+Broad Sword)
or if you wanted earlier skills to improve even more you could lower the # 2. or you could even have a fixed rate for each node, so:
((((weapons)/1.6+polearms)/1.5+swords)/1.4+Broad Sword)

Whew...

Share this post


Link to post
Share on other sites
quote:

original post by C-Junkie

- Weapons
- - Polearms (I think)
- - - Swords
- - - - "X" Style of Sword Fighting
- - - - - "X" Style's Move Using...(append Phys)
- - - - Broad Sword (Phys)



I don't think swords fall under polearms--I think, for the sake of argument, it should be something like:

- Weapons
- - Blades
- - - Swords
...
- - - Dagger
...
- - Polearms
- - - Spears
...

I'm not quite sure, but I think that's a little closer to what's technically right...
--


WNDCLASSEX Reality;
...
...
Reality.lpfnWndProc=ComputerGames;
...
...
RegisterClassEx(&Reality);


Unable to register Reality...what's wrong?
---------
Dan Upton
Lead Designer
WolfHeart Software


Edited by - draqza on February 19, 2001 11:45:41 AM

Share this post


Link to post
Share on other sites
I think C-Junkie was confused about the last time we discussed this topic. When he included swords under the "polearms" category, he was referring specifically to a jo staff, which uses a fighting style nearly identical to that of oriental fencing. So, forgive him.

As for Dwarfsoft''s request about building a skill web more than three nodes deep, you can do this in two ways. First, simply add different fighting styles to the end of each weapon category, which I see C-Junkie already noted. Second, use special moves instead. For example, one of your advanced sword techniques could be "Flying Triple Spin Slash," which is complete bullshit but we''re talking about fantasy, right?

Anyway, it looks like Junkie pretty much covered this. I want to add that using a skill web doesn''t negate the necessity for classes or class-based experience. Sure, you can dump classes altogether if you want, but I''d keep them. Most people like to call their characters something other than "the new character I started playing yesterday."

Gotta get back to my physics problem.

Share this post


Link to post
Share on other sites
Alright...I''m not a medival arms expert. Oh well. The Point was the fighting styles anyway. And the ummm... "Flying Triple Spin Slash" would not be a skill. This is where the web comes in...I''m now (officially calling these hybrids skills. Acrobatics-Jumping, Acrobatics-MidAirSpin, weapons-BLADES-Swords-Standard-Slash, and perhaps magic-alteration-levitation would produce this effect. Because of these hybrid skills I like the idea of the computer controlling your actions...after all Combat in a computer is a game of statistics. A smart computer cant go wrong.

It also just occured to me that these hybrid skills could be set up as icons (or some such thing) but then right afterward it occured to me that it''d be much easier for the computer to do it, and smoother and faster and probably more effective.

Actually now that I''m rambling, I think that fighting styles are essential. It''d be lots of fun when you (temporarily) watch your character fight and you realize that the enemy was totally incapable of defending itself against your fighting style...or styles!

Share this post


Link to post
Share on other sites
A concern that has been expressed is over the sheer number of skills. This is similiar to the Tree of Death issue over divergent plot lines...except that it can''t be solved with sophisticated AI (in my opinion, the Tree of Death can....anyway!)

The shear number of skills is quite intentional. That''s how you can end up with *** no two characters alike ***. If I were to go about this, I would start out the master list short and put the most basic skills and build upon it as the development progresses. (Seeing as this is rather core to the game, it should be implemented early on) However, even then it may be quite limited--You simply don''t have the time to create more before release. I would suggest to you that you round it out as well as you can in that short time: make sure no skills are unbalanced in diversity. (unless necessary)

I have not tried actually coding this. (hypocrite?) I''m not sure exactly how to do it. My first idea would have been a class for each skill...but you''ll easily end up with 100+ classes. If anyone has actually used this system, would you mind sharing how you implemented it?

I also just realized that this is sortof parallel structure. The character has to have the skill represented in his class and the UI has to allow the player to use the skill. Perhaps a dynamic UI depending on the characters skills? When he gets a "Move Silently" skill the UI puts it as a state? You''d have to have variable numbers of icons or something... anyway, this is too long.

Share this post


Link to post
Share on other sites
C-Junkie,

When I mentioned the sheer number of skills, I was referring more towards character planning and other things the user likes to do during non-play time or even during play time when they must allocate points to something or work on somethingelse...

Using a skill web the web becomes so large that it is easy for the player to get lost in it, nevermind take advantage of it to beat your AI which has a complete integral understanding of it. This is what I was referring to when I said we came up with professions which were aggregate sets of skills. The skills don''t have to belong to only a single profession allowing someone to work towards being the best ''insert profession here'' by practicing or training the skills that boost that profession.

The UI point you bring up is very real as well. Not only do you have to simplify the skill web for the user, you have to present it in a GUI that has decent gameplay. This is no small feat, though I too see the use of dynamic menus and context sensitive right clicking to accomplish it. I figure every skill will tell the engine what it can effect and how. It may even tell it where to put that option in a menu of some sort. This allows me to display only what is necessary for each object and eliminate unnecessary commands from the global interface. We''ll see how well it works when we get there. Right now all we have designed is the skill web and even that is not completely finished because the other core components to the game system have not been developed.

Kressilac

Share this post


Link to post
Share on other sites
I think that giving the player a reference would not be an extremely hard task. Depending on your game, You could hide the skill web entirely! But since the majority of players would balk at this, just think of real life. At a certain skill level in hand-to-hand combat, say.., under karate they could brag to their friends about how they got a black belt in karate in (that great game). You could develop "levels" not in numbers but states. Under magic you could have the condition, 0 magic forms=Apprentice;2 forms=Magician;6=Wizard;10=ArchMage. And ratehr than "I''m a drow level 22 wizard with..." they could say "I''m a drow Wizard and I''m incredible with Fire magic and I got the AWESOMEest stuff! I got..." meaning they have at least 6 different magic forms. And if you wish they could not count those sub-nodes called magic forms until they know 20 different spells and are profiecient with at least 6 under that magic form. And "Profiecient" in a spell is determined by the spell sub-sub Node where they have to have at least 1500 xp with it.

If you can follow that, you can probably see that it should work.

Share this post


Link to post
Share on other sites
The UI problem shouldn''t bother too much if you are making each skill only learnable ONCE... Then, you just list the skills that it is currently possible for them to learn. You just list them one by one... maybe according to a specific adjenda, like which ''might'' be more useful to the player.

The issue that I definitely see arising out of this is the difficulty of the AI, or more to the point the COMPLEXITY of the AI to be able to cope with the sheer number of skills.

The coding shouldn''t be too hard. You don''t use classes if you are going to use 100+ skills... That is just pure insanity ("um... I think that suits my description though..." ) but what you need to do is have a little scripting language. Each skill runs a certain script (maybe just a char* string) that works on the principle of changing variables, or adding spells etc. I am not sure I can explain it without doing it, but I wonder if you are beginning to understand? Anyway. If there are any questions I may be able to describe it a little better.

-Chris Bennett of Dwarfsoft - Site:"The Philosophers'' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche

          

Share this post


Link to post
Share on other sites
Personally, I''m describing the use of the skill web in a game that uses pure physics. N/PCs have a skeleton and all kinds of physics data for each part of it. In this system, you don''t roll a random number to see if you hit, the system takes your current state factors in your strength(etc) and you actually move - performing the actions your skills allow. (believe it or not, I''ve actually got a ''walking'' skill) Everything the player does is a skill, and these skills have to know how to go from the characters current position to a state acceptable to begining that skills actions. Therefore, It''d have to be a pretty complex scripting engine. If the skill (say a simple punch) cannot preform its action (because both arms are extended) it''ll invoke either a sub-skill (one not available to the character- do you really want a ''retract arm'' skill?) or it''d redirect to another skill or that skill would have a correlary (such as swinging your arm toward the opponent rather than punching).

So every skill would require the ability to adapt to the current state of the character, knowledge of other available skills'' effects, and knowledge of the surrounding environment.

Sounds like a little AI right in the skill huh? bwuhahaha! If only it were possible for me to explain such a simple system without making sound so goddam complex! And If you think power is a problem...I don''t plan to have such a game ready to begin development for another oohh... couple of years. Even right now, GeForce2 and Radeon offer excellent graphics rendering and processors are at 1500 Mhz. Not only that but I''m shifting over towards a MMORPG- meaning each players computer can deal with that small amount of AI involved in combat and the remote servers can deal with the physics in implementing the actions.

Share this post


Link to post
Share on other sites
Not meaning to get off topic here (yeah right ) but how exactly do you wish to get a secure AI thing happening on remote machines? That is a fair bit to ask from a client

Sounds interesting tho, but I reckon that the walk skill is a bit far fetched. I hope you don''t force the player to learn how to walk

-Chris Bennett of Dwarfsoft - Site:"The Philosophers'' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche

          

Share this post


Link to post
Share on other sites
quote:
Original post by C-Junkie
I have not tried actually coding this. (hypocrite?) I''m not sure exactly how to do it. My first idea would have been a class for each skill...but you''ll easily end up with 100+ classes. If anyone has actually used this system, would you mind sharing how you implemented it?



Okay, just for the record...I haven''t coded it yet, nor has the programmer on my team. (Well, technically, it''s not my team, but that''s beside the point... ) But anyway, here goes:

Using a class for each possible skill (if I understand you right) is beyond overkill. I''m guessing you mean a character class for each skill, like fighter, wizard, and all those other generic character classes. (If I''m wrong, you can ignore the rest of this.) First, I classified my skills as Primary, Minor, and Secondary skills. The player is free to choose from any primary skills, up to a certain level. Once that level is reached, the class is determined based on the two highest primary skills, and then they are given access to skills in their class tree at x skill points, and outside their class at y skill points. That still gave something like 45 classes, which is IMO too many for streamlining the effect--you don''t want your player to get bogged down in classes to keep them from the story. So what I did was make a chart of all the possible 2-primary-skill combinations possible, and defined classes from those, allowing them to overlap. This got my class list down to around 10. Of course, you may have more, if you were going to have 100+ classes rather than my 45, but maybe that will help you (or any other designers working on a system like that).

Gee, I never realized I could be that long-winded....
--


WNDCLASSEX Reality;
...
...
Reality.lpfnWndProc=ComputerGames;
...
...
RegisterClassEx(&Reality);


Unable to register Reality...what''s wrong?
---------
Dan Upton
Lead Designer
WolfHeart Software

Share this post


Link to post
Share on other sites
quote:
Original post by dwarfsoft

Not meaning to get off topic here (yeah right ) but how exactly do you wish to get a secure AI thing happening on remote machines? That is a fair bit to ask from a client

Sounds interesting tho, but I reckon that the walk skill is a bit far fetched. I hope you don''t force the player to learn how to walk



You misunderstood, the AI would NOT be secure from hacks. But it doesn''t have to be. The AI is only for choosing how to go from the current state and perform the action the user indicated - perhaps they could hack it, but why would you want to? If such a simple thing can be improved enough to justify a hack, why wasn''t it improved during testing or in a patch?

And yes you DO have to learn to walk. It ain''t a new Idea... ever heard of DAWN, dwarfsoft? You get BORN in that game (sortof). Or so they say, they haven''t released the beta yet.

draqza: I was refering to C++ classes. I decided now that a simple AI and some data just for AI to figure out what the skill does would do the trick rather than a (C++) class for each skill. As for your idea, I''m attempting to get rid of character classes entirely. Your ''class'' can be whatever you want to call it. A wizard might have some rusty sword skills that he could revive with a few days practice.

wait...Perhaps I forgot to mention earlier that unused skills have to "degrade". I suppose that there should be 2 variables, ''experience'' and ''useskill''. (at least this is what I''m calling them) experience is the total and is usually the same a useskill, but the wizard above would have high experience for sword use, but low useskill. Basically, it would cause the useskill variable to rise mroe rapidly if it were lower than experience.

I seem to really like these long posts.

Share this post


Link to post
Share on other sites
quote:

draqza: I was refering to C++ classes. I decided now that a simple AI and some data just for AI to figure out what the skill does would do the trick rather than a (C++) class for each skill. As for your idea, I''m attempting to get rid of character classes entirely. Your ''class'' can be whatever you want to call it. A wizard might have some rusty sword skills that he could revive with a few days practice.



Ohhh..I see. Oops. I applaud your attempt to do away with classes entirely, but I think that it may end up that players, who are more familiar with the idea of classes, will frame their character into a class anyway.

Also, "reviving" skills is possible under my system as well, to the end that you say a wizard with rusty sword skills could revive it with practice. After all, said wizard would probably have to train a little harder to remember those sword skills than he would to remember a spell skill; under my system, those "rusty" skills cost more skill points to develop than those he''s familiar with (his main "class" spells).
--

I decided my .sig has taken up enough room on this page...

Share this post


Link to post
Share on other sites
*huge nuclear-powered superman-class ub3rBUMP*

Throw some good old ideas into the cycle again, eh?

I''m sure some people are wondering where the hell i went off to...

Share this post


Link to post
Share on other sites