Thursday, May 21, 2009

Statistics & Classes System

This is touchy, to make this effective it needs to be put into the source. I've worked it up in Torque, it just cant reach some things; I've got updating functions etc working for stats, and damage modifiers, parry modifiers, block modifiers; you name it; they all work. It's mainly when you get to saving these values; we could possibly make a server file really o.o; I'm sure it wouldn't be hard to set it up ourselves.

In any case; this is being added to the melee code; not the AFX of yet. I don't really have that or the knowledge to implement this design.

Unfortunately I rushed into it; but it works okay; classes have base statistics; these are modified by level using a formula. After this is done, additional stats from items etc are added; then the total is finalized and given to that player (they don't see any of the underlying attributes)

The above goes for parry, block etc for our players. I will include the stats for Undergod in this; then port it over. (I'm currently making and testing this system in a melee C++ assignment).

The major issues are apparent when you need to apply changes to maximum health and energy values.

Either way ill update my team on Monday with what I'm doing.

*EDIT* - Character Page UI 22/05/09
*EDIT* - Combat Text
23/05/09

16 comments:

  1. I will also try to get experience and leveling into Torque code; realistically however; id prefer all of this to be in the engine. It would be cleaner.

    ReplyDelete
  2. The way this will work is.. say Are's has a shield, he has a baseBlockChance, blockChance and blockChanceModifier. We can have blocking automatic, play his block animation and have him block a melee attack, when his blockChance (overall) is greater than or equal to the chance 100 RNG.

    The above goes for all statistic types; such as resisting magic spells :)

    ReplyDelete
  3. Sounds nice, we can try putting it into the engine if you like.

    ReplyDelete
  4. :) I will also be creating a GUI Interface for this. I just got the stats working then. It needs multiple variables so that you can keep track of base-statistics. It *can* be done outside the engine; but i would prefer it in there, including experience.

    My Ork has a 9.28% chance to deal x2 damage on a hit :O

    I will have to work out the numbers; ill write it down on paper or crunch it using a quick script calc x.x; I leveled him once, and he gained 4.28% crit. :S

    ReplyDelete
  5. The current class definitions are global utilizing naming parameters on the variables x.x; (arrays really).

    This is terrible. :/

    I need to be able to make them actual source objects so we can just say..

    'player.class = classname;'

    That way they'll inherit all the stats and have a direct link to it. x.x;

    ReplyDelete
  6. Issues with melee.. and well animations etc. (I want heroengine's character animations :D) .. elevation kills melee x.x; they just chop your legs up.

    ReplyDelete
  7. I've exported all the Scythe Demon animations, but how well the animations will work with the melee system is uncertain (i.e. I don't know that the attacks are actually going to collide with players). Additionally getting the scythe to mount properly is going to be really hard and we may have to export the scythe & Scythe Demon as a singular DTS and mount some sort invisible weapon. Using an invisible weapon (or weapons) may actually be the way to go so that we can be sure the animations will have a good chance of colliding and causing damage.

    ReplyDelete
  8. It would be good if we had actual professionals to interview on how they get over some of these hurdles.

    Also, something in melee stops the player from attack when hit; the stun or whatever it is. This is bad.. quite bad, x.x; it'll take me a while to fiddle with it all so that you can actually have a fair fight with an NPC; also, I will demonstrate the multiple-damage swings.

    ReplyDelete
  9. Sounds like we'll have a lot to discuss on Monday.

    ReplyDelete
  10. I'm also finishing touches on skeleton :) He has some defense for his brittle bones now. He has.. armour! I'll make him a quick shield and sword; and make a few different skeletons. Then we can just randomize them; I will make a new post when I'm done with him.

    After that it's back to the stat-system.

    ReplyDelete
  11. Awesome, I was going to suggest that we have different skeletons. Though my idea was just to use different textures in order to spare you some work.
    With your class system do you have a class that we can use for the Scythe Demon?

    ReplyDelete
  12. Yes, you just make a new class and assign base stats for it. I'll see if i can make it more friendly to work with, and less exposed. That is why all the above mentions engine changes :D

    ReplyDelete
  13. I'm about to upload the base UI for the character screen; I need a way to keep track of if it is on the canvas as a Dialog or not.. and.. a way to round off floats to X.XX values; and floats to integer.

    ReplyDelete
  14. mFloatLength(%value,%decimals) will do the trick :)

    ReplyDelete
  15. Updated this blog with what I thought was not unassociated enough to warrant a new blog - combat text for melee. (This can easily be tied into AFK etc; ill just turn the code into functions, same goes for a lot of the code ive recently done).

    ReplyDelete
  16. Wow, you're really on a roll aren't you.

    ReplyDelete