Search Unity

Third person cover controller

Discussion in 'Assets and Asset Store' started by EduardasFunka, May 23, 2017.

  1. eliteslayer

    eliteslayer

    Joined:
    May 12, 2013
    Posts:
    64
    Hey, was wondering if a feature to help create a story mode could be coming. I can create many scenes with cool combat, however I would like to implement a story to it, when I say story I mean the following.

    - Objectives (from killing a target to escaping and everything in between)
    - Dialogue between characters (weather it's a UI text dialogue or speech dialogue between characters based off of triggers and or player decisions or even cutscenes)
    - Cutscenes
    - Friendly AI (with different features such as he follows you or you follow him and others)

    I don't expect this all to be in the kit this is just what I would consider a basic story mode. Of course some great assets are out there that could help such as adventure creator or cutscene creator which would save time. So if integrations for the world you guys deem not for this kit could come and a documentation based on the intergrating or tutorial could come out. That would be awesome! Anyway just a suggestion because I haven't scene any of this on the store yet and I've searched several times and I think it would expand the kit and make it more awesome. Thanks.

    And I hadn't one question when multiplayer comes out will it also include coop?
     
  2. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Hey, those would be nice additions to the asset. Will add those animations for our next recording session and when we have done with current promises to you guys this could be next direction.
     
  3. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    To the first part of your post, I would say there are amazing tools right now on the store to integrate. there are tools that take into account AI mood, his daily routine etc...

    about multiplayer, we plan to update asset before Christmas. We do not plan co-op we make sure that controller works in a multiplayer environment then it's up to you guys to make multiplayer rules for your game.
     
    AshyB, frbrz and LoDx like this.
  4. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    So what changed in 1.3.
    I'd like to say sorry that we made this BIG update. From now on we will make smaller updates so it's easier for you guys to add changes to your project.


    --- Summary of new features

    Added Grenades
    Added an Alerts system where various sounds and events notify AI of an enemy presence.
    AI can attack non-character objects (for example, security cameras).
    Added character rolling.
    Added AI patrols.
    Added AI investigations.
    AI can forget about the enemy.
    Hitboxes. Characters take different damage depending on where they are hit.
    Added idle state when characters are not aiming while standing still.
    Camera collisions, obstacle avoidance.
    Arms can aim independently from bodies.
    Added character sprinting.
    Character sleep system. Components are turned off for characters that are far away.
    Beginnings of AI group behaviour. The number of aggressive AI attacking at the same time can be limited.
    Better AI communication. Information about the enemy and investigation is passed between the AI.
    Beginnings of an obstacle fading system.

    --- Additions

    Added Actor component. Marks a possible AI target or a friend. Can be used for objects other than characters.
    Covers keep track of their users. Used by the AI to quickly find out if a cover is available for the taking.
    Added grenade throwing to the character controllers. Player controllers manage path and explosion previews.
    Controllers manage the aim state of the CharacterMotor. Idle when not moving or zooming.
    Added CameraObjectFader that makes obstacles transparent to allow unobstructed view.
    Cleaned up and moved a lot of AI code to the AI folder (AISituation, AIUtil, Positioning, State scripts).
    Added AIGroup script to manage group behaviour. AIs are added to the group via the AIController component.
    Added Alert script.
    Added AI states related to patrolling, grenades and being idle but enemy aware.
    AI takes patrol when not alerted.
    AI can look around when investigating or patrolling.
    AI stops suppressive fire when the enemy no longer shows up after some time. Controlled by the SightSustainTime in AIViewSettings.
    AI comes to investigate when the enemy is unseen for a long period of time. Controlled by EnemySustainTime in AIViewSettings.
    AI can throw grenades.
    AI takes information about the enemy and investigated threats from the nearby friends.
    Added a static AlertedAI property to the AIController for a convenient way to query all active AIs.
    CharacterMotor throws grenades.
    CharacterMotor can roll in different directions.
    CharacterMotor sprints when running with a gun. Aiming is disabled during sprints.
    Added InputMoveRight and other helper methods to make it convenient to control CharacterMotor using scripts.
    Added CharacterSleep script.
    Added an IK patrol editor.
    Added hitbox generation utility to CharacterHealth.
    Added BodyPartHealth. It registers damage done to a body part and passes it to CharacterHealth.
    Added Minimal IK Setup utility to CharacterMotor in order to have a convenient way to add IK to less important enemy characters.
    Added AI memory related settings to AIViewSettings.
    Added investigation related settings to AIDistanceSettings.
    Added AIPatrolSettings and AIGrenadeSettings.
    Added GrenadeReactionTime to AIFightingSettings.
    Added CharacterAlerts, CharacterEffects, GunAlerts, GunSounds.
    Added InHierarchyOf, AngleOfVector and DistanceToSegment to the utilities class.
    Added DelayedDestroy utility.
    Added RollSettings and TurnSettings.
    Added a new IK chain for grenade throwing.
    Added Grenade, GrenadeList, PathPreview, ExplosionPreview, GrenadeBar, GrenadeSettings scripts.
    Added StandardFader script that manages transparency of objects with standard materials (not used in the demo).
    Added LowCoverGrenade camera setting.
    Added RandomAudio script.
    Added ParticleCameraMotionBlur as a helper to add camera motion blur to particles (not used in the demo).

    --- Changes and fixes

    Removed NoticeDistance where AI notices a non-crouching enemy in any direction. Replaced by the Alerts system.
    No more InputSpace method in the CharacterMotor. Climbing, jumping and cover taking is determined at the controller level.
    CharacterMotor can turn its head independently from the aiming direction.
    CharacterMotor queries surrounding covers only once every few frames. The behavior is regulated using CoverUpdateSettings.
    Fix some sounds and effects playing even after characters death.
    Remove CharacterSide. Teams are determined by the Actor component.
    The camera enters corner zoom more smoothly.
    Entering and exiting covers from their sides uses different thresholds.
    Adjacent covers are found at the beginning of a scene and are no longer dynamically quered all the time.
    Optimised EnemySight.
    CharacterMotor itself doesn't take cover automatically now. Instead, character controllers tell it to take cover when needed.
    Removed IsAuto from CoverSettings and added AutoTakeCover to ThirdPersonController.
    Modified default camera settings to keep the character aiming at the same spot when zooming in.
    Collider capsule is turned off when climbing and vaulting. Such behavior can be tweaked. Added such settings to ClimbSettings.
    Changed GunEffects to only spawn prefabs to make it consistent. Use GunSounds for the sounds.
    Added some optimizations. Component lookups are cached wherever possible.
    Changed how the animation system works with weapons. Can equip and unequip weapons of the same type in sequence.
    Changed how the motor prompts guns to fire. Fixes Character taking a peek from a cover and firing two times instead of one.
    Use SceneManager.LoadScene instead of Application.LoadLevel when resetting after player's death.
    Fix IK for scaled characters.
    Moved Characters.cs script to the Characters folder.
    Changed character turning. Made the turn speed independent from animations.
    Various fixes related to AI pathfinding and walking behavior.
    Various character animator improvements and changes. Animation transitions are smoother and more stable.
    Cleaned up various component requirements. Added RequireComponent where needed.
    Various other small refactors, fixes and changes in CharacterMotor and AIController.

    Thanks,
    Ed
     
  5. Unplug

    Unplug

    Joined:
    Aug 23, 2014
    Posts:
    256
    EXCITING !!!! :eek::D but look like a lot of work to update :O) it's worth it ! ;)
     
    EduardasFunka likes this.
  6. uni7y

    uni7y

    Joined:
    Jul 23, 2012
    Posts:
    287
    2.5D Platformer Engine is out :) will you open a forum for that too or will you support it here?
    Thanks!
     
  7. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Will open new one.
     
    uni7y likes this.
  8. uni7y

    uni7y

    Joined:
    Jul 23, 2012
    Posts:
    287
    Great!
     
  9. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    Is your Topdown controller still included in the main Third Person controller ?
     
  10. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Yes
     
  11. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Maybe it's interesting to you guys
    Commits to git since 1.3 :
    -Add DebugText
    -Add AI debug, fix some bugs
    -Less debug clutter
    -AI updates its threat when attacked by anyone
    -More fixes on the navmesh
    -Remove the aim back from tall cover state. More AI fixes
    -Improve corner behavior
    -Fix AI retreats
    -Fix right corner aiming, tweak navmesh
    -Fix investigations
    -AI avoids firing at friends

    I can continue if it's interesting to you guys. :)
     
    Last edited: Oct 4, 2017
  12. ramiam

    ramiam

    Joined:
    Mar 8, 2013
    Posts:
    1
    this good update I think today is good time to pay this system because many people thy dot update his assed I will try to pay this in near time thank u
     
    EduardasFunka likes this.
  13. eliteslayer

    eliteslayer

    Joined:
    May 12, 2013
    Posts:
    64
    Hey thank for reply, I know this may be getting off topic, but do you know of any the assets you mention? I don't know of any to help with this kit create a campaign, objectives, talking etc.... Thanks.

    And will it be possible to get a first person camera view as well at some point?

    Thank you
     
    EduardasFunka likes this.
  14. imump

    imump

    Joined:
    Jul 3, 2011
    Posts:
    55

    1. Dialogue System
    2. Quest Machine
    3. Love/Hate
    4. Behaviour Designer
    5. NodeCanvas

    Everything you need :p
     
    EduardasFunka likes this.
  15. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    We will make all our assets compatible with 5.6xxx So if you working on 5.6 you don't have to upgrade if you don't want.
     
  16. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Hi,

    Can we make custom cover structures ? Or can we use premade covers only ?
    Can multiple ennemies use the same cover ? Does the cover needs to have multiple pre made positions ?
     
  17. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    We have 2 cover objects tall cover and low cover. You can scale them rotate move mix. You can ctreate circle cover where character moves from tall to low every meter. So yes you can make custom structures.
    Enemies can use same cover there is parameter you can tweak how close they stack.

    Goodluck with your game!
    Ed
     
    AshyB and zenGarden like this.
  18. uni7y

    uni7y

    Joined:
    Jul 23, 2012
    Posts:
    287
    Where can I find it?
     
  19. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    uni7y likes this.
  20. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    @Ukvedys your asset looks really good. I will keep an eye on it and see how it goes :) keep up the good work and keep posting updates.
     
    EduardasFunka likes this.
  21. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Thanks this week new Ai update comming
     
    Unplug likes this.
  22. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    EDIT : I baught the top down shooter, it's perfect plug in for top down and cover system.
     
    Last edited: Oct 10, 2017
  23. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    1.3.1 Uploading to the store



    Features:

    -Implemented friendly fire prevention for the AI
    -Many AI behavior and decision making fixes and improvements
    -Implemented AI debugging and visualization
    -Changed how peeking over corners works
    -Changed how aiming back from tall cover works


    AI Debug: See What AI thinking so they won't take over the world! :)
     
    Last edited: Oct 11, 2017
  24. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    Your topdown video is for 1.2 I think. I'm curious to see how new 1.3 features supported in the topdown environment. Mostly interested to see the throw grenades in action from a mobile interface point of view !!

    thx
     
  25. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Does they benefit top down plugin ?
     
  26. Unplug

    Unplug

    Joined:
    Aug 23, 2014
    Posts:
    256
    can't wait to update that in my project. It's probably the next big thing we will do !!! can't wait to see the result also of the rest too !!! rock on
     
    EduardasFunka likes this.
  27. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Yes top-down has same AI. it uses the same code. we counted how many hours we spend on a controller and AI so now AI beats controller. the more we spend time on AI the more interesting game becomes. And I think it benefits most of you guys because just controller is cool to show off but if you really want to make interesting game AI contribute more to it. (just my opinion)
     
    zenGarden likes this.
  28. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    I'll try to find some time to record that video... or maybe I'll upload new version to GP so you can try in action.
     
    f1chris and 3meish like this.
  29. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    Whatever is less time consuming for you guys. Don't want to slowdown development of this very interesting asset ;-)
     
  30. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Bought this, outstanding work, can't wait to dive into it!... Very cool!
     
  31. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It would be nice to include :
    - melee ennemies (dogs, zombies or whatever) with the option to run from cover too cover to reach the player.
    - mixed ones able to melee when they are not far from player and use ranged fire when they are near.
     
  32. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    How do you do a roll ? I am having so much fun even with the prototype scene, this asset is astounding.
     
  33. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Thanks! reading nice words on a forum and in the review section re-energies us and confirms that we on the right track
    Thanks again!
     
    radiantboy likes this.
  34. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    We tried to add mele in 1.2 but there where some spine problems with our animations and IK. Now we reworked animator so we should revisit those mele animations in next patch.
    for zombie animations, we would love to add a patch with zombies but those animations cost money to make we have so many cool ideas what we would like to add but the limiting factor is animations I even thought maybe to make a Kickstarter or patreon to crowdfund for those animations as right now we cant really afford to record those cool animations.
     
  35. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Zombies was only as example and there is too much zombie games already, i was meaning for any creatures (spiders, golems etc...).About animations, there is thousand on Asset Store, for walk/run/idle/melee it's really standard animations for melee ennemies.

    Anyway, i can modify the code to get it working with my own animations and models if its is some uncertain not planned feature.
     
  36. Anhella

    Anhella

    Joined:
    Nov 18, 2013
    Posts:
    67
    Good Day! i have 2 questions. 1)how can i add multiple weapons to character without them Being Seen until called? 2) i Got My Character In But When I Walk towards The enemy, they Will Turn & Look at Me But will Not attack. how Do I fix? Thanks In advance
     
  37. reddo1987

    reddo1987

    Joined:
    Aug 1, 2014
    Posts:
    35
    Hi,
    I bought the mobile top-down version and I want to share my ideas that can applied for both plugins:

    1)Door opening (someone already said that) but I think that we need to open door also with switches, bottons etc.

    2)Weapons characteristics:
    DMG: How much damage is the weapon capable of doing per shot.
    RPM: Defines how fast – how many Rounds Per Minute – your weapon can fire.
    MAG: How many rounds can be fired before your magazine needs to be reloaded.
    Reload Speed: How quickly the weapon can be reloaded.
    Range: Max distance (Optimal Range) before the weapon is no longer effective. The damage applied to enemies at greater distances is lower.
    Stability: How hard the weapon is to control when firing for a prolonged period.

    For the last one a customized inspector where we can change all these parameters will be awesome.

    What you think about it?
     
    AshyB likes this.
  38. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    • Added CameraObjectFader that makes obstacles transparent to allow unobstructed view.
    How do you use that component ? attach it to the wall object or the cam ?
     
  39. Unplug

    Unplug

    Joined:
    Aug 23, 2014
    Posts:
    256
    @reddo1987
    look what i have done for door opening. It is an extension to a early release asset. I was the one mentioning door and we went through to build a system and now we have to work out a way to connect both. search forum for "doorpro-peeking-extension-and-more"


    @f1christian
    i'm sure you have to link it to either the cam or any empty gamecontroller object. I've build one before it got added to this asset and it's certainly NOT a "per object" script. it would be insanely long to attach it to everything.
     
  40. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
  41. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Hi guys,

    We redoing AI once again. will push to store on Friday. AI characters will be able to circle around you. Plus big foundation how AI searching for Player. Now a search is dum. AI just goes to the direction it last saw you. after update, AI will look for covers and approach covers with care.
     
    zenGarden likes this.
  42. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467
    Also, I created a support forum on our website. Because our asset got pirated, sales dropped to the ground and I get support requests even from pirates.:mad:
    So now I do support only by email or in my private forum where I can filter people who purchased an asset from me.
     
  43. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Nice news.

    Will you use slot positions system around the player (CryEngine like) to get ennemies position around ?
    (and check if a slot is valid : empty space, no other dynamic character entity around)

    How to make AI able to work with our own characters and scripts ?
    I mean AI aware of our characters and able to navigate and position while avoiding them.

    Keep up the great work :)
     
  44. EduardasFunka

    EduardasFunka

    Joined:
    Oct 23, 2012
    Posts:
    467

    We do intend to add a system for enemy spawning and generating waves (if that's what you meant by slots like in the CryEngine). The functionality is in the works.

    As for the making AI work with own characters, the system is under a process of being redone to be modular and split into components. Functionality that deals with movement and aiming will be confined to specific components that you will be able to replace with your own. Hope that helps.
     
  45. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    Awesome. Keep up the good work. I'll be purchasing next week while its on sale ;)

    Look forward to more updates.
     
  46. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    No, i was meaning the player character has for example 8 spatial child positions (Empty gameObject) around 360°, each child position is a slot position.

    Ennemies can decide to move in front, backwards or sides of the player character just assigning themselves a slot position. It could be a slot positions manager for the player.
    This way ennemies always know if there is some free position available around the player, or if they must wait.

    This prevent to have ennemies very stupid stacking behind others or running in circle around the player lol
    Not sure it's more clear ?

    I like that.

    I would like some lightweight version of "Actor" class like "ActorOther" that we could dorp on our own character systems.
    This way Tps cover AI would be able to detect if they are friendly or not and if they are blocking the way or apply damage and receive damage from other external character system.
    Perhaps something like :
    - Side (team Id friendly,ennemy or neutral)
    - IsEnabled
    - isAlive()
    - doDamage()
    - ReceiveDamage()
     
    Last edited: Oct 19, 2017
    Gametyme likes this.
  47. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    Sounds like something that would bloat the character controller and add more complexity. Might be better off just having a trigger sphere on each npc and then they would know "theres no room left at the player"....
     
  48. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    A sphere trigger could tell there is another AI and no place , but it won't tell you if there is space available in other directions ?
    Another way is let the AI character calculate vectors to get positions around the player and check if there is space with a simple Actors distance to that position.

    Another great feature is team AI; with a leader and other AI attacking or doing fire supression from different sides (relative within leader to player axis).
     
    Last edited: Oct 20, 2017
  49. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    Do what everyone else does. Finish your core controller asset, then release separate addon packs people can buy. That way people can get stuff like zombie animations/zombie ai and people who dont want the extra bloat for something they dont want, dont need to get it. Everyone wins.

    You could even do an advanced team ai pack like mentioned above. Have a basic one that ships with the controller so people have something to shoot at, then release a separate awesome ai pack. As long as its reasonably priced I'd buy it :)

    Just dont do what some people do and release a third person cover shooter controller and not actually include any cover abilities. Then go cold on the forums. Still waiting several months invector :p
     
    Last edited: Oct 20, 2017
  50. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Hi @Ukvedys ,

    I would like to see the plugin become even more modular :

    1) AI able to work with any player controllers and systems

    I have my own Fps controller with my own weapons (no cover system only crouch) and i would like to still be able fight against Tps Cover AI characters (AI working the same way like detecting player, using covers and fghting).

    This would mean soem script for the player to be recognized and some script for weapons to apply damage to Tps Cover AI.


    2) Able to mix and use our own Npc controllers and system


    I have custom ennemies and Npc scripts and controllers not related to Tps cover plugin.
    Adding some script to each of them, the Tps Cover AI will be able to recognize them as friendly or ennemy and be able to navigate propertly without colliding with them.



    I think those are important to get some plugin lot more flexible and more adaptable for anyone.
    Able to work with any player or character controller.

    I have a practical example action-rpg game where i would like to use Tps Cover AI :
    - player can switch between Fps and Tps
    - player can crouch only
    - player can enter some mobile armor vehicle or mecha
    - custom ennemies and scripts (aerial, jumping ones)
    - custom allies characters and robots with custom scripts

    I already got the plugin, but what about making some chaper plugin (like 20$ to 30$) with only AI system using covers (no player controller) anyone can plug in their game; with all above described modularity ?