Forum rules - please read before posting.

Does a Stats System Exist for AC?

AC features superior intuitive game building to packages like RPG BUILDER (which arbitrarily makes simple tasks like player camera placement difficult) , etc.

However, can anyone here recommend ways to accomplish the following with AC (either within AC or through integration with a third-party)?

- Incorporate a stats system for Health and Custom Vitality stats?
- Enable equipped Inventory items to boost or decrease a stat?
- Effect a stat through action items?

Comments

  • Though AC isn't strictly intended for RPGs with stat elements, basic Player stats can be represented through the use of Variables - either Global as defined in the Variables Manager, or Component as defined on a Variables component attached to the Player themselves.

    For example, you could have a Global Integer variable named "Health" that represents the Player's health, which can be accessed through Actions and displayed in Menus.

    To have such a stat be based on what Inventory items are equipped, you'd need to rely on a Container to "store" such items, and also define Inventory properties that such items can have. Inventory properties are similar to variables, only each item has its own value for each property.

    Having such item properties affect your Global Variable's value can be done with scripting, but such a script is provided as part of the "Equipment system" package available on AC's Downloads page. This package shows how Containers can be used to create a basic equipment system, as well as how item properties can be used to update stat Variables.

  • edited March 2023

    Is the path you suggest the way you would recommend building an "interaction/dialogue integrated stat system" as seen in "Gibbous A Cthulhu Adventure" featured in your "Made With Adventure Creator" website portfolio?

    To you Chris, and everyone else as well, if you know what tools, assets, or paths the developer of Gibbous might have used - I would appreciate hearing your insights as well.

  • Whilst not quite the same thing, I have resident evil style combat in my game. Originally, I built it entirely as Chris suggested - using item properties, and global variables, and controlling their interactions primarily through action lists.
    I still use them, though now I use scripting to manipulate them, since I'm allergic to node-based scripting!
    For example, I have a playerHealth global variable, and that is manipulated through script when taking damage, or using healing items. I also have things like which weapon is equipped, how many rounds it currently has, how many it can hold, etc.
    I have those control things in animators to display UI (a health bar, which weapon is carried by the character sprite etc) and tying them all together is super easy once you get a handle on how the AC event system works.
    I would advise you to make a simple scene with a few items and a basic menu set up, then set up some variables like "damage" and "Defense" ready to go.
    Then, using the item's 'use' action, you can manipulate those variables through either action lists or through scripting - I far prefer the latter, though what you'd rather do is gonna depend on your own confidence with scripting.
    As far as integrating those stat's into dialogue (I assume you mean like in OG fallout, where an option shows depending on your intelligence etc?) you can make use of the variable check action during the conversation action list to hide or show options.
    The dialogue tutorial does a similar thing with the whole talking about hippos (lol) but the basic principles apply.
    I'd also advise you to actually follow each tutorial step-by-step to familiarise yourself with the engine. It's INCREDIBLY versatile - so much so, that I use it for prototyping everything from shooters to racing games!

  • edited March 2023

    I can't say with certainty of how Gibbous's devs went about their stat system, but you'l typically want to start with using Global Variables to represent your stat values. Whether or not you incorporate Inventory items, properties etc, the final "stat value" still boils down to a variable that you can update/read at any time.

    +1 to @Mcdoll's approach of checking such variables, and hiding/showing dialogue options, before running a Conversation. This can indeed be handled through script if preferred, but the visual-scripting approach would be to:

    • Run a Variable: Check Action to check the stat variable's value
    • Run one of two Dialogue: Toggle option Actions to either show/hide the dialogue option accordingly
    • Run a Dialogue: Start conversation Action to begin the Conversation

    I use it for prototyping everything from shooters to racing games!

    Now that I have to see.

  • For a basic arcadey racing game specifically, you need to mess around with the way the character controllers work so that turning can be done as you're moving forward or backward, but the tank controls are a good basis.
    I mostly used action lists and character swapping to handle selecting cars based on an "inventory" of cars. Global variables and triggers can track your laps, and the stats of each car.
    It's mostly how versatile the menu and inventory systems are.
    Shooters can make great use of action lists and inventory item properties to handle the various things like ammo, power ups, and grenades.
    The actual shooting mechanics still require the use of ray casting if you want it handle that way. But I have ideas for how you could use cheeky hotspots in their place perhaps.
    I'll see if I can dig up some of the prototypes we made a couple of years back.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.