Announcement

Collapse
No announcement yet.

GameplayAbilitySystem (GAS) Documentation and Multiplayer Sample Project

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

    [TUTORIAL] GameplayAbilitySystem (GAS) Documentation and Multiplayer Sample Project

    Hi all,

    I wrote down my knowledge of working with the GameplayAbilitySystem plugin for the past year on my Paragon Demo into a sort of unofficial personal documentation and included a simple multiplayer-ready third person shooter sample project.

    Maybe it'll help someone learn how to use this powerful system.


    https://github.com/tranek/GASDocumentation


    Abilities implemented in the sample project:
    Ability Input Bind Predicted Blueprint or C++ Description
    Jump Space Bar Yes C++ Makes the character jump.
    Gun Left Mouse Button No C++ Shoots the gun. Shooting animation is predicted but the projectiles are not.
    Aim Down Sights Right Mouse Button Yes Blueprint Character walks slower and aims down ironsights.
    Sprint Left Shift Yes Blueprint Character runs faster while draining stamina.
    Forward Dash Q Yes Blueprint Character dashes forward at the cost of stamina.
    Passive Armor Stacks Passive Ability No Blueprint Character passively gains armor stacks up to 4. Each instance of damage reduces an armor stack.
    Meteor R No Blueprint Player expends mana to target an area and drops a meteor on enemies doing AOE damage and stunning them.








    Last edited by DanimalsOnParade; 03-05-2020, 05:38 PM.

    #2
    Thank you for this! Very detailed and useful documentation.

    Comment


      #3
      Character dashes forward. *Set up to be predicted but RootMotionSource AbilityTasks are bugged since 4.20.
      I am wondering if things in GAS will be fixed and updated time to time to newest UE4 Version. Do you know something about that?

      Thank you for this example!
      Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

      Comment


        #4
        Originally posted by TheFlow3k View Post

        I am wondering if things in GAS will be fixed and updated time to time to newest UE4 Version. Do you know something about that?

        Thank you for this example!
        It looks like a fix for the root motion source ability tasks is in master on GitHub, mostly likely we'll see it in 4.25 or you can cherry pick it into your custom engine now.

        https://github.com/EpicGames/UnrealE...5bd578e07e290c

        Comment


          #5
          Originally posted by DanimalsOnParade View Post

          It looks like a fix for the root motion source ability tasks is in master on GitHub, mostly likely we'll see it in 4.25 or you can cherry pick it into your custom engine now.

          https://github.com/EpicGames/UnrealE...5bd578e07e290c

          Thank you. I hope it is okay to ask something about GIT in general:

          I found the GAS history:
          https://github.com/EpicGames/UnrealE...eplayAbilities

          And I found the general pull requests:
          https://github.com/EpicGames/UnrealEngine/pulls

          In the GAS history I see what happens. How is the process of shipping these with an UE4 Version? Any chance to guess when all of these will be reviewed and get into the release?

          On Pull request I see state of changes and whats in 4.24, but the view is global and not for GAS. It is possible to see such a Pull Request Overview for GAS, to see whats in review and whats inside the last UE4 releases?


          Thank you!
          Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

          Comment


            #6
            I'm not really a git ninja so I can't answer that, but starting with 4.24 I'm compiling a high level list of changes to GAS for each engine version from the official engine update changelog and from undocumented changes that we find.

            Comment


              #7
              thanks for the quick 4.25 Update!

              Comment


                #8
                Is GASShooter written in such a way that I could build off it for a dedicated server type game with good server side validation? For example with the hitscan stuff, is there support for server side validating there isn't anything in between the shooter and the target, ie: no shooting through walls cause client said it could? Or would I be better off starting with my own initial project and building off of the concepts in the documentation?

                Comment


                  #9
                  Originally posted by jrussbowman View Post
                  Is GASShooter written in such a way that I could build off it for a dedicated server type game with good server side validation? For example with the hitscan stuff, is there support for server side validating there isn't anything in between the shooter and the target, ie: no shooting through walls cause client said it could? Or would I be better off starting with my own initial project and building off of the concepts in the documentation?
                  GASShooter is not a production-ready template. It's only a demonstration of some advanced GAS techniques. Server validation is left as an exercise to the developer as everyone's needs are different.

                  Comment

                  Working...
                  X