Twitter Info for constant updates as progress happens!https://twitter.com/Achilleon_UE4Hello everyone!I am a simple UE4 Dev that is currently working on a Template where people can create their own fighting games as easy as possible by using Unreal 4. Though I have worked on 3D before, at the moment I am focused on the 2D part. I am an old Mugen dev (like, 8 years ago and so) and I decided to move to Unreal 4.My current goal is to prepare a very detailed Template that people can create their own Fighting Game upon and it should not only have all Mugen features, but it's functions mimicked too, so a Mugen Dev can feel at home as much as possible.. For that I am creating the solutions for various things, such as input, combo creation, ability, collision, shadow, animation systems.There are of course various small Engines for creating 2D fighting games, though I feel they are all limited and not open source to edit for your needs. Unlike those Engines, my template will be fully editable from head to toe, and you will be able to see what I have done inside to achieve what I have done so far. Since it's still Unreal 4 Engine deep inside, the limitations are no longer there! Plus, I am using Unreal's Blueprint module, aka visual scripting. As long as you know a little bit of how coding works, you will be able to understand what's going on. And I will have detailed explanation of every visual node and what they are doing, so you won't wonder "why is that there and why is this missing"!About what is Unreal 4 Blueprint Visual Scripting is: http://blog.digitaltutors.com/become-familiar-blueprint-visual-scripting-unreal-engine-4/Once you understand the system, you will be able to change it with whatever way you prefer. You don't like the way I did the Input System? Change it! You don't like the way characters push/pull each other? Make your own! Add something that is not there? Go ahead! The videos you will see below are just the babysteps. More will come later, including talent system, rpg elements, clothing system. The list goes on, and you will have all the power within your hands to edit/delete/add new along the way of creation!---------- Update: 15.01.2018 ----------Phew. Finally got around this thing. Unreal 4 really likes to say "f*** you" to the way I code things, but we got Menu stuff up and running! Options for now!---------- Update: 17.11.2017 ----------Another 4 month period has passed without me updating the thread, but I don't tend to update it with every single new thing unless it's important. Anyhow, here are the 2 new videos! One is about the improved Input System (Because Justnopoint wanted.) and most importantly what we don't have, an Engine supported Assist System! Character swapping is on it's way!Input System UpgradeTeam Fight Progress 1/2 - AssistingTeam Fight Progress 2/2 - SwappingAlways appreciate your support! Thanks everyone. ---------------------------------------- So What Should You Expect? -----Alright, let's show you some Unreal coding! So wow actually hard will it be to do things in Unreal 4? What are our gains to take things a step further? How rocky is the road? Let you be the judge. This will be a very small example related to Kungfu Man and how you make a taunt in it.Here is a picture of coding from Fighter Factory 3;Here is how you will see the coding at Unreal 4;It might be confusing at first if this is the first time you see Unreal's visual scripting, as it is horizontal. Let me make it vertical for you, and it will be rather easier to get it. This will surely help you understand what's happening, but let me help with extra notes please. Note that not everything will make sense, before I make a video how things work in Unreal, though I will give you idea about each of the things as much as I can. The Red Box you see as "Custom Event" which is named "State 195", is a function we call in Input System so this state triggers. More on this when I show how Inputting works to call it in a video. Just note that you could call this event "State Taunt-1". Just letting you know that states are not longer restricted to numbers, you can actually name them.The Black Function named "New State Definition" you see is the new "Statedef" we have in mugen. It has a nice "Basic" on it's name because it lacks the main movement components to set, which are known as to you "velset and veladd". The way movement works in Unreal is way better than just those values, and I will show them later. For now, not to scare people suddenly, I am hiding them. New Main State ID is the first line we write in Statedef function in mugen. While mugen supports Statedef IDs as numbers, in Unreal you can give them actual names. No longer restricted to numbers as mentioned above. (Wrote 195 anyway just to make it similar to Kungfu Man Taunt).Character Stance is same as "type" we have in mugen. When clicked upon, you will be able to chose "Standing, Crouching, Air, Lying down" just as before. I just find simply typing "type = s" might be confusing for newcomers. Note that I am making this template for everyone, not only for mugen devs, but for anyone who never worked on game development. I think while at it, we might have things more clear. Don't worry though, everything is subject to change. Move Type is same as Mugen's movetype. Though instead of "I and A", we have "Non-Attack and Attack". Same function.Face to Enemy? is the same boolean of mugen called "p2facing". Player will be instantly turned to face its enemy if this is set to true.Doing Unique Animation? tells Unreal to use the Basic Global Shared Animation List instead of the unique one that is character specific. For example an Idle Animation is not a unique animation, but a Shoryuken animation is. More on this later when I show how to do abilities in a video.Animation ID is the value that we enter to tell Unreal which animation to play. This is same as "anim" of mugen. Though the difference you see again, is that it does not have to be a number and can be a word.Sprite Priority is same as sprpriority of mugen. It defines whether the sprite will be on top of the enemy's or not.Controller Adjustment is the same as "ctrl" of mugen. Though in Unreal, you will have two control options. One is Movement Input, other one is Ability input. Movement one is basicaly what it means, being able to move, walk, run, jump. Ability one is being able to do abilities, mostly combos. More on this later.Movement Adjustment is a special snowflake that I won't talk about now so much. In Unreal you will have way so much ways to set, manipulate, stop each axis movements. X is for horizontal movement, while Z is vertical. As I remember Mugen says "Y" is top, but I do not. Because I got some nasty plays for Y Movement. More on this later. For now just know that "Stop All Movements" means "velset = 0", separately for both movement types.-----------Let's jump to Set Control!. This one is called State Addon, because it does not define a state. It is a function that works whenever you link it to a State Definition. Linking states together is same as writing your states at mugen one after another. Oh how do we link stuff? Do you see the "State Entry and State Exit" links at top of each nodes? And the white lines that are acting like connection? That's what I mean. ;3Connected Main State ID is the same thing of mugen's [State 195, 1]. As mentioned above, the moment you link states to each other via the connect wires, they will start working. But what actually makes them function is having "Connected Main State ID" being same as the current state definition.When I read above, I realize how I complicate stuff, because I suck at explaining. Don't let yourself get confused, you are already doing this in mugen. The First state is 195, follows up with its controllers as 195, 1 - 195, 2 - 195, 3 and moves on. State ID: is the same thing as [State 195, 1], basically self ID.Condition link is where you gather up your triggers just as you do in mugen. Here you see we have "Current State Time" linked to an equality checker with value 40. This is exactly the same thing as "trigger1 = Time = 40" of mugen. I will show in a video how to link triggers together, it's very easy. Enable Movement Input and Enable Ability Input booleans are the same of your "ctrl", as explained before. -------------------------Let's see our final Controller, "Change State".First three are the same things explained above! Though we got a new condition check that is named "Animation Over?". It is a function that checks if the animation is over or not. Long story short, this is your "AnimTime = 0" in Unreal. State to call is the same as your "Value = 0". State 0 is same on my template. It's your basic Idle. I do not have a control setter especially for it. For now setting the state to 0 gives you control automatically.Hmm. That's all I think! I hope I didn't miss anything! I know things are still blurry. And some things are even lost in the fog. But once I prepare the video for this, you will understand that Unreal 4 is actually a fun engine, and since I will be making the functions you won't have hard times! And most importantly, you will be able to double click on those nodes to see what they are doing, and even create own your unique functions, states, addons, checkers. Here is a video that I literally do a Taunt Code Demonstration:--------------------------------------------------- Videos from Old to New -----Fighting System Progress 1Fighting System Progress 2Fighting System Progress 3State Machine Demonstration - Taunts!Gaussian Blur and Camera Zoom Features Character Change RuntimeCollision Debug Visual ShowcaseTrue Palette Grid SystemStage Development - Changing Stage RuntimeMovie TestRender Scene to SpriteStage Expansion Interactive Stage Object 1/3 - Dynamic Shang TsungUnreal Fighter 2D - Interactive Stage Object 2/3 - Barrels!Input System UpgradeTeam Fight Progress 1/3 - AssistingI appreciate your time and reading!