How to Make a Fighting Game Like Mortal Kombat?

Hi everyone,

I am a beginner in UE and learning this excellent engine inside and out as fast and thoroughly as I can. So far I have a very good grasp on level design, special effects, using the Sequence Builder to make a movie, importing FBX models, animations, retargeting, etc. Got a good hang of the state machines too but I’m still lagging a bit on the blueprints part. Mainly because I don’t yet know what classes or functions I should be looking for or how they relate to one another. I guess it will come with more experience.

Anyhow, I want to make a fighting game like Mortal Kombat. I am not looking for definitive answers but perhaps a few pointers or directions that might lead me to it. In a nutshell, I need to be able to do the following:

  1. Provide a GUI for the gamer to select two players.
  2. Player 1 chooses his fighter (character blueprint), and the enemy character will be AI driven.
  3. Ideally, all the characters will have same moves. But I want each character to have their unique finishing moves, etc.
  4. The AI will kick butt and be defensive as needed or perhaps controlled by some difficulty level chosen by the gamer.
  5. Ability to choose a level or choose a random one.
  6. Make sure the camera stays fixed, and the view is bound to that perspective. Think of classic MK, Streetfighter, etc.
  7. Health system to keep track of the character and enemy character’s health.
  8. Perhaps best out of three rounds.

I am not sure on the blueprints part. What blueprints should I be creating to fit all the above requirements together?

The parts I’m a bit confused about are in the red. Any thoughts or advice would be greatly appreciated.

I would say play with animation blueprints. Make robust system for fighting (first for animating one character). When youi have animation system in place you can experiment with making combos, or fighting another character (interactions).

Menus Ai, networking all that stuff is for later stages. First you need game prototype to think about menus, levels or networking.