Examples of fighting games

Are their any examples of 2D fighting games made with Unity . I’m working on one using a very basic trigger system( when fighter one is in fighter 2’s trigger he can hit him , and vis -versa)

Also… any chance of seeing a built in 2d mode somewhere in the Unity 4 dev cycle , right now I’m thinking I might hold off on upgrading and invest in assets …

By 2D mode i can only assume you mean things like 2D physics and suchlike, in which case i doubt that will ever come from Unity themselves - There’s a port of Box2D in the asset store that is somewhat faster for equivalent functions and much more accurate for 2D work that you might want to look into, alternately write the physics yourself, and if you’re intending to garner a hardcore fighting audience you’d probably have to do that whatever middleware you’re using because those guys are crazy and will wreck your game if it doesnt perform perfectly.

I wouldn’t even dream of making a fighting game in Unity, i find it an entirely inappropriate platform for such a hardcore genre, unless you wish to mix it up with some other mechanic (I think something like powerstone would be great done with unity), so i’m not sure you’re barking up the right tree, but for 2D things in general you’re pretty well provided for by the asset store, i own Uni2D which is pretty neat for general fooling around, i’ve yet to devise an actual game yet though, i also own ragespline which is implementing its own farseer physics in the new update which to me sounds great too

http://www.kineticdamage.com/
http://forum.unity3d.com/threads/19299-fighting-game-Kinetic-Damage

Kinetic Damage immediately comes to mind. It’s 2d gameplay with 3d models (Like SF4).

I disagree. Unity is a simple and sturdy 3d engine with lots of flexibility and a very small footprint. It’s only limitations are in its prefabs and you could certainly make all of your own content.

Saying that Unity is no good for any particular type of game is like saying a brand of paper is no good for drawing a particular object.

The fighting game i’m working on is pretty simple , you just have a punch and a really basic knockback.

My point is aimed not at that you cant make such games, of course you can, i just wouldnt make a game aimed at such a target audience on the same terms as say, SF4 or soul caliber. It would not stand up well. You cant overstate how obsessive the audience is.

anyways, 2D, why not use a more suitable platform like cocos2d? I have some developer pals who rather like Unity but if theyre going to do 2D, they wont be using it

Easy, I know what I’m doing in Unity ., Coco is just a framework

I’d suggest having a look in the asset store then basically! Lots of 2D based stuff there that should be fine for your uses

Not 1v1 fighting, but omg pirates for iOS has a quality, simple combat system in 2d.

Thanks :slight_smile:

I had this precise audience in mind when I started the project :wink: (being a fighting game obsessive myself)
It’s not a case of engine, as Not_Sure said. It’s a case of how things are done.
If you want to please the hardcore fighting game fans, you can do it with Unity, or UDK, or even in pure Java. As long as you secure :

  • 60fps
  • 1-2 ms control response
  • rock solid frame data (balanced launch times, hit times, recovery times)
  • visceral animations
  • strong smart AI (to train with)
  • unique game mechanics for each fighter (to create identity and pride)
  • multiplayer

That’s why I love the fighting game scene, they’re technicians before being gamers.

The only thing the engine is being required to have is general performance. Everything else is on the game code side.
Kinetic Damage is going to be released before the end of year, so you’ll see soon enough how much Unity is able to handle fighting games :slight_smile:

I cant wait to play. And i’m still working on my game… pushing the graphical envelope. Thinking of doing pro wrestling too.

Well that sounds great! Absolutely beyond my abilities, i always wanted to do a sidescrolling schmup because its great fun making such games pretty but again i’m not an obsessive enough. Looking forwards to it, the only people who are going to make decent fighting games are the obsessed, i wish i’d spent more time with carrier airwing when a bairn so i could follow that similarly obsessive-driven genre

My game is going to be no where near that though , like its going to be the video game equivalent of Rockem Sockem Robots .

Although I must ask, do you have any tips on programing AI ?

