I've been looking over tutorials and reading various materials and I think I have the gist of Playmaker, but I'm still seeking some additional overall guidance to help get me on the right track.
I should tell you a bit about my background and my situation in order for someone to hopefully give me good advice and I'll try to make it as brief as possible.
I've spent literally years working on a metroidvania style game using the Stencyl game engine. Stencyl is an engine that uses visual scripting to represent traditional code, and the structure is very very similar to traditional programming -- Only represented by graphics that snap together like blocks. It's pretty brilliant, and through it I've learned a lot about general programming concepts even though I have no programming background and don't know any actual programming languages. Over the past years I've leveraged Stencyl to quite an extent and gotten some really cool results using that engine, and using it in ways well beyond what many people considered it to be for.
I may be hitting a wall, though, because my project is so big it's proving difficult to optimize in Stencyl such that it works as smoothly as it should on average PCs, and there are some pesky engine bugs that I have little control over that are still unresolved by the proprietors of the engine. In addition, console export is a tall to impossible order using Stencyl.
A couple of weeks ago I downloaded Unity and started putting assets in. Again, I don't have a programming background so getting things actually hooked up and working is daunting and very slow going, but in terms of the visual side of things the game already looks pretty nice.
This is where Playmaker comes in. I remembered hearing about this in the past so I started doing my homework, and the state machines seem, generally, pretty logical to me and may be exactly what I need. I'm just looking for some general guidance in a few areas.
1) How messy is this going to get in a large project? In a significant size Metroid game, using Playmaker for almost everything, is it going to become a nightmare?
2) This is a more specific question, but it's something I haven't really seen addressed in the videos I've watched so far. How would I go about tracking and using static game data? I see that in a FSM you can create a global variable for other FSMs to access, but what about static data that is the same from one scene to the next? So, for example, if I've done something game progressy, like obtained a new power, that new information has to be stored and stay the same and be able to be accessed by game logic, such as a character controller FSM. E.g., I can't do the dash move unless I have the dash ability.
What's the easiest way to set this up? Would I need to make a general game data unity script that lists a bunch of static variables and access those with FSM actions? How do you check a static variable in the game and use it as a condition in a state machine? Do I need a unity script to manage data (and save the data) or can this all be managed from within FSMs?
I'm sorry if my questions are a bit messy and open ended, I'm just looking for some overall guidance and I come from the unique position of having a lot of very specific game logic experience with Stencyl and how it operates but very little traditional programming experience.
Thank you so much for reading!