Enemy Skills by Example - Jump Attack | AI Series Part 21




Published: 13 Jul 2021

In this tutorial I show how to set up the foundation for enemies using abilities or skills and implement a basic gap-closing skill - Jump where the enemy AI will jump to the player's location then resume following.


With this foundation for abilities all skills will share some common properties such as Damage, Cooldown, and UnlockLevel. Any skill we implement can add additional properties such as MinJumpDistance and MaxJumpDistance to further restrict when a skill can be used.


In this basic example, every enemy will manage their own skills based on an array of SkillScriptableObjects and will check every frame if they can use any of their skills, and if so, they will use that ability. You can extend this to have smarter logic and more optimized logic by having some EnemySkillManager class that controls when an enemy can use a skill, but we're not looking at that in this video.


In the next couple of videos we'll take a look at some more use cases like channeled abilities, instant-cast abilities, and use-on-target-area abilities.


๐Ÿ‘จโ€๐Ÿ’ป As always, all code from this video is available on GitHub: https://github.com/llamacademy/ai-series-part-21


๐Ÿท๏ธSave 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: https://www.jetbrains.com/store/?section=personal&billing=yearly


๐Ÿ“š Resources

โšซ Part 1 of this subseries (AI Series 21) - YOU ARE HERE! Foundation and Jump: https://youtu.be/faNV-hWu07o

โšซ Part 2 of this subseries (AI Series 22) - Fire Breath: https://youtu.be/N0MxweZG88o

โšซ Part 3 of this subseries (AI Series 23) - Ice Lance: https://youtu.be/F0vNZ6L94dM

โšซ Part 4 of this subseries (AI Series 24) - Poison Gas: https://youtu.be/6ZrX6hfV094


As usual with the AI Series, we're using the NavMesh Components: https://docs.unity3d.com/Manual/NavMesh-BuildingComponents.html not the built-in navigation system.


๐Ÿงก Believe in LlamAcademy's mission and have received value from the videos? Here's how you can show your support:

๐ŸŒŸ Patreon: https://www.patreon.com/llamacademy

๐ŸŒŸ YouTube Member: https://www.youtube.com/channel/UCnWm6pMD38R1E2vCAByGb6w/join or click the Join button on any video

๐Ÿ“š Take my Unity ShaderGraph Course:

https://www.gamedev.tv/p/unity-shader-graph?affcode=45216_kuvg0bp7

๐Ÿ‘• Get yourself some LlamAcademy merch: https://llamacademy.myspreadshop.com/

๐Ÿ’ธ Use my Affiliate Link for Humble Bundles https://humblebundleinc.sjv.io/9g4ak4

๐Ÿ’ธ Publisher Sale! 50% OFF an entire publisher's Assets! Publisher changes weekly! https://assetstore.unity.com/publisher-sale?aid=1101l9QvC (affiliate)

๐Ÿ’ธ Save up to 50% on NEW Assets: https://assetstore.unity.com/?new_sale=true&orderBy=1&aid=1101l9QvC (affiliate)


Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.


Connect on Social Media

Some links may be affiliate links, which at no additional cost to you, gives LlamAcademy a small portion of the purchase.