User Tag List

Results 1 to 10 of 24

Thread: Attributes, Stats, & Modifiers, oh my!

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,959
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.21%

    Attributes, Stats, & Modifiers, oh my!

    Yep. What the title says.

    Here is my crappy editor work-up from a little while ago: (It won't look this crappy later though)
    http://i235.photobucket.com/albums/e...mat_AD/me1.jpg
    http://i235.photobucket.com/albums/e...mat_AD/me2.jpg

    Here's how I had/have it:
    -The editor will allow you to rename any or all names of attributes/status_conditions, etc. to anything you want.
    -There is support for 32 integers (stats), 64 16-bit integers (status/elements) and a shit ton of true false values.
    -Attributes are basically stored as arrays with no knowledge of what it stores, just that it can represent a percentage or be added or multiplied together with other attributes. In this way it has no concept of things like "HP" or "Agility" at all. Consider this:

    We have equipped 2 swords, 3 armors, and 12 accessories (hey, why not right?).
    Suppose armor A increases all elements by 20 percent and lowers speed, B increases only HP and defense, and C increases all sorts of weird things but adds the status flag assigned to "Poison". (Forgetting about accessories for now.)
    We'd like to just say that the players stats are [ base + a + b + c ] (armor only here)
    There are a few quirks:
    -Suppose that multiple items that modify by percentage are equipped. What is the order of operations? Do they stack like in Valkyrie Profile 2? ie; multiply, then multiply again. ..or are they non cumulative?
    This also applies to buffs too I guess.

    Back to more on what does the engine "needs to know": What is HP anyway? Is it edible? Can I @#$% it?
    Suppose the battle engine sees that enemy 4 has -12 HP and decides to remove it. Suppose you gave it "Zombie" status, or cast Life 3 on it or something and now it's gone so you have to write a script to workaround the fact that it was removed in the first place. Why not just have the Battle Engine controlling script say "engine.remove_enemy(e)". This also allows scripts to customize death animation/effects, bring it back to like, or whatever. So we could say knowing about stats and effects are a bad idea to things that have no business knowing about them. If we just follow good c++ object oriented paradigms it will allow the most flexibility.


    So... Attributes and modifiers are pretty important to get right at the get go since they cannot be changed easily. (This means you have to demand stuff be put before it gets to the shipping station)


    [edit] Just to be clear; is this a reasonable way to do this, enough room for custom use? Should item and spell data use a different structure than characters and monsters?
    Thoughts?
    Last edited by Gleeok; 12-12-2012 at 09:24 PM.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social