Apologies if this is a redundant and somewhat maximalist post, I've done my best to look up similar questions many times before making this post. A lot of my questions are also very intertwined with each other that I feel like I'd be spamming if I made a separate thread for each individual thing.
I am interested in using Adventure Creator and extending it via Playmaker, I've owned both assets for a couple years now and I find myself interested in the workflow and systems AC handles (dialogue, inventory, save/load etc.) as I find these quite tedious to make myself. I'm also interested in using other add-ons AC has integration with such as Quest Machine.
I'm not a very good coder and would appreciate if this thread is approached with avoiding coding as much as possible and kept within the scope of AC actions, Playmaker & other various integrations.
I've made my own turn based combat systems in other engines before (via visual scripting) and I found I was often slowed down by the things outside the combat systems themselves that AC seems to have handled, so I'd love to speed up the process with it rather than re-invent the wheel making all of these systems myself. Take this less as asking for judgment of scope and simply just about the possibility of what I'd like to accomplish.
That aside -
I'd like to use AC as a foundation for a JRPG I have in mind. The structure would be just handling narrative, save/load, and general variables with AC and creating my own combat system separately with Playmaker using AC's data as its backbone.
The execution I have in mind would be pretty segmented, such as AC being used for exploration and non-combat gameplay then an encounter will simply move to another scene where all the combat FSMs would be active, and then back to the previous (primarily) AC scene after said encounter with variables being updated accordingly (such as items used for battles or stat upgrades).
I do have some various questions on certain features/extensions that I have not yet stumbled upon an answer for directly.
Is AC well suited for multiple inventories? I've seen threads mentioning that it's possible but I'm wondering if I'd be stretching it thin potentially. The usage I have in mind would be equipment for various party members alongside other categories for their various skills/traits individually on top of all of that.
How suited is AC for scaling variables, RNG & complex formulas? (Like EXP requirements scaling up higher and higher with each sequential level up, random loot, and multiplying variables by a character's stats etc) Would this be more suited for Playmaker?
Is integration of AC & Playmaker just syncing/listening to variables between each other? Or is there a lot more functionality to it than that? I've yet to dabble much with them together and would like to be aware of any shortcomings/caveats in advance before sinking my teeth into this. In particular I'd like to use Playmaker as my primary method of handling UI.
Would AC's variables/items be accessible/synced via FSMs if AC needs to be potentially disabled during encounters or gameplay heavy segments?
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
Welcome to the community, @MajinO.
I would expect you'd need some amount of custom scripting to transfer values/data over between the two - since certain data e.g. Inventory can't be linked to Playmaker directly. But, accessing AC data is relatively straightforward and I can give specific advice should you need it.
If each party member is a separate Player prefab assigned in the Settings Manager, unchecking All Players share same Inventory? will cause each character to have independent Inventory data. Inventory-based Actions will then include fields to affect specific Players, and - again - scripting can be used to access per-Player Inventory data.
You can also attach Variables components to your Player prefabs to store additional data such as Health, EXP etc, without cluttering up your Variables Manager.
The Variable: Set Action has a Formula option when affecting Integer and Float variables. It does accept tokens (e.g [var:2]) so that you can set a value based on other variables, but for advanced operations like RNG and exponential rates, you'd want to rely on custom scripting - or Playmaker if appropriate.
Affecting AC variables through script is very simple. Here's how to set a Global variable named "RNG" to a random value between 0 and 99:
It's essentially variable-syncing, and the ability to trigger FSMs through Actions. Both Global and Component variables can be linked to Playmaker.
If you switch to a non-AC scene (i.e., one without a GameEngine as created by the Scene Manager), then AC will go into "sleep" mode, where its main update loop ceases to run until you re-enter an AC scene again.
Live variable and Inventory data are still accessible, however, and updates to this data should be reflected when switching back provided you don't attempt to save the game while AC is asleep.
Again, it's a bit tricky here as you'd need to rely on scripting to extract / modify Player Inventory data, or (optionally) Variable component values. While the AC/PM integration does provide variable syncing, it may be better here to instead use scripting at the start and end of your battle sequence, where values are transferred from one to the other in one go - and then only deal with PM during the sequence itself.
Thanks for the response! Looking forward to see what I can muster up.