Learn how to make a fighting game in Unreal 4

Guilty Gear Isuka has already done something like this back in '04. Basically, it has a special “all-guard” action that drains meter quickly and slows down your meter gain for a while. Of course, Isuka’s a 2-on-2 party game, so a defense system that’s exactly like it wouldn’t properly work in a 1v1. Still, I think Isuka is a good reference to how one would implement an all-guard mechanic.

One idea I would like to mention that would be best if you adapted ASAP is no Mortal Kombatty code/design methods. Have you ever tried to do a combo in Mortal Kombat but it isn’t a combo because even though you have more than enough frame advantage on hit to combo it doesn’t because the programmers added the flag “can_combo = no”? That’s the worst. Outside of strings/target combos, all combos should be free; determined only by properties like hitstun, startup, juggles, OTGs, etc.

Man, I remember picking up Injustice and getting weirded out when stuff that should have counted as a combo didn’t because of this.

Are you going to do it entirely in blue prints or are you coding at all? All blue prints sounds a bit ambitious, though they are probably a tad more complete than they were a yearish ago.

I’m curious. Once you’re finished with the project, will it be made available to the public?

Yes. But if you’re impatient, you can follow along with the upcoming videos and blogposts and build it yourself as we go!

Aside from sound design, does UE4 really have everything you need to create a complete game? No additional equipment?

Character models, textures, and animations will be created in an external app. I will provide the resources I am using

It’ll probably end up being a plugin.

There can be a window that displays the character, with a dropdown on the side for you to select the animation you want to edit collision boxes for.

For each animation, select collision box options (hurt, hit, throw, throwable, etc.). Then click and drag a box over the character until you finish all of the collision boxes for that frame, toggling the options as you go. Each collision option combination can have its own color for easy reference.

Each frame in the animation can be in a timeline at the bottom of the window. The frame data for a move can be automatically extrapolated from the collision data; if the first four frames of the action only contain hurtboxes, then the startup of that move is 4 frames, and so on.

Each collision box is added to a list when it’s created; clicking on a box in the edit window or in the list makes it the active box. Clicking and dragging from within a box (with that box selected?) moves that box. The box’s extents can be displayed on the side for fine-tuning.

A while back, I threw together a tiny demo of what this collision box/frame data creation workflow might look like. I’ll dig up the link when I get home. The main issue with this is I’m not sure it can be done with Blueprints. The demo I wrote way back when was using C#.

Another important problem you’ll need to solve is the input buffer. You’ll want to catch every input event in a queue. Inputs should be removed from that queue either if they’re used to execute an attack or if they’ve been in the queue for X amount of frames.

Actually after discussing the collision challenge with a couple of coworkers, we’re going to start by using the Animation Notify system.

What it enables you to do is create events along the timeline of an animation. So we’re going to use that to spawn collision volumes, impact effects, etc.

Zak Parrish did a great video on how Animation Notify works.

I saw the twitch replay, and I didn’t expect SRK to be name dropped so thanks for that.

What do you think about turning the 1v1 aspect into tag-team multiplayer? I won’t be a hardass about it, but I think involving more players into combat is a great way to teach newbies how to play fighting games. They would learn by seeing AND doing, rather than sitting in spectator mode to wait for their turn.

I couldn’t watch the stream. Will it be uploaded to the YouTube channel?

Will this be tied to a 2D hitbox editor?

No, After thinking about it a bit more, I aiming to do this with as much out of the box UE4 as possible.

A specialized editor would be great, but requires programming resources to create. After discussing with coworkers, I believe we can make collision editing work with the tools already in UE4

Characters will be locked to a plane, so collisions will resolve in two dimensional space.

So how will people define hitboxes?

Painstakingly in UE4 until the project is released and we write our own hitbox editor. I’ll go ahead and volunteer to write the tool. I can also do the plugin for importing it into UE4 if nobody else will.

Hey @anoon is Epic doing anything special when it comes to licensing UE4 to the general public? I mentioned it before but I know Unity is free to all so long as you’re working with a budget under 1 Million.

This is something to consider, since Unity already has UFE which is pretty much what this is, except at a more advanced state of development. Thought there are some things about UFE that I have my misgivings about (i.e. using hit spheres tied to the skeleton).

Heavens no. A block button game does not need a guard meter. Having every attack do chip damage would be a better solution.

By using Animation Notifies in Persona (character animation editor) we can spawn our volumes

The new pricing scheme is $19/month. BUT, you can sign up, pay the initial $19, download the editor, then cancel your subscription/payment, and continue to use the editor indefinitely.
If at some point you’d like to get the latest version, you can reactivate your account.

I always liked chip damage. Makes the game more aggressive.
I currently have a variable for the % amount of damage reduction guarding does. So set it to 100% for no chip damage, 98% for small chip damage, or 50% for ridiculous chip damage, etc. This variable is at the character blueprint level, so each character could potentially have a unique chip damage modifier. Options!