Search Unity

[W.I.P] 2.5D Fighting Game Framework

Discussion in 'Assets and Asset Store' started by Mistermind, Sep 24, 2013.

?

Witch version would you be most interested in?

  1. Basic

    22 vote(s)
    19.6%
  2. Advanced

    9 vote(s)
    8.0%
  3. Pro

    21 vote(s)
    18.8%
  4. Pro (Source)

    60 vote(s)
    53.6%
  1. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    New [RELEASED] Post: http://forum.unity3d.com/threads/218123-RELEASED-Universal-Fighting-Engine-(UFE) *

    Hello my name is Daniel Esteves and I've been developing games for over 16 years. I have recently left the game company I helped build to try something new. I've always been a huge fighting game fan for as long as I can remember and for while, like most of you, I've struggled to create my own fighting game. With so many good toolkits in the asset store I realized someone needed to offer something for us too, the fighting game community.

    Universal Fighting Engine (or U.F.E.) is a tool designed to help indie developers and small companies to make their own 2.5D fighting game using a full open source framework and easy to use visual editors. Those who studied fighting games have probably realized just how complex even the smallest thing is when dealing with balance and frame data. Charts upon charts of information you just can't see while playing, not to mention the highly complex aspects of hitboxes and unique physics. That's where Universal Fighting Engine comes in. UFE provides you with an open fighting game engine ready to use, highly customizable data frame and easy to use character and move editors similar to those used by Capcom and NeatherRealm to create games like Street Fighter 4, Killer Instinct, Mortal Kombat and Ultimate Marvel vs Capcom 3.

    Currently UFE only supports 2.5D gameplay, but it will soon also support full 3D arena (Tekken, Dead or Alive, Virtual Fighter, etc.)

    Here are just a few of the features UFE provide:
    - Support for Mecanim as well as Legacy animations
    - Special move execution system.
    - Precision hitboxes.
    - Combo system.
    - Custom input manager.
    - Cinematic move editor.
    - Easy to use editor tools.
    - Support for Mobile Controls (requires Control Freak)
    - Compatible with cInput
    - Automatic Hitbox Setup for Mixamo Auto-rigger characters
    - Visual frame data editor (startup, active and recovery frames)
    - Fully inpendent GUI scripts to allow for easy third party assets implementations.
    - Animation and camera preview tools.
    - Fully commented open source GUI scripts.
    - Over 140 animations included (100+ Mecanim ready), all UFE coded and ready to use.
    - 3 complete characters (+1 reskinned for a total of 4)
    - 5 GUI templates with fully commented scripts.
    - Several free to use sound effects and music files

    U.F.E. works with the all version of Unity. Requires Unity 4.3 or higher

    Documentation feature list: http://www.ufe3d.com
    Upcoming Features: http://www.ufe3d.com/doku.php/upcomingfeatures
    Youtube: https://www.youtube.com/channel/UCyil-YMqKVtnHlPGEUl6Zdw





    Demo Included
    $gameplay_screenshot3.jpg

    Extensive move options
    $FrameDataRyu_cLP.jpg

    With fully customizable GUI
    $CharacterSelectScreen.jpg

    Videos:








    Click here to watch more videos


    UFE Features and Prices Visible in this page (new UFE link):
    http://forum.unity3d.com/threads/218123-RELEASED-Universal-Fighting-Engine-(UFE)


    Special Note: For those who would rather wait for features to come, consider purchasing now for not only its constant free updates, but to help the on-going development progress! I love working on this engine and nothing would make me happier than constantly improving upon it. If the engine doesn't suits your needs yet considering purchasing it as a kickstarter to something much much bigger for all of us and ultimately you. Any feedback is more than welcome!


    $wiki:unity_as_badge.png


    Current Version: 1.0.6 (change log)


    If you wish to upgrade your existing copy of UFE, send me a private message with your receipt/invoice number and I'll provide you with a special discounted version of the desired product (the discount being the price difference between the 2). If you bought UFE during any discount season and wish to update it, you only have to pay the difference for the original price.


    * You can still reply to this thread, but its recommended that we start using the one. Use this thread as a reference if you have any questions.
     

    Attached Files:

    Last edited: Jun 13, 2015
  2. Hendrixlt

    Hendrixlt

    Joined:
    May 25, 2009
    Posts:
    51
    Super excited for this. A few questions

    1) Will it allow for grapple moves?

    2) Will it allow for air combos?

    3) Will it allow for "super moves"?

    Looks awesome so far.
     
  3. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Yes absolutely to all questions :)

    I'm trying to get it as close as possible to SF4 and Marvel vs Capcom 3. The hitbox system is highly inspired by it.

    Update:
    Using this post as a screenshot follow up

    $gaugeOptions.jpg

    $StageOptions.jpg

    $CharacterSelectScreen.jpg

    $GlobalEditor2.jpg

    $workplace.jpg
     
    Last edited: Dec 4, 2013
  4. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Watching this... :p
     
  5. toto2003

    toto2003

    Joined:
    Sep 22, 2010
    Posts:
    528
    awesome!!!! would it be possible to release a version without mecanim as it s still a bit difficult to use it for me and for lot of noobs here.
     
  6. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    You won't have to worry about your knowledge with mecanim =) It will come with a fully functional demo and I'll make a video tutorial on how to replace the animations or create your own in a matter of minutes. The code is fully integrated and all you have to do is set the variables in the inspector.
    A simple character swap with its own animations can be easily integrated in the system without the need to ever touch the code.
    Also, simple variable tuning will allow you to determine when and where, during an attack animation, the hurtboxes will show up. Hit contact is also a big thing in this framework. With simple tuning your game can play like Street Fighter, Mortal Kombat, Marvel vs Capcom 3 or Tekken.
     
    Last edited: Oct 28, 2013
  7. Hendrixlt

    Hendrixlt

    Joined:
    May 25, 2009
    Posts:
    51
    A few more questions:

    1) How are projectiles handled. Is there an event in the animation that will spawn them?

    2) Are constrained projectiles possible (i.e.: Scorpion's spear)

    3) Are character select screens part of the package or something you have to program yourself?
     
  8. chrissanders

    chrissanders

    Joined:
    May 24, 2013
    Posts:
    106
    This is pretty funny, I've been working on a 2.5 D fighting game called Ascension X. It's basically a mix or mortal kombat 9 , killer instinct, and bloody roar. Here is a link, we started development but have been focusing on our own tools.

    https://www.facebook.com/AscensionX2013
     
  9. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    I've been looking for something like this for a while now,I am currently making a fighting game with the help of a programmer in a different programming language, but it isn't as powerful as Unity. If this is developed enough I may port my game to this engine. There are a few unique mechanics that It would have to have the ability to replicate though.
     
  10. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Hey guys sorry it took me this long to answer. I've been working almost 10 hours a day in this engine =) really excited about this and glad you all liked it.
    Let me try answering some questions:

    @Hendrixlt
    1) How are projectiles handled. Is there an event in the animation that will spawn them?
    The current move set system works with an inspector friendly interface. When adding a move you can select everything, from how many times it can hit to where and when, during the move, it does. If the move is a projectile, you can select rather or not it receives physics, the direction, hitstun, damage and speed of it.

    2) Are constrained projectiles possible (i.e.: Scorpion's spear)
    I had not thought of that, but giving the way the scripts are being built, it shouldn't be hard to add this option.

    3) Are character select screens part of the package or something you have to program yourself?
    We are going to try having a small selection screen system but nothing too fancy. It will all depend on how fast we can finish the other more important scripts.

    @chrissanders I actually bumped into your project months before I began working on U.F.E =) Really liked it, but I just assumed you had it all under control.


    Here are some updates on our work and the reason why it might take a bit longer to have it out:
    - Our move set system can now fully read any special move in a 2.5D enviroment. By that I mean, "hadoukens" and "shoriukens" can be customized in minutes. The way it works is by letting you select a set of buttons for its "initial" sequence and a set of buttons for its "execution" sequence.
    In other words, to make a "EX hadouken", you set 2 moves for its button sequence (down and forward) and 2 attack buttons (that you select from the list) for its execution. The execution buttons must be pressed at the same time while the sequence is well.. a sequence :)
    I've made sure the entire process level is as smooth as street fighter 4.

    - We decided to drop the rigidbody and box collider system entirely in pro of our own physics engine (now complete). As useful as it it, unity's physics engine doesn't work well when you are "faking" physics like a 2D fighting game. Fighting games tend to have 100% friction, arc jumps, "floating" moves and much more.

    - We will also be changing from Mecanim to the standard legacy animation component. Even though Mecanim has great features, it doesn't seem to work very well when having to deal with the amount of animations that a single character has to have for a fighting game.

    - Hit detection system is still in the works, and its my main priority. The hit system will be very similar to Street Fighter 4 at first but I might be able to add variations as time goes by. I've studied the move hit at frame data level on almost every popular fighting game on the market and been a fighting game fan my entire life. I'll make sure its something extremely professional =)


    - Because of the complexity and variations of the project, we will probably need to release different versions with different prices. The most expensive one will also include networking.


    PS: We want to offer a character model with some fighting animation with the framework to be added in the demo. If anyone is interested please send me a PM. We will be giving you a cut of the profit.


    Alrite now back to work!
     
    Last edited: Oct 6, 2013
  11. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    A little screenshot from U.F.E Move Inspector
    $Untitled-1.jpg
     
  12. willpower

    willpower

    Joined:
    Oct 6, 2013
    Posts:
    53
    Hey man, this is looking great so far! I'm currently working on my own 2.5D fighting engine and am about in the same spot as you, and I'd love to bounce some questions off you if you don't mind.

    I had a bunch of questions on how you were using mecanim and how you were going to handle so many moves and how they go into each other, but then saw your update saying you changed your mind. I suspected it was going to get very hairy the more moves you added, and then having it set up for all the ways to cancel between them (startup, on hit, on block, recovery).

    Are you still using circles for your hitboxes? I know you want to make your engine like SF4 (so do I), but they don't use circles, they use boxes defined between joints and padding as far as I can tell.

    If you are, how will you support moves that don't lend themselves well to circles? (ie, dhalsim st.fp)


    Are you defining your characters entirely inside script parameters? What happens if you delete your script from the object? Will you lose all the moves you defined? I recommend using custom assets for move definitions for this and then having a custom ui for editing them (for error checking).
     

    Attached Files:

    Mistermind likes this.
  13. willpower

    willpower

    Joined:
    Oct 6, 2013
    Posts:
    53
    Mistermind likes this.
  14. Imagination_Vent-Jared

    Imagination_Vent-Jared

    Joined:
    Oct 6, 2013
    Posts:
    1
    @willpower- Can you turn on your settings to receive mail from other members? It's currently turned off and I wanted to chat about your 2.5D fighting game engine.

    Thanks!
    Jared~
     
  15. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844

    I've been looking for that file forever! Thank you so much. Everywhere I found that file collection the link was dead haha.

    As for the square over the sphere as the hit detection, I was actually going for the square type at first, but then I found out that Marvel vs Capcom had circle type and connected to joints so I went with that.
    But you brought up a very interesting point. I seen that screenshot before too but that issue never crossed my mind. Maybe instead of selected joints a special move could have connected joints. This way when Dhalsim uses this attack its not 3 circles (one on each part of the arm), but rather 3 joints forming a protective shape around the entire arm.
    The fact is the circles are nothing but Gizmos at runtime. The programming refers to more specific Pythagoras theorems to determine the hits.

    PS: Thanks for the tip on the custom assets! I've been looking for a solution but I was not able to find the exact words to google for haha. I'd love to bounce some questions too, but Im having the same problem as Imagination_Vent-Jared :D
     
    Last edited: Oct 6, 2013
  16. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Can you make the option to have the block command a hold down command like in Virtua Fighter and an hold back command like in Street Fighter
     
  17. willpower

    willpower

    Joined:
    Oct 6, 2013
    Posts:
    53
    Done
     
  18. Hendrixlt

    Hendrixlt

    Joined:
    May 25, 2009
    Posts:
    51
    Sounds awesome. yet more questions:

    1) Are animation interpolations (i.e.: Ken moving forward when he does the Hurricane Kick) handled in the engine or does forward movement have to be in the animation.

    2) I was asking about the character select screen because I was planning to use NGUI and in particular the Energy Bar Toolkit from the asset store.

    https://www.assetstore.unity3d.com/#/content/7515

    Have you tested any of these in the engine?

    3) i am a modeler and an animator. a) How detailed a test character are you looking for, and b) how many animations are you requiring and when?


    Look forward to hearing from you.
     
  19. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    I like what I see here guys, it's about time someone released this framework and I know your the right man to do a great job of it.

    You mentioned that you have moved away form mecanim, can you elaborate the reasons why? what happens to mecanim when you have many animations?

    Also mecanim is due for a big update soon (4.3) these new features a going to make it pretty awesome indeed. Do you think it's wise to move away from it now?

    oh about the user saying not to use mecanim because it's hard to use, really?? are you 5 years old? can you read? if you cant read then can you watch videos? Mecanim is not hard to use, it's just some people are lazy and can't be bothered to watch a 20 minute video showing you how to use it.

    Anyway I will be purchasing your asset :)

    Keep up the great work
     
  20. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    @Hendrixlt
    1) Are animation interpolations (i.e.: Ken moving forward when he does the Hurricane Kick) handled in the engine or does forward movement have to be in the animation.
    That is an excellent question =) To solve that I also added a class array called "Applied Force". It contains a vector3 to aim your character at, speed and frame start (witch part of the animation should the applied force be called). If "Ignore Gravity" is tagged in the character can float from point A to point B while in the animation. More variables could be added to create a wider range of possibilities but we can probably worry about that later as the system evolves.

    2) I was asking about the character select screen because I was planning to use NGUI and in particular the Energy Bar Toolkit from the asset store.
    To be honest I have yet to play around with NGUI. A lot of fuzz about this system and I definitely want to try it out myself. As soon as I reach a benchmark in the project I'll study it more to give you a more solid answer. I am a little skeptical on using it however (or any external asset store tool) to avoid sub-product dependency.

    3) i am a modeler and an animator. a) How detailed a test character are you looking for, and b) how many animations are you requiring and when?
    The main problem I had with animation was really the lack of it. We can find plenty of animations on Mixamo and a chunk load in some character assets here and there, but for a fighting game I'm truly struggling to get all that is needed. A simple character with 2 punches and 2 kicks needs 12 different animation clips just for regular attacks and another 5 just for movement. If you think you can do it send me a PM so we can chat.


    I certainly can elaborate =) In fact I didn't find many reviews for the mecanim system (at least in a more in-depth level) so I figured I'll write my own:

    The Good:
    Visual editor
    Mecanim gives a way to visualize your animator logic just like playMaker does for coding. Very useful to view, debug and blend your animations. Be able to visualize and modify the curves gives a great sense of control to reduce the "stiffness" of animation and blending.

    The animation control is handled by the animator
    What that means is that you don't have to build your own class to determine when or how to start or stop an animation. As long as one animation has a transition into another a simple animator.setBool("crouching",true/false) will take care of everything.

    Built-in mirror option
    By far the most important addition from a fighting game perspective. There are currently no built-in function like this in the Animation class and the only solution I found is not very elegant.

    Blend-Tree
    A very powerful tool. Currently the best solution for solving the most problems with the lack of the animation component.

    Humanoid Rig
    Being able to swap characters and add animations from other rigs has been one of my main ways to get around my lack of animations. I'm not sure why this is only reserved to the Mecanim system.



    The Bad:
    Visual editor
    A great tool, no doubt about it. But unfortunately to preserve its structure, the only code access is parameter sending. Meaning the necessary transitions must be done in the Animator. One of the characters we are working with has around 30 usable animations. Some of them can be triggered while walking and idle, others can be triggered while crouching or jumping (meaning jumping-falling-landing). Some attacks can blend into other attacks and sometimes you want to jump as soon as you land. That can all be accomplished by the Mecanim, but it won't be pretty. The early build I showed is only half of what I have right now. You definitely won't like it when you have to set 10 different transitions into one animation or vice-verse.

    The animation control is handled by the animator
    Mecanim is built around the idea that your animation logic should be handled by the visual editor. Code wise, the only things you set are parameters and a couple global variables. At first it seems good and easier work, but soon I found out that a lot of my debugging had to do with one or two transition arrows missing or a sea of conditions around the Animator inspector. The urge to be able to serialize all this is tremendous.

    Built-in mirror option
    Because of limited code access, you can't just manually set variables from clips. Unfortunately, the mirror option is only accessible through the clip state itself. And since its a visual editor, the only way to work around it is well ... improvise =)
    $Untitled-2.jpg
    2 sub-state machines one identical to the other, several cross-transitions and tons of exceptions. One with all the animation's "mirror" tagged in, the other without. As a programmer, that bothers me tremendously and you can imagine the amount of times I have to simple delete an entire sub-state, create a new one and re-tag the cross-transitions just because I spent too much time tweaking values on one side.

    Blend-Tree
    Its the solution for most problems involving clip manipulation such as speed and rotation, but as a visual solution, its only accessible through the Animator inspector. I honestly have nothing bad to say about this other then not being able to use it independently from the Animator.

    AnimationClip/animation.AddClip is no longer a thing
    Meaning if you are creating creating packages so others can use, there is no escape from the Mecanim structure. In UFE's case, allowing the user to simply drag an animation clip into the MoveSet script (or data file) seems a lot less complicated than navigate them through a confusing blending structure and teach how to create transitions to each animation it should blend in and out to. If anything, this is probably one of the main reasons we are switching.


    Conclusion:
    + Easy to use interface
    + Manual tweaks and preview window allows for very smooth blending
    + Humanoid Rig/Mirror/Blend-Tree

    - Some operations inaccessible through code
    - Visual editor dependency
    - Too many animations can get messy



    I hope this helps! I'm still a big fan of the product as a whole and I can easily see the uses of it. But currently for a fighting game, having control over the data is more important than smooth blending.

    PS: Mecanim is getting a big update on 4.3? That is awesome! It definitely needs more options. If I can pick anything out of my hat would be the Mirror. Its an awesome addition and I wish I could access it from other then the animation clip state.
     
    Last edited: Oct 7, 2013
  21. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Wow MMind!! thank you for the review and sharing your wisdom :)

    I think you have some very good points here, I haven't tried to create anything complex with mecanim yet so this will help to be aware of what to look out for when using it.

    " allowing the user to simply drag an animation clip into the MoveSet script (or data file) seems a lot less complicated than navigate them through a confusing blending structure and teach how to create transitions to each animation it should blend in and out to. If anything, this is probably one of the main reasons we are switching."

    I agree with you, this reason alone holds a lot of weight when deciding which system to use. I can see it being a customer service nightmare trying to explain to a noobish mecanim user how to modify it.

    Do you think some of the new features in 4.3 will solve many of your other issues? Apparently you will be able to call functions from within the animation sequence.

    Have you watched the new 4.3 feature video?

    Thank you again for taking your time to explain things. It turns out you did make a wise decision :)
     
  22. DeatchSmyle

    DeatchSmyle

    Joined:
    Dec 11, 2012
    Posts:
    4
    Will this Fighting-Game-Framework also include an enemy ai?
     
  23. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Its possible. My other programmer has tremendous AI experience (he was the lead programmer for the AI in our previous project) and the engine is already being built to accommodate the idea. It will be one of the last things to be built though.
     
  24. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Hey guys, just wanted to share a little gameplay demo of the engine. Everything in the engine is original so its not dependable on any third party asset.
    I'll try getting a list of all the possible variables the game can currently handle. Cheers!
     
  25. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    How easy would it be to add new moves to the characters?
     
  26. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    I'm glad you asked =)

    In the hierarchy your character is held by a parent gameobject. There are a total of 4 custom scripts to be added in one character. 2 to the parent object holding the character and 2 to the character itself.

    In the parent we have the Controls Script and Physics Script.
    Controls Script lets you set the basic structure to connect the character and player. It also lets you set up the input references from the Input Manager so you don't have to keep changing it. Physics Script lets you customize everything related to movement for this specific character. Even the gravity is individual so you can have characters like Dalshim fighting against fast jumping characters like Blanka.
    $UFE_Controls_Physics.jpg

    Then in the character gameobject we have the Hit Boxes Script and Move Set Script.
    Hit Boxes Script allows you to set individual hitboxes for each part of the body, saving you the trouble to manually draw the hitboxes frame by frame yourself when creating a move.
    $UFE_HitBoxes.jpg

    In the new Move Set Script you can set the animations for the basic moves (along with the speed of the animation selected saving you the trouble of re-exporting when tweaking small values here and there), the execution timing (how fast should a special move be executed by the player to be identified by the engine) and charge timing (in a charge move such as Guile's Sonic Boom, how long should the player hold down the initial axis or button for the charging to be valid) and attack moves.
    $UFE_Moveset.jpg

    Attack moves are special custom assets files containing all the detailed information about each move.
    $UFE_MoveInfo.jpg


    Here is a little example of how a projectile is configured:
    $projectile.jpg


    There are numerous ways you can configure the game, from hitstun and framelink to animation cross-fade speed. Special moves have been specially configured so you don't have to worry about complex execution priorities, queues or concurrences.
     
  27. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    very detailed and thorough nice!
     
    Last edited: Oct 21, 2013
  28. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Just a small update
    Video updated with better frame rate.
     
  29. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Very nice I've been wanting something like this for a while, anticipating the release.
     
  30. marcipw

    marcipw

    Joined:
    Apr 18, 2013
    Posts:
    239
    This looks great!

    I can't wait to give you my money!
     
  31. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    New video folks!
     
  32. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    This is amazing work so much potential with this
     
  33. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    All using a fighting stick btw =) fully compatible with any controls.
     
  34. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Is it possible to make varied blocking animations and counter moves?
     
  35. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    blocking is next on my list. I'll be adding 5 blocking systems:
    - Hold back for blocking (standard 2D fighting game)
    - Hold button for blocking (mk style)
    - Parry system (similar to Street Fighter 3)
    - Air blocking
    - Push block (similar to Marvel vs Capcom games)
     
  36. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
  37. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    That is an awesome feature! I would need all the possible animations for it though, but given I do, the system can actually detect where the hit is supposedly going to land so I can make it trigger the right animation. Very interesting feature indeed!
     
  38. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    I am working on a game at the moment with a similar style
     
  39. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Another video. a 17 hit combo :D
     
  40. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    can you differentiate between chain and link combos?
     
  41. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    Yes. In the move editor you can set "Previous Moves" and "Linkable Moves"
    Previous Moves: Allows you to limit the current move to only be casted if its being linked from one of the moves listed here.
    Linkable Moves: Allows you to cancel the current move into one of the moves listed here.


    In the videos I'm using linkable moves. Each of the crouching moves has a link to another crouching move:
    c.LP -> c.LK
    c.LK -> c.MP
    c.MP -> c.MK
    c.MK -> c.HP -or- c.HK

    Links can only occur when the current move has a hit confirm. You can also set how hard or how easy you want the links to be by setting its beginning and end values. If you set these values to the beginning and end of your animation its a very easy link, meaning you can try connecting your next move easily (like I showed in the video) or you might want to make a combo hard to connect by setting these values really low, thus making the infamous "1 frame link".

    Chain combos can be created by using the "Previous Moves" system. For example, similar to Mortal Kombat, you might want to have an overhead kick animation that only occurs after you hit confirmed a LP. By setting "LP" as one of the previous moves required, overhead kick won't come out unless its in a chain combo in witch LP was its previous hit.
     
  42. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    This is a really in depth system you have here a dream come true for me and I bet many others
     
  43. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Will the system support Biped rigs?
     
  44. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    It does, but not in the Mecanim system (Humanoid Rig). Unfortunately Mecanim is currently too limited to work with so I had to stick with the Legacy animation. You can read more about my reasons and review of Mecanim here:
    http://forum.unity3d.com/threads/206301-Mecanim-Review-(Unity-4-2)
     
  45. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Yeah I prefer the Legacy system, Mechanim seems like it's not stable enough. How is the quality of the animation interpolation in the legacy system? It looks pretty good in your preview videos
     
  46. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    I added a global, easily accessible variable called "Cross Fade Speed". The bigger the value, the "smoother" the transition between animations are. Unfortunately there are some technicalities issues with setting the value too high since the blending time will interfere with your animation if its too fast (like the LP animation that is normally very fast, no longer then 20 frames). But since its all editable, you can try tweaking your animations and values at will to have an even smoother transition. I think I'll be adding independent cross fade speed values to each move so you can have custom blending depending on how fast the animation is thus avoiding the issue.
     
  47. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Very cool
     
  48. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302
    Are you thinking of incorporating any of the mechanics seen in 3d fighting games like Tekken, Virtua Fighter or Dead or Alive?
     
  49. Mistermind

    Mistermind

    Joined:
    Jun 8, 2013
    Posts:
    844
    I might, but given the circumstances some of the variables and scripts have been set in, I might have to sell it as a different package. I'm not 100% sure on this though. Once I'm done with blocking I'll work on the GUI, depending on how things go it might be possible to add it in the same engine.
     
  50. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    302