The Action RPG sample game has gone through changes since its initial release, and in this week’s livestream Sam Deiter and Paulo Souza will walk you through what has changed and why. They will demonstrate how you can add new weapons and abilities, as well as address some of the questions that were not answered in the previous Action RPG stream.
Looking forward to it (I didn’t follow what has been updated so far in ActionRPG)! Though it is written for SinglePlayer and MultiPlayer setup needs to be different, it is still a good resource of how designers intended GAS to be used.
An overview of WaitNetSync usages/client side prediction might be interesting for many.
1- the system aimed for performance. you cant get great performance with blueprints. ue c++ is not that complicated. i actually find blueprint way more complicated than c++
2- it was used in paragon and fortnite. so i would say it is solid.
3- not every game needs GAS so it makes sense to make it a plugin. why is this a problem at all ?
4- why would you save attributes level wide ? you should put these attributes in your characters.
Yes, BP is slower in general but for some projects you won’t even notice the difference in performance and it would be a user friendly feature if the system would work without having to touch C++.
Sounds good I’m not sure where I read about uncompleted features / the system’s current state but as far as I remember, there were some unfinished parts
Just curious about it
I’m just interested how the system would handle those situations and how the workflow would look like. Let’s say you want to double the attack speed of all enemies for 30 seconds. Even for the ones that have not actually spawned when the ability was used. When they spawn, they should be affected by the buff. So I wonder about the correct way to add such a feature to a game with the system.
I’m really hoping there will be a better documentation about the system soon, because I think it’s extremely powerful and well designed.
About the questions, i hope you guys can enlight me
I’m trying to create a action rpg game by myself, but honestly i’m having some issues.
1- I’m trying to implement a dash system like nier automata (you can dash 8-way and them sprint) but somehow i can’t manage to make it work. I’m stuck there for days trying to get likeish results
2- How you would setup combos such as O + X, Square, Upper directional + X? I cant get nowhere near to combos like Bayonetta/DMC. How to setup 2 keys input in the combos and make them changeable between themselves?
3- What about Grab enemies and finish them off like god of war? Can’t even imagine how this works
Hi! Great template! Have used it as a base for my souls-like for the past 6 months now, and have found it a great resource for learning the GameplayAbilities system!
How would you make an equipped item change your stats (such as increasing attackpower)?
What changes/approach would be needed to make loot with generated stats? Wouldn’t the weapons assets currently stored as data assets be unsuitable to that purpose? (functionality scenario: you trade with a merchant, and his **items **for sale have randomly generated stats that change every time you open the store, if you buy an item it is stored in your inventory with the stats you bought it with, and it is saved between play sessions, essentially having become a “unique” asset.)
How would you make a GE_GameplayAbility that takes “special input”, such as the first button press throws out a mine, and a second button press detonates it? I wonder about this since I want to avoid cluttering up my playercontroller or character with variables and functions pertaining to the input of specific abilities.
I and other developers in my team using ability system from when it was published. It is a great framework to use when one trying to build some moba like game. So, at first, I want to say thank you Epic for publishing it!
For discussion on the Livestream it would be very useful to clarify this topics:
Attribute calculation flaw. It is not clear from source code the order, conditions, and params of events like PreAttributeChange, PostGameplayEffectExecute and so on.
In ActionRpg there is example of using PostGameplayEffectExecute to callback some event in game on Instant Effect application. But how to callback some event when effect with duration is applied to buff character speed on 10 sec for example?
There is specific issue with effect recalculation. Lets say Character has move speed attribute (base=500,current=500). Then we buff it for 10 seconds like so (base=500,current=700), and then we apply instant effect on level up to buff speed on 100 more points. We expect move speed to become (base=600,current=800). But from ability system we get some other numbers like (base=570,current=750), i don’t remember exactly what the latest numbers are, but I’am sure they are not that we are expecting them to be.
Please, give us more info about Modifiers, Executions, ExecutionCalculation and their calculation rules in Effects. Can we use them to make Effects with damage based on distance from explosion? For now we are using SetByCallerMagnitude node with calculations on Blueprint side, but it would be great to now how to do it with custom ExecutionCalculation or so.
May be we should have effect modifiers calculation algorithm explained in the docs?
Local Predicted Abilities are supposed to be great in multiplayer environment, but there is lack of info and examples of how the one should make such ability blueprints in the right way. There are some notes in source code, but it is very complex system to understand from sources without additional docs and info.
Can you tell us more info about using Ability Targeting actors?
What is the right workflow to use Gameplay Cues?
We have specific issue with Gameplay Cues. They are working on owning client and listen server from the Editor, but in the Development build particles that they should show are absent. Do we need some additional settings for them to be present in Development or Production builds?
Please, explain clearly the PredictionKeys, best practices for revert the Ability when server denies its execution and tips for weak precition. This is very unclear everywhere. Thanks!
That’s okay. Hopefully you guys will spend more time on the questions being asked here.
My main question which I hope is addressed is how to correctly set up abilities that are Locally Predicted for a multiplayer environment. At the moment, if I spawn a projectile in the ability, it spawns 2 of them, one for the client and one on the server. This looks bad from the client POV because he sees two projectiles. The Proxy clients only see the Server spawned projectile which is fine.
So, what’s the best practice for setting up projectiles for a multiplayer environment?
I am trying to expand the equipment system in the example so that each item can have multiple abilities, and when the player equips an item in the inventory they can choose what skill will be used (E.g.: The weapons have multiple possible attacks, and the potions can be drunk or thrown). and an item needs to be wielded to be used (e.g. A potion can be wielded just like a weapon)
What do you think would be the best way to implement this?