It doesn’t need to be smart

Yep let’s not forget Project Champion too :slight_smile:

Sidescroll shmups are awesome too, yeah :stuck_out_tongue: They can reach the same level of frantic gameplay, therefore obsessive mindset :slight_smile:

Hey good luck for your project then :slight_smile:
About the AI, I found it was the hardest part of all (the longest being the animations). Even if it’s not smart, you have to give it a decent amount of reactivity, unpredictability and strength so the player doesn’t feel any monotony after a few game.

I moved away from a simple AI model, because hardcore players would beat it in no time and be bored too quickly.
But the easiest way to do that, if you don’t want to wander into deep AI insanity (brain burning, litterally, lol), would be to use the classical pattern :

if (enemy.action == Actions.punch)
DoAction(Actions.crouchKick);
else if (enemy.action == Actions.jumpKick)
DoAction(Actions.crouchPunch);

etc … It’s a bit tedious, and create a robotic style Enemy, but at least it does the job and you are quite safe from erratic behaviours caused by “bad AI decisions” in more complex models. That’s what Mortal Kombat games are using since the first (which is why Shao Kahn is always a pain in the ass :p).

If you’re searching for a more complex model, there are tons of other ways to create “humanization”. Humanization is great for hardcore players as it prevents the best players to predict recognizable patterns, like “if the AI does that, I know it will this right after, and I’ll do move B to counter it systematically”.

If you’re interested in such models, I made a video with commentary about the one I decided to use (statistics + realtime dice rolls) :
(make sure to enable subtitles with CC button, I have a terrible accent lol. Plus it will display some non-commentary info about AI decisions)

https://www.youtube.com/watch?v=GgOpD8t-NjM

This model is super flexible actually, as it lets me leverage the amount of “intelligence” the AI got, plus it lets me tweak which kind of intelligence I want it to have → which kind of fighter the AI is (counter based ? offensive ? rush type ? etc). Cherry on the cake : as it’s relying on stat points, I can modify it in realtime during the fight. Therefore turn a defensive stream of AI strategies into a counter-attack one, just by changing a statistic during the fight.

If you want more tips about anything related to this experience of creating a fighting game with Unity, take a look at my sig, the “(+ additional tips techniques)” part :slight_smile: I shared tons of tricks I learned in modeling, coding, animating, etc during the whole 4 years here. (direct link).

Good luck in your projects guys.

Can you affect things based on like, hp (desperation) and so on? It sounds pretty rad anyways, i wrote a simple fighter in AMOS in the mid 90s using quite a similay system to the 'robotic’one, its a bit of a challenge. I’d say the games arent just obsessed about merely for being frantic, but theyve been refined and iterated so much by obsessives for so long, to cater for a crowd that itself became as obsessive because of that iterative nature, that theyve become very challenging, nuanced and deep, so i’d find it hard to develop for. It’s like if i did a schmup and it was sub-Cave level id just feel like an embarrassment because their bar is so high

Absolutely, there are tons of conditions triggering some different AI decisions :slight_smile: Here’s a quick sample :

  • hp less than 30% → retreat and turtle (if Reactivity stat is dominant)
  • no hit landed on target since 3-5 sec (value depending on Reactivity stat) → cancel all current requests and rush to opponent (if Aggressivity is dominant)
  • if no target analysis has been made under 10-20 sec (value depending Analysis stat) → retreat and analyze target’s last 10 seconds of actions (if Analysis is dominant). This analysis is showcased in the video, from 1:28 to 2:04.
    First analysis result at 1:38, then 1:44 and 1:54. Each leading to a stream of different decisions (details in the vid captions).
    For example at 1:38 the AI finds that I’m focusing on head strikes, so it decides to try a crouch strike.
    At 1:44, it estimates my average strike range to 120 cm. So it decides to trigger a strike that has a 144 cm range, so I’m outranged.
    At 1:53, it suddenly make a jump kick to counter my reaction from its standing strikes (= I crouched, so it tries a jump strike, because jump strikes can’t be guarded from crouch). This forces me to stand up.
    → At 1:55, it sees I’m focusing on standing up, so it starts a stream of crouch strikes for 5 seconds.

Plus all the sub-routine decisions, like deciding which strike is better (analysis dominant = balanced between speed and power, reactivity dominant = quickest possible, aggressivity dominant = strongest hitting possible, etc).

Plus “mindset” adapting to opponent (= AI determine which stat it has to boost or sacrifice during fight, depending on player’s playstyle).
Mindset adaptation Samples :

  • target is turtling (= often guarding) → boosting analysis, to push forward decisions where AI will find a breach in target’s guard
  • target’s HP is low, and roll an Aggressivity dice → boost Aggressivity, so AI’s rushes and attacks become more frequent
  • target’s doing too many counters (= intercepting an AI’s strike with a quicker hit) → boost Reactivity, so the AI will start to “play a counter game” with opponent

etc… (actually there are 30+ different decision changing conditions like that, and I can write as many as I want in further updates)

That’s the power of basing AI decisions on modular statistics, you can then make conditions from conditions, from conditions, etc. And with those stats being modular by AI’s own will, there are very few chances for a fight to be the same as another.
Cherry on the cake with this model, I can add as many stats as I want, and as many decisions as there are stats, etc … :slight_smile:

Yeah linear conditionning is a pain in the ass to write :confused:
Haha yes you’re totally right about first shmups :stuck_out_tongue: When we look at the first 8-bit games, they really pushed the obsessive bar high above :stuck_out_tongue:
Man I miss that era for that … Games were … challenging :confused:

I miss it with sadness even though those games absolutely kicked my arse, carrier airwing, r-type, parodius and so on… they were just the early ones and so ridiculously hard, id burn through the money my parents gave me in the arcades in no time on them, getting nowhere, and that was back in the 80s or so when a credit was 10p. MAME has been a wonderful way to revisit everything and have a look further into a lot of the games that previously destroyed me, as its been a long time dream i really, really, should have look into putting a few weeks of proper analysis into these things and see if i can try and implement the fun/tear your hair out balance they got so right. Or maybe i could make a game that recreated the simple joy of pop n twinbee on easy…

Hah sorry for this slight derailment

All of this sounds cool… and I have to think about those systems also, especially with characters that carry clubs, grappling hooks, and also have one hand. not only that, i can’t mirror fight poses i.e. ssf4 because of said issues, and each character will have a shitload of shader detail as will the levels.I am planning to make this the most detailed Unity game in the fighting genre, keeping it 2.5D for maximum character detail (about 45,000 triangles Max for fighter models). Programming this game will be my challenge since im primarily an artist and animation is my thing, but with mecanim everything will be a breeze, though in my tests, i may into problems with Gladiator (A character in my game) since he has one hand…

For controls, i was going to make it like Street Fighter with 6 buttons, but doing combos with light, medium, and strong is more of a hindrance. I want moves to be hard hitting AT ALL TIMES so i am going with a four button control scheme, and special moves will be worked out around that

Anyway, we are all learning so this with be a great experience. and i hope kinetic damage will come on android; it will be a first day buy for me :slight_smile:

P.S.: As a joke, my game’s end bosses will take us back when we first fought M. Bison/Geese Howard as kids and got our asses kicked. lmao at SNK boss syndrome.

Quick question, will look at it closer soon but im preparing a billion things atm - what rigs are you using for mechanim? and does it expect any particular rig? I’ve got a rather nonstandard rig set up in max for a mechy/car/plane transformy thing and i’m really hoping it plays nice with mechanim

I’m using a null based skeleton from Softimage and for now it uses a humanoid rig…nothing too fancy… and in my development i am using two rigs; one for animation and one that goes to unity.

EDIT: If u automap it will find all of the bones quite easily, but i do it manually.