OOP Combat System/State Combat System

I decided that I got bored of the combat I was working with. It wasn’t necassarily bad, but the feeling wasn’t there persay. I didn’t enjoy it the way I thought I would’ve. So, I want to remake the combat completely, from the framework to the small little features that make combats unique, but the issue is, I don’t know how I should go about this, if I should attempt OOP Combat, where to start with it, either having the main combat as one class, or have combat features split in smaller children of the bigger class known as combat. Or learn how to use a state manager (which, I have no idea how to do). If I could get some assistance with this, I would appreciate it so much.

Kind of understand a state manager, just don’t know how practical it’d be to script.

2 Likes

OOP is good if you componentize it. This means following single responsibility principle where one script only does one thing so you can keep track and make changes easily. Although don’t worry even if something goes wrong with organization you will usually either way start from scratch in order to clean it up. It is also good for standalone systems which can be shared easily since it is common place.

ECS from my understanding is ““Kind of”” like OOP but more stricter with componentizing everything. Here is an example of a status effect system with it:

You can use a finite state machine. From my understanding it’s just an if statement check most of the time.

I have used it in here in order to replicate humanoid states and play animations even though the humanoid is platform standing where normally animations are disabled.

6 Likes

I had to go through the posts to understand what you mean at first, but i finally got a decent understanding, but somehow that made me a little more, but its probably a simple answer. What you are considering is for me to keep everything split and have them handle what they need to handle, e.g Damage Interpretation, Stun Handler, Animation Handler, VFX/Visual Effects (Honestly dont know how I would further split combat systems.)

And also with this question, from the way you explained ECS could simply be a way to further organize this, so if I made all of the states attributes, I could split it up into their own if statements for certain things to happen accordingly?

2 Likes