Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Alright, putting the final touches on Able v2.15, should be out early next week. This update was meant mainly to give the Ability Editor some love, so here's what's new:







    Able v2.15
    1. Added Backwards Stepping while the Ability is paused. This takes you back a frame (according to the 30 / 60FPS you have defined in the editor settings).
    2. Abilities will auto-pause if you Step forwards/backwards. No more pausing first.
    3. You can hit Left or Right on your keyboard to Step forwards/backwards.
    4. You can click or drag along the timeline to change your preview time forward/backwards.
    5. You can now Snap Tasks to whatever units you wish along the Timeline. Just enable the "Snap Tasks" option in the Editor settings and set the "Snap Unit" to whatever value you want to snap to.
    6. Play Animation Task will preview the animation properly while skipping around if you are using the Ability Animation Node Mode.
    7. Bug fix to Play Animation (Thanks to George.Xiao for that one.)
    8. Bug fix to Play Animation Tasks showing the wrong length in the editor if you modified the Play rate. (Thanks to shadowkami for reporting that one).

    I'd love to get the animation previewing to work with the other modes (Single Instance / Dynamic Montage) but I (currently) see no way to do that. I was hoping to leverage some of Sequencer's work to help with that, but it looks like Epic is basically forcing in their own Animation Nodes to accomplish that and even then they don't support Dynamic Montage. So, for now, it's only available for the Ability Animation Node mode.

    Also if you open up your Ability and just immediately jump the time around (which is completely valid) - if you don't see the animation changing, check your blend times. If you still don't see a change, try stepping forward then backwards. I'm not unconvinced that it takes a frame or two for an Animation to completely start for the first time.

    Please report any bugs.

    As always, your feedback is what keeps Able going. Thanks for your continued support!

    (Also this new photo system on the forums is terrible. )
    Last edited by ExtraLifeMatt; 01-14-2018, 04:25 PM.

    Leave a comment:


  • replied
    Originally posted by Aumaan Anubis View Post
    ^ This is one of the reasons I like this product so much, your dedication to improving its quality, adding fixes to any bugs you find and ones that users report. I don't think I've ever had something that got bug fixes this fast after reported.

    Seriously, good work
    <3 You've been there since the beginning Aumaan, I always welcome your feedback / suggestions.

    Leave a comment:


  • replied
    ^ This is one of the reasons I like this product so much, your dedication to improving its quality, adding fixes to any bugs you find and ones that users report. I don't think I've ever had something that got bug fixes this fast after reported.

    Seriously, good work

    Leave a comment:


  • replied
    Originally posted by mikecoker View Post

    Matt,

    I have the same error as these guys trying to test multiplayer code. Can you post the fix here so I (and future readers) can apply it to the engine? Thanks!


    [2018.01.09-15.21.46:013][ 3]LogLinker: Warning: Can't find file for asset '/Script/AbleEditor' while loading NULL.
    [2018.01.09-15.21.46:013][ 3]LoadErrors: Failed to load /Script/AbleEditor.AblAbilityGraph Referenced by PackageMetaData
    [2018.01.09-15.21.46:013][ 3]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file for asset '/Script/AbleEditor' while loading NULL.
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error: === Critical error: ===
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error:
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error: Fatal error!
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error:
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000060
    Of course.

    In BlueprintEditorUtils.cpp, add the following line at the top of FBlueprintEditorUtils::RegenerateBlueprintClass(...)

    Code:
            // Purge any NULL graphs
            FBlueprintEditorUtils::PurgeNullGraphs(Blueprint);
    There's an existing call to that method that exists further down, but it's possibly to access NULL graphs earlier in that method (which is what is happening).
    Originally posted by George.Xiao View Post
    Hi,
    I think you should debug all your OffsetLocation and OffsetRotation, this two should always be local space, but your code is world space at here and local space at there. And! your local space convert is wrong, your code is OutTransform *= FTransform(m_Rotation) then OutTransform.AddToTranslation(LocalSpaceOffset), in fact, your can just code like OutTransform = FTransform(m_Offset) * (FTransform(m_Rotation) * OutTransform) by simple.
    Your plugin is awesome, but many bug, i think you should debug overall, at least do some unit test. Thanks!
    Can you give an example of where the OffsetLocation / OffsetRotation are mismatched? I've had people request for World Space rotation / locations, so that's why there is an option for both - but it should be clearly defined.

    Also there should be no difference between using the FTransform(m_Offset) and simply calling OutTransform.AddToTranslation(m_Offset). One is allocating an entire FTransform to provide a simple vector addition (which happens during the Transform multiplication), the other just skips that temporary allocation. Were you seeing this fix things for you?

    And yes, bugs are a constant struggle. I've been trying to move towards more bug fixing rather than new features (beyond some editor improvements like Timeline scrubbing and stepping backwards that I'm working on now). Definitely report any bugs you see and I'll happily fix them. I use Able in my own game projects and I definitely fix any bugs I find myself and then broadcast those out.

    Leave a comment:


  • replied
    Hi,
    I think you should debug all your OffsetLocation and OffsetRotation, this two should always be local space, but your code is world space at here and local space at there. And! your local space convert is wrong, your code is OutTransform *= FTransform(m_Rotation) then OutTransform.AddToTranslation(LocalSpaceOffset), in fact, your can just code like OutTransform = FTransform(m_Offset) * (FTransform(m_Rotation) * OutTransform) by simple.
    Your plugin is awesome, but many bug, i think you should debug overall, at least do some unit test. Thanks!
    Last edited by George.Xiao; 01-11-2018, 01:57 AM.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post
    [USER="15849"]
    Knaarke So that crash is due to some funkiness when recompiling the Blueprint that causes nullptrs in the Blueprint Graphs when the game launches in standalone via the Editor. It's a one line fix (I've reported it to Epic a few weeks back - but then the Holidays hit), so if you don't mind editing Engine code - I can give you the fix.
    Matt,

    I have the same error as these guys trying to test multiplayer code. Can you post the fix here so I (and future readers) can apply it to the engine? Thanks!


    [2018.01.09-15.21.46:013][ 3]LogLinker: Warning: Can't find file for asset '/Script/AbleEditor' while loading NULL.
    [2018.01.09-15.21.46:013][ 3]LoadErrors: Failed to load /Script/AbleEditor.AblAbilityGraph Referenced by PackageMetaData
    [2018.01.09-15.21.46:013][ 3]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file for asset '/Script/AbleEditor' while loading NULL.
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error: === Critical error: ===
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error:
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error: Fatal error!
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error:
    [2018.01.09-15.21.46:724][ 3]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000060

    Leave a comment:


  • replied
    Originally posted by Aumaan Anubis View Post
    I would love this actually! O_O
    Me too!

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post
    But, maybe I'll just break them up into various Genres or behaviors and let people select which they want rather than trying to make them so generic.
    I would love this actually! O_O

    Leave a comment:


  • replied
    Originally posted by shadowkami View Post
    How can i play a TrailData particle?
    I'm not sure what a TrailData particle is? That may be specifically for the Weapon Trails system that uses Anim Notifies - which you would put in your Animation itself, not within Able.
    Originally posted by shadowkami View Post
    I play a particle in able class,and I set Ability Properties "Loop" is true,when I cancel this ability node,the Client's particle destroy,but the server is not.
    I deselect the "loop",there are destroy true.
    Particles should never play on the server, or are you talking about a Listen server? I'm not sure why looping would change anything, Able simply passes all that info to the Particle system. You may want to check and make sure your Particle is setup properly.
    Originally posted by Ubersoldat42 View Post
    Hey so I'm trying to create a parry system for some of the abilities. The idea is that, if an enemy is attacking, if my parry bool is set to true, then the collision query from their attack should branch into a stagger ability, instead of go all the way through.
    I can't seem to understand how custom branch conditions are used at all. Any help would be greatly appreciated.
    Also, maybe using branching isn't the right method? Maybe I should cancel the ability and run some check in the NPC logic?
    You could use a Branch for that (Add a Custom Branch condition that just checks for the parry bool and set your parry Ability as the Branch Ability). Or try your second approach where on your Player, when damage is dealt, if you are parrying - don't apply the damage, but instead call some "OnParried" Ability on your NPC that just cancels the current Ability and instead plays the staggered Ability.

    Personally I think the 2nd approach is a bit more flexible and what I would likely go with.

    Leave a comment:


  • replied
    Hey so I'm trying to create a parry system for some of the abilities. The idea is that, if an enemy is attacking, if my parry bool is set to true, then the collision query from their attack should branch into a stagger ability, instead of go all the way through.
    I can't seem to understand how custom branch conditions are used at all. Any help would be greatly appreciated.
    Also, maybe using branching isn't the right method? Maybe I should cancel the ability and run some check in the NPC logic?
    Last edited by Ubersoldat42; 01-08-2018, 07:41 AM.

    Leave a comment:


  • replied
    I play a particle in able class,and I set Ability Properties "Loop" is true,when I cancel this ability node,the Client's particle destroy,but the server is not.
    I deselect the "loop",there are destroy true.

    Leave a comment:


  • replied
    How can i play a TrailData particle?

    Leave a comment:


  • replied
    Originally posted by George.Xiao View Post

    First, I answer your question, we create a game just like Paragon.
    - Yes, i need jump to location or jump to actor, if hit obstacle it will stop, just like AddMovementInput node in CharacterMovement, I have test it in my local space.
    - No, i don't, it just based on Targeting.
    - Yes, i need a decal show on that location, and user can cancel.
    - My game is purely physics to player, but AI using Nav mesh.
    So, if you have multiple versions, you can let us select, we will be very pleased.
    For something like that, I would definitely make your own. You know your game best so you can write a Task for it that fits it. Able provides a very easy API to add Tasks. You can take a look at some of the simpler Tasks (like ablPlayParticleEffect ) and just fill in what you need.

    I get emails from people using Able for ARPGs, Turn Based RPGs, MMORPGs, Fighting Games, FPS, Third Person Games, Platformers, and MOBAs. I try to make sure whatever I add, brings value to all genres and not end up going down the rabbit hole of adding features for just one genre.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Yea most of those are designed with Paragon in mind. The issue is making it more genre agnostic.

    - Does your game need to do a jump? If so, what happens if you hit an obstacle mid height? Do you stop, or just clip through it?
    - Do you need to query some other system for the mouse location? Or is it simply based on Targeting?
    - Do you want the user to be able to target a ground location and possibly cancel out? Does your system need to draw a special decal while picking that location?
    - Does the system need to use the Nav mesh (RTS/MOBA)? Or do you go purely physics (Action/FPS)?

    I've made multiple local versions, but none of them I was very happy with. It's honestly one of the Tasks that I think you probably should write yourself. But, maybe I'll just break them up into various Genres or behaviors and let people select which they want rather than trying to make them so generic.
    First, I answer your question, we create a game just like Paragon.
    - Yes, i need jump to location or jump to actor, if hit obstacle it will stop, just like AddMovementInput node in CharacterMovement, I have test it in my local space.
    - No, i don't, it just based on Targeting.
    - Yes, i need a decal show on that location, and user can cancel.
    - My game is purely physics to player, but AI using Nav mesh.
    So, if you have multiple versions, you can let us select, we will be very pleased.

    Leave a comment:


  • replied
    Originally posted by George.Xiao View Post
    Hello,
    Many people want the "Move To" task, so do i, and you said it is a little hard. So, I give you a suggest, you can reference "GameplayAbilities" plugin created by Epic Game, like picture below. Hope you can do it, if you don't i must to do by myself. Very thanks!
    Click image for larger version

Name:	20180107134553.jpg
Views:	38
Size:	75.2 KB
ID:	1409150
    Yea most of those are designed with Paragon in mind. The issue is making it more genre agnostic.

    - Does your game need to do a jump? If so, what happens if you hit an obstacle mid height? Do you stop, or just clip through it?
    - Do you need to query some other system for the mouse location? Or is it simply based on Targeting?
    - Do you want the user to be able to target a ground location and possibly cancel out? Does your system need to draw a special decal while picking that location?
    - Does the system need to use the Nav mesh (RTS/MOBA)? Or do you go purely physics (Action/FPS)?

    I've made multiple local versions, but none of them I was very happy with. It's honestly one of the Tasks that I think you probably should write yourself. But, maybe I'll just break them up into various Genres or behaviors and let people select which they want rather than trying to make them so generic.

    Leave a comment:

Working...
X