Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Fury Framework - RPG/RTS Creator

Discussion in 'Assets and Asset Store' started by andorov, Dec 23, 2011.

  1. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34
    Hey, what is the best method to create a bow and arrow / projectile weapon ? shall we just use the "Ablity" like as the example "InstantStrike" and fake the object as a timed physics animation ?
     
  2. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    There's a better way to do it than using ability. I am planning to do a tutorial on it tomorrow.
     
  3. lockbox

    lockbox

    Joined:
    Feb 10, 2012
    Posts:
    519
    Thank you so much for the Fury Framework and the tutorials! Awesome!
     
  4. Zhosay

    Zhosay

    Joined:
    Dec 12, 2011
    Posts:
    98
    Oh and could you give us a hint how we hide the loot spell and make it auto cast on rightclick (on a chest).
     
  5. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34
    That's great, I'm waiting for that..
     
  6. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    I saw a bug i guess.when we play this game multiplayer, host have got items but the other player havent.player only got his abilities
     
  7. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34
    Hey, how are you ?

    are you not receiving my PMs or just too busy ? :)
     
  8. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    I received your PMs. You have to give me longer than 12 hours to reply. Especially when you send me a message 10pm on a Saturday night. :p

    The tutorial is complete, I'm uploading it now.
     
  9. Zhosay

    Zhosay

    Joined:
    Dec 12, 2011
    Posts:
    98
    Nice new video. Any news on the asset store release?
     
  10. Gatto_matto

    Gatto_matto

    Joined:
    Feb 15, 2011
    Posts:
    60
    Hello. I think your work is great! I love RTS and I think I'm gonna buy your framework.

    I'm a bit worried because I'm not a programmer. I'm dowloading Unity 3.5 and your file right now. I'll test if I can manage in some ways. Btw, sorry for bad English: I'm italian.

    I'd like to make a game set in the ancient world. And I've got a question: is there the option to make buildings? I supposed they are very easy to code, but I'm a beginner... Especially I have no idea how to create walls! I really want cities with walls. If you can do something, I'll be very happy.

    In any case, thank you very much.
     
  11. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
  12. Zhosay

    Zhosay

    Joined:
    Dec 12, 2011
    Posts:
    98
  13. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    Yea, it took a bit to get it through. The guidelines for code projects make it a lot more difficult than simple assets.

    I've also set up the source code repository, so any customers can sign up at the site and I'll approve 'em for access.
     
  14. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    did you saw black box on the screen?i wrote a js script which is toggle of this component and i share this
    this is pretty simple solution :D
    ahh i forgot that you have to attach that to your manager
    function Update () {


    if(Input.GetKeyDown("r"))

    {

    GetComponent("Lobby").enabled = !GetComponent("Lobby").enabled;

    }}
     
  15. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34
    Great to see this approved in asset store! gonna purchase today :)
     
  16. Zhosay

    Zhosay

    Joined:
    Dec 12, 2011
    Posts:
    98
    Guys add the auto attack script from the turret to your player character and modify this part.

    Your unit will auto attack then when Idle like in sc2 wc3 and abort if you give her another order.
     
  17. limdorn

    limdorn

    Joined:
    Jan 5, 2012
    Posts:
    56
    can Fury framework works with androis and ios?
     
  18. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34
    I tried the Fury with iOS and Android and it worked perfectly !

    The only problem was HUD and controls, you need to tweak them.
     
  19. rockysam888

    rockysam888

    Joined:
    Jul 28, 2009
    Posts:
    650
    (bookmarked)
     
  20. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    MissingReferenceException: The object of type 'Deposit' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    Fury.Controllers.AbilityController.qbk8vudzbrmkyxb967f682wpk954lvgk    ()
    Fury.Behaviors.Unit.Update ()

    if you are not host you are not able to take items and you dont have any items at start.how can we fix that
     
  21. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    I'm taking a look into this issue.

    EDIT:
    I've tracked this issue down; it was a small oversight in the engine code. Its been corrected and I will soon be posting a fix. Thanks for bringing it up.
     
    Last edited: Mar 18, 2012
  22. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    This issue has now been resolved; files have been updated. I will push the changes to the AssetStore soon. Thanks for bringing it to my attention.
     
  23. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    thx andorov you are the best :D
     
  24. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    Updated the AssetStore with some fixes. Other than that, thanks to everyone who has purchased a copy. Let me know how I can be of any assistance.

    Code (csharp):
    1.  
    2. Fury Framework Core
    3. - Fixed an issue where tokens were not being synchronized properly
    4.  
    5. Tutorial
    6. - Fixed an issue where lobby background would remain visible in gameplay
    7. - Fixed an issue where remotely connected players could not use tokens
    8.  
     
  25. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    Can you make a tutorial about AoE abilities ?
    and how can we use Istun
     
  26. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    I don't think a tutorial is required; here is a template I whipped together really quickly. Create a custom definition out of that script, drag in and configure your effects and boom, you're done :)

    Code (csharp):
    1. using System;
    2. using System.Collections.Generic;
    3.  
    4. using UnityEngine;
    5.  
    6. /// <summary>
    7. /// This is a template for an area of effect ability. Make sure to uncheck "RequiresTarget"
    8. /// in order to freely use this ability on the ground.
    9. /// </summary>
    10. public class AreaStrike : Fury.Database.Ability
    11. {
    12.     /// <summary>
    13.     /// The damage caused by the ability.
    14.     /// </summary>
    15.     public Int32 Damage = 200;
    16.  
    17.     /// <summary>
    18.     /// The radius of the ability's area of effect.
    19.     /// </summary>
    20.     public Single Radius = 1f;
    21.  
    22.     /// <summary>
    23.     /// The amount of energy the ability costs.
    24.     /// </summary>
    25.     public Int32 EnergyCost = 75;
    26.  
    27.     /// <summary>
    28.     /// The type of energy the ability costs.
    29.     /// </summary>
    30.     public Fury.Database.Energy EnergyType = null;
    31.  
    32.     /// <summary>
    33.     /// The status that is applied to units caught in the effect.
    34.     /// </summary>
    35.     public Fury.Database.Status StatusEffect = null;
    36.  
    37.     /// <summary>
    38.     /// Check if the caster has enough energy.
    39.     /// </summary>
    40.     public override bool OnCheckUseOnTarget(Fury.Behaviors.Unit caster, Fury.Behaviors.Targetable target, UnityEngine.Vector3 position)
    41.     {
    42.         // Check if caster has enough energy of the given type
    43.         return caster.Controllers.VitalityController.HasEnergy(EnergyType, EnergyCost);
    44.     }
    45.  
    46.     /// <summary>
    47.     /// Start casting the ability.
    48.     /// </summary>
    49.     public override object OnBeginCast(Fury.Behaviors.Unit caster, Fury.Behaviors.Targetable target, UnityEngine.Vector3 position)
    50.     {
    51.         // TODO: Start casting animation, effect, etc
    52.         return null;
    53.     }
    54.  
    55.     /// <summary>
    56.     /// Finish casting the ability, damage units in the ability's area of effect.
    57.     /// </summary>
    58.     public override void OnEndCast(object tag, Fury.Behaviors.Unit caster, Fury.Behaviors.Targetable target, UnityEngine.Vector3 position)
    59.     {
    60.         // Reduce the caster's energy
    61.         caster.ModifyEnergy(EnergyType, -EnergyCost);
    62.  
    63.         // Iterate through all unfriendly commanders
    64.         foreach (var cmdr in Fury.Behaviors.Manager.Instance.Commanders)
    65.             if (!caster.IsTeamOrNeutral(cmdr))
    66.                 // Iterate through all units of unfriendly commanders
    67.                 foreach (var unit in cmdr.Units)
    68.                     // Check if unit is inside the radius
    69.                     if (Vector3.Distance(unit.transform.position, position) < Radius)
    70.                     {
    71.                         // Damage the unit
    72.                         unit.ModifyHealth(-Damage, caster, this);
    73.  
    74.                         // Apply status effect if set
    75.                         if (StatusEffect != null)
    76.                             unit.AddStatus(StatusEffect, caster);
    77.                     }
    78.  
    79.         // Create an effect where the ability is used
    80.         if (Effect != null)
    81.         {
    82.             var effect = (UnityEngine.GameObject)UnityEngine.GameObject.Instantiate(Effect);
    83.             effect.transform.position = position;
    84.         }
    85.     }
    86. }
     
  27. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34
    Thanks for your support and those great tutorials. This framework is really amazing and suitable for lot of game genres !


    I purchased a copy today :)
     
  28. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    Thanks for purchasing a copy!

    Wouldn't mind if you left that as a review on the asset store ;)
     
  29. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    Did i say you are the best :D
    Did you refresh the evaluation package after fixing that sync problem ??
     
  30. box01

    box01

    Joined:
    Apr 2, 2009
    Posts:
    62
    Puchased and Reviewed . Thanks for the great work.
     
  31. kingcharizard

    kingcharizard

    Joined:
    Jun 30, 2011
    Posts:
    1,137
    Just played the demo this is pretty cool dude. Keep it up. What are your plans for future updates?
     
  32. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    The idea is to let the customers sort of dictate where this goes. I've had some feature requests that I'll be looking into. If people are fairly satisfied, I may just start producing lots of importable units, abilities and other content that can be added to any game and tweaked to preference.
     
  33. kingcharizard

    kingcharizard

    Joined:
    Jun 30, 2011
    Posts:
    1,137
    Very good to know I am playing with the demo before I buy but if I buy I plan to use thus for a adventure RPG rather than rts. It's very cool so far. Did u animate and model the Mage and warrior
     
    Last edited: Mar 21, 2012
  34. vdharshan

    vdharshan

    Joined:
    Jan 6, 2012
    Posts:
    34

    I did :-D
     
  35. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    Does not work with the free version????
     
  36. murteas

    murteas

    Joined:
    Feb 14, 2012
    Posts:
    62
    This is very cool. I am also very interested in using this for a turn based strategy game. I know you said it would take a bit of work to get it to work. Hopefully it is not too painful. Is the $100 the planned price going forward or only for a short amount of time?
     
  37. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    It does work with Unity Indie but not "out of the box." You have to follow the steps outlined in Tutorial X in order to be able to modify the levels. You can follow this tutorial before purchasing, by using the evaluation kit, to get comfortable.

    The price is going to stay for at least one month. My suggestion to you is to use the evaluation kit to try to make your turn based game. If you can get the core fundamentals working, then you're safe to buy.
     
  38. murteas

    murteas

    Joined:
    Feb 14, 2012
    Posts:
    62
    1st off - very easy to configure to use the A* system with the Indie version. The Tutorial X explains it well, and really only takes a couple minutes, not a big problem in my experience.

    2nd - I am going through your tutorials now with the evaluation version and I will start modifying it after I finish to see if I can get it working as a turn based system. I really think it won't be too bad, but I'm sure I'll have questions. Thanks for the quick reply. If I buy it will be before the price changes, so I appreciate a little time to try out the evaluation. From what I have seen so far, it seems like a no brainer to pick this up, it will save so much time if I can get it to work for me.
     
  39. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    In tutorial X it starts with navigation, no navigation in the free version.
     
  40. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    I know that path finding does not come in Unity Indie.

    Tutorial X explains in detail how to download and implement Aron Granberg's A* Pathfinding Project. You need to listen / follow through the whole thing, not just the first 10 seconds to make your conclusions.
     
  41. murteas

    murteas

    Joined:
    Feb 14, 2012
    Posts:
    62
    Perhaps I am doing something wrong or just mis-understanding, but following the tutorials, my character dummy both jump to the position 0,0,0 when I start the game, despite my placing them far away from the center. I am using the evaluation copy and the tutorial assets but making my own scene. Any suggestions? This seems to be related to the unit script they have but I am not sure. BTW this is with Tutorial 1 2.
     
    Last edited: Mar 21, 2012
  42. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    Try turning off "clamp to surface."

    Are you using third-party path finding? Can you upload the project to drop box? I'll take a look at it.
     
  43. AlerZampi

    AlerZampi

    Joined:
    Dec 25, 2011
    Posts:
    27
    How i can make lvl system for abilities?
     
  44. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    Perhaps the easiest way of doing this is create one generalized script. The tutorial includes a "InstantStrike" script you could used to make 3 different abilities.

    Ability 1 - 50 damage
    Ability 2 - 100 damage
    Ability 3 - 150 damage

    Then, give all the abilities to your character, BUT only show the rank you want. As the game progresses, you could use token checks or trigger checks to increase the highest level ability the character can use.
     
  45. murteas

    murteas

    Joined:
    Feb 14, 2012
    Posts:
    62
    I tried turning off clamp to surface. Didn't seem to make a difference. Yes I am using the A* pathfinding project with the Indie version. Here is the project (zipped with 7zip).
    http://db.tt/Gu4qiHFc
     
  46. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    In your AStarNavAgent.cs file, add the following method.

    Thanks for bringing this to my attention, I will fix the package on the website.
     
  47. murteas

    murteas

    Joined:
    Feb 14, 2012
    Posts:
    62
    Thanks. I really think you've got something great here. I'm looking forward to learning it.
     
  48. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    i really want a lot of thing but i have to ask.How can we create stun ability ??
     
  49. andorov

    andorov

    Joined:
    Feb 10, 2011
    Posts:
    1,061
    A stun is not an ability, it is a status effect, you can define an status that will stun a unit like so...

    Code (csharp):
    1. using System;
    2. using System.Collections.Generic;
    3.  
    4. using UnityEngine;
    5.  
    6. public class Stun : Fury.Database.Status, Fury.Database.Status.IStun
    7. {
    8.     bool Fury.Database.Status.IStun.IsStunned(Fury.Behaviors.Unit from, Fury.Behaviors.Unit target)
    9.     {
    10.         return true;
    11.     }
    12. }
    13.  
    You can chain multiple interfaces under the .Status class to make complicated statuses; for example, you could expand the DamageOverTime.cs status effect in the game to also make it stun targets by doing something like this..

    Code (csharp):
    1. using System;
    2. using System.Collections.Generic;
    3.  
    4. public class DamageOverTime : Fury.Database.Status, Fury.Database.Status.IPeriodic, Fury.Database.Status.IStun
    5. {
    6.     public Single Period = 1f;
    7.     public Int32 Amount = 10;
    8.     public UnityEngine.GameObject EffectPrefab = null;
    9.  
    10.     float Fury.Database.Status.IPeriodic.Period { get { return Period; } }
    11.  
    12.     object Fury.Database.Status.IPeriodic.OnUpdate(object tag, Fury.Behaviors.Unit unit, Fury.Behaviors.Unit from)
    13.     {
    14.         if (EffectPrefab != null)
    15.         {
    16.             var effect = (UnityEngine.GameObject)UnityEngine.GameObject.Instantiate(EffectPrefab);
    17.             effect.transform.position = unit.collider.bounds.center;
    18.             effect.transform.parent = unit.transform;
    19.         }
    20.  
    21.         unit.ModifyHealth(Amount, from, this);
    22.         return null;
    23.     }
    24.  
    25.     bool Fury.Database.Status.IStun.IsStunned(Fury.Behaviors.Unit from, Fury.Behaviors.Unit target)
    26.     {
    27.         true;
    28.     }
    29. }
     
  50. lionfart

    lionfart

    Joined:
    Mar 8, 2012
    Posts:
    10
    is ISpeed in your database easy to use like this or complicated than that ??
    and thx for quick repl by the way

    in stun script you forgot return true; :D
     
    Last edited: Mar 21, 2012