Log 01: I Should Play Catch Up Before the Project Proceeds Any Further, I Suppose...
- Kassandra McCormack
- Sep 28, 2023
- 3 min read
So my first couple of days just consisted of me watching tutorials, reading articles, and playing with the engine to begin to figure out how it worked / is used.
The first thing I did was make a new Character and Controller blueprints so I could make the thing move and look around based on player input. I intentionally made the Controller because, despite what EVERY tutorial would have you believe, that is where the documentation says you should handle input and then call events/functions in you character.
Which makes sense as that would also allow the Character to easily be controlled by an AI and use the same functionality and not have to write separate functions. Really useful for me because one of the mechanics of the game is allowing the player to freely switch between team members, and those members not being controlled directly are instead controlled by an AI.
...Rant over.
The next thing I wanted to work on was the combat, or at least the very basics of it. Normally this wouldn't be too hard, just assign an animation or a string of them to a specific button press(es) (assuming you follow the tutorials). However Warrirors games have a very specific button combo patter that I needed to replicate: a string of basic light attacks, but where in the string you press the heavy attack button determines a new attack (Fig 01).

There's more to it than that with specific heavys having specific properties (such as Light -> Heavy launching enemies in the air or Light (3x) -> Heavy will hit a wide range of enemies), but I decided that will have to wait and just get the controls working.
This also lead me into my first financial hurdle. This game is going to be primarily melee focused and almost all of Unreal's free animations are gun based (which I may be able to use later, but I haven't finalized that character's design yet). Initially I tried importing the FBX files of the animations I had bought for Unity, but for some reason Unreal threw an error and refused to import them. So then I had to hunt down the cheapest asset pack I could find that also had enough animations (preferably with an attack string that looks like it blends together). I found this pack: Street Fight Combat Pack.
First I put the combos all into the Animgraph and made connections between them based on variables from the character. This worked, but I found it wasn't flexible enough, not really allowing for different attacks having those different properties which I knew would need to happen eventually.
Then I created a special struct that held the animation montage for the attack, as well as different future properties. As well as a special controller component to keep track of them and where in the combo the player is. So far this is working and should allow for the flexibility I need. The only constraint is that the attack structs are held in arrays and I need to make sure they are in the arrays in the correct order.
I had to rely heavily on animation notify events to know when the attacks could be combo-ed, when to look for hits, and when the attacks were over. I also decided that instead of a line trace or tracking fists/weapons for what was hit, I'd instead do a trace over a specific area, that way the characters can hit more enemies at once and help increase the tempo of the action.
Continued in Log 02.
Comments