I really like the Gameplay Ability System (GAS) and I have recently started to migrate some simple parts of a single-player game I am currently working on to use GAS as a proof of concept. If I continue, it will end up costing me a decent amount of time to convert everything (a few weeks approximately, also because there is still so much I need to learn about the system). However, since GAS is especially useful for it’s networking-related features, I have been questioning if it’s really worth the hassle for a single-player title with a manageable amount of abilities. There is also not really a need for complex damage management either. Basically, I only really want to make use of the concept of implementing certain actions as abilities with gameplay tags, effects, and cues. I don’t necessarily want to implement my own ability system. It’s either GAS or I’ll continue without any type of ability abstraction.
Are there any indie single-player developers out here that have used GAS in the past or are still using it? If so, do you think it’s worth it? Do you have any lessons to share perhaps?
From my own research I could only find very little information online. Aside from a thread on Reddit from four years ago with mostly negative opinions on GAS for single-player games, I also found out that Atomic Hearts is using it, though this game is much larger in scope than what I am working on but at the very least still a single-player title.
If you don’t need the stacking/combination/tagging bits, and don’t need the separation between activation, game logic effect, and display, and don’t have artists/designers (or yourself) building new abilities, then it might not be worth it, especially if you already developed a system that is good enough.
If you’re starting something new, and already know GAS, it’s a much easier decision to make to lean into it from the beginning.
I do need the tagging bits as I need to precisely control how I can transition from one ability to another and what abilities can’t be performed at the same time.
At the moment, I only have some not so easily readable if statements that take care of that. I am not sure what you mean by separation between activation, game logic effect, and display? To me that sounds just like the ability, effects, and cues abstraction which I really like.
I am making abilities myself for the most part, and I am going to add more in the future or rework/adjust already existing ones.
But I agree that it makes more sense starting with GAS in mind than trying to integrate it at a later point.
So, from what you say above, I’d suggest that, if what you have, already works, and you don’t have tons of more work to do where it will pay off, then stick with what you have. If you’re starting new, or will be making tons of new interacting abilities, then the pay-off might be there.