Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  5. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

[50% OFF!] Emerald AI 2.0 - AAA Quality AI with Built-in UI, Ranged Combat, Waypoints, and more!

Discussion in 'Assets and Asset Store' started by BHS, Jun 26, 2015.

  1. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    The newly rewritten and redesigned Emerald AI 2.0 allows developers to quickly create engaging dynamic AI with 100's of AAA quality features, all without having to write a single line of code! Emerald's editor is designed to make creating AI easy, yet incredibly customizable. Emerald caters to all kinds of developers and offers everything users would expect from an all-in-one AI system.

    Create any AI imaginable such as wildlife, zombies, wizards that shoot magic, NPCs, and more! Emerald's Setup Manager allows users to create AI in just seconds. Emerald includes 17 example scenes, well documented code, and a self-documented editor allowing for a low learning curve. Emerald's documentation, tutorial videos, scripting reference, and support are all accessible right from within the editor.


    Buy | Demo | Documentation | Script Reference | Tutorials

    Emerald AI 2.2
    Version 2.2 is currently in development. To see all that it has to offer, see my post here: https://forum.unity.com/threads/rel...aypoints-and-more.336521/page-49#post-3796129

    Note: The following demo videos are from Emerald AI 2.0's beta footage.

    The ranged combat system supports multiple kinds of projectiles, such as arrows and magic effects, and uses Emerald's built-in object pooling system. Best of all, the ranged combat system does not require any coding. Everything can be setup through the Emerald Editor.


    The quest in the video was achieved by not altering or adding to any portion of the Emerald script itself. The quest was done be using an external script to change the AI's action during runtime.


    The Waypoint Creator allows users to set waypoints for the AI to follow and patrol. An AI will use its Behavior Type to react to the targets it sees. This AI attacks any targets it sees acting like a guard patrolling its route. Waypoints can be created, edited, and altered all from the Emerald Editor.

    Animation Editor (Movement).png
    Temperament.png
    UI Editor.png
    Projectiles (Editor).png
    Docs 2.png

    - Behaviors and Temperament -
    Emerald has 5 preset behaviors each with 3 temperaments to give you control over how your AI dynamically reacts to targets. Companion and Pet behaviors are also possible allowing AI to follow players around to assist them in combat.

    - Line of Sight -
    The Line of Sight feature allows AI to only attack or flee from targets that are visible from the AI's line of sight. This also keeps AI from being able to detect targets through walls or objects. However, an option is also available to not use the line of sight feature, for those who want more of a casual RPG target detection.

    - Built-in UI -
    A built-in UI system allows AI to have health bars, display an AI's name and level, and combat text. The settings allow users to customize the color, images, size, and position. The UI system will automatically apply your settings and rotate towards your player's camera as needed.

    - Built-in Ranged Combat -
    Emerald features a built-in ranged combat system that allows AI the ability to engage in ranged combat. Each projectile's sound, speed, timing, effect, animation, and damage amount can all be customized. Emerald will automatically apply all needed scripts, components, and settings to the projectile object.

    - Built-in Waypoint System -
    Emerald features a built-in Waypoint System that allows users to set a series of waypoints for an AI to follow/patrol. AI will still react to targets using their behaviors while following their waypoint paths and continue to follow them after their target has been killed or escaped. Waypoints can be set, added, manipulated, and cleared all from within the Emerald AI Editor using custom handles and icons.

    - API and Documentation -
    Well documented code with tons of API for advanced users. Emerald includes 17 examples scenes each demonstrating a different feature or capability. Scripting Reference site that shows and explains all of Emerald's usable API. Emerald's documentation covers every feature that you may want to use. The documentation is accessible right from within the Emerald Editor.

    - Animations -
    Emerald supports tons of animations an AI can use, allows users to change an AI's animations right from within the editor, and will automatically create and update an AI's Animator Controller. Each animation has its own animation speed control. The attack animation settings allow your AI's attack animations to perfectly match when damage is sent.

    - 3rd Party Integration and Other Support -
    - Fully supports Crux - Procedural AI Spawner
    - Fully compatible with VR devices such as Oculus Rift and HTC Vive.
    - UFPS (Tutorial covered in Documentation)
    - Invector 3rd Person Controller (Tutorial covered in Documentation)
    - RFPS (Tutorial covered in Documentation)
    - Game Kit Controller (Tutorial covered in Documentation)
    - LoveHate (In Progress)
    - Quest Machine (In Progress) [/SIZE]


    All Features
    Line of Sight

    • Line of Sight implementation allows AI to only attack or flee from targets that are visible from the AI's line of sight. This keeps AI from being able to detect targets through walls or objects. This also allows users to implement sneak mechanics to characters.
    • If Line of Sight is enabled, AI will go into "Alert Wandering", if a target is within range, but not visible. An option has been added allowing AI to have specific settings when in Alert Mode which can change their wandering range, wandering frequency, idle animation, and more.
    • The line of sight detection can be adjusted for each AI to best match the model.
    • An option is also available to not use the line of sight feature, for those who want more of a casual RPG target detection. This option will simply use a trigger detection.

    Built-in Ranged Combat
    • Emerald's Ranged Combat system is built right into the Emerald Editor.
    • Easy to use options and settings to get the exact effect you are looking for such as magic effects and arrows.
    • When needed, Emerald will automatically apply all needed scripts, components, and settings to the projectile object.
    • Sound, speed, timing, effect, animation, position, and damage amount can all be customized.
    • Emerald will automatically use its object pooling system to create AI projectiles.

    Built-in UI System

    • Health Bars, Name Text, and AI Level - A built-in health bar system can now be used to allow AI to have health bars as well as an AI's name and level. This is a completely optional feature. The settings allow users to customize the color, images, and position. The health bar system will automatically create a health bar according to your settings. The health bar system will automatically rotate towards the camera. The health bar system is intended for 3rd person.
    • Combat Text - Built-in combat text system. This is a completely optional feature. AI that have this feature enabled, will see combat text when an AI takes damage. The numbers will reflect the amount of damage received.
    • An AI's Health Bar, Name Text, and Combat Text color, position, and size can be adjusted.
    • Visual lines indicate an AI's UI positions in real-time within the Unity Editor.

    Built-in Optimization
    • Emerald's Optimization System that takes advantage of Unity's LOD Group system by disabling AI that are culled or not visible to help increase performance. This allow many AI to be in a scene at once while maintaining great performance.
    • Supports LOD Levels of up to 4.
    • The Emerald Editor has an option to automatically grab all of an AI's LOD Levels and optimize the AI object.
    • Built-in object pooling system that automatically handles all AI created objects.

    Built-in Waypoint System
    • Built-in Waypoint System that allows users to set a series of waypoints for an AI to follow.
    • AI will still react to targets using their behaviors while following their waypoint paths and continue to follow them after their target has been killed or escaped.
    • Waypoints can be set, added, manipulated, and cleared all from within the Emerald AI Editor using custom handles and icons.
    • An AI's Waypoints will remain on a prefab object.

    Obstruction Detection
    • All AI, including melee, use obstruction detection to ensure their target is not obstructed before sending a successful attack.
    • Ranged AI will only fire if their target is currently visible. If a target becomes obstructed, the ranged AI will move its position until it can get a clear shot. However, this doesn't always guarantee an AI will always hit its target, such as an AI's target moving behind an object after it has fire its shot. This is to allow AI to feel fair and behave realistically.

    Powerful Easy to use Editor
    • Easy to use yet powerful Editor built based on user feedback.
    • Advanced AI system with no coding necessary. Users have access to all features and functionality right with the Editor.
    • Setup Manager that allows users to create their own AI in seconds. Emerald will automatically create an Animator Controller. All the user has to do is set the animations they would like to use.
    • Incredibly customizable with nearly anything achievable through the Emerald Editor.
    • Multi-object editing support to allow easy editing of multiple AI.
    • Low learning curve with self-documented editor that explains what everything does right within the editor.

    AI Actions and Functionality
    • AI can independently detect if they are turning left or right. The ability to play an animation according to the direction that the AI can be set from within the Editor.
    • AI have a customizable delay, while in fight mode, allowing them to take brief pauses before moving to the target position and attacking their target. This gives a AI a more realistic feel when in combat. A similar technique is used in other games. However, this feature is completely optional.
    • AI with an active target, with a Cautious behavior and Brave or Foolhardy confidence, will look at their target. They will not attack until their "Cautious Seconds" have been reached. During this time, AI will have the option to play a warning animation and/or sound. After this time has been exceeded, AI will be switched to the Aggressive behavior and attack their target. This allows AI the action to act territorial.
    • Tons of new API to make implementing Emerald with custom scripts and game mechanics much easier.
    • When an AI wanders, they will not start their waiting seconds until they have reached their generated wandering position. This stops AI from generating new positions before they have reached their destination.

    Improved Animations
    • Emerald 2.0 has improved animation blending making animations play reliably and blend with the AI's current actions/states. More animations have also been added, which will be covered below.
    • Each animation has a setting for users to control its speed.
      • Animations Include
        • Independent turn animations for both left and right
        • Warning animation for Cautious (Territorial) AI
        • Alert animation for when an AI is in alert mode (this is optional)
        • Up to 3 Graze/Idle animations
        • Combat Idle animation
        • Up to 3 Attack animations each with a setting to control the moment damage is sent or a projectile is fired.
        • Walk animation
        • Run animation
        • Run Attack animation
        • Get Hit/Take Damage animation
        • Death animation

    Sounds
    • Support for multiple Attack, Injured, Warning, Death, and Footstep sounds.
    • Support for Animation Event footstep sounds to perfectly match an AI's movement animations.

    API and Documentation

    • Well documented code with tons of API for advanced users and gameplay.
    • Includes 17 examples scenes each demonstrating a different feature or capability.
    • Scripting API site that shows and explains all of Emerald's usable API.
    • Documentation that covers every feature that you may want to use. The documentation is accessible right from within the Emerald Editor.

    3rd Party Integration and Other Support

    Behaviors and Temperament

    • Passive - Will wander around unless attacked. When attacked, it will take action according to its Confidence Level.
      • Passive Confidence
        • Coward - Flees when attacked
        • Brave - Fights back, but flees after a set amount of health is lost
        • Foolhardy - Fights back and will never flees
    • Aggressive - Will attack anything that has its tags. Possibly have warning timer that's optional.
      • Aggressive Confidence
        • Brave - Fights aggressively, but flees after a set amount of health is lost
        • Foolhardy - Fights aggressively and will never flee
    • Companion - Will follow around their follow target and attack anything within their target tag list. Companion AI do not use the Confidence system.
    • Pet - Will follow around their follow target, but will not attack or be targeted. Pet AI do not use the Confidence system
    • Cautious - Wanders around until confronted by a target. When confronted, it will take action according to its Confidence Level
      • Cautious Confidence
        • Coward - Flees when a target is detected either by sight or trigger, which are dependent on the Detection Type.
        • Brave - Will stand their ground for a set amount of seconds. If a target is still within range after the set amount of seconds, they will fight. Once their health reaches a set amount, they will attempt to flee.
        • Foolhardy - Will stand their ground for a set amount of seconds. If a target is still within range after the set amount of seconds, they will fight and continue to fight until they are dead.
     
    Last edited: Oct 18, 2018
  2. b4c5p4c3

    b4c5p4c3

    Joined:
    Jan 4, 2013
    Posts:
    537
    I'm subscribing. Seems interesting
     
  3. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,477
    looks cool. wondering if you would add some wild predators as well that can attack the player? wolves and bears in the forest, mountains areas, lions, cheetah, hyenas in the savannah etc... I guess it might be a little bit more annoying than just animal fleeing though... anyways, Looking forward to checking out the demo scene.
     
  4. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Wow looks very cool! Looking forward to it.
     
  5. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    We plan on adding more Behavior Types as the system progresses. Adding predators as a behavior type sounds like it could be interesting.

    Maybe we could add an Environment Type too that would some how influence the AI. We will see what we can do.


    Thanks.
     
    rosor likes this.
  6. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,477
    another stuff that came on top of my head after reading your post wold be to have the predator AI also want to attack the fleeing one... that would be ridiculously awesome! :)
     
  7. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Looks good. I second a predator type.
     
  8. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    That also crossed our minds. Great idea.

    We will see what we can do. This will progress over a series of updates, but I'm sure we can make it happen.


    Thanks.

    We will make it happen.
     
    Teila likes this.
  9. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Great! I am building an awesome swamp at the moment and need something for my alligators to do. lol Can't wait to try it.
     
  10. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    A suggestion, allow to make more than one layer cause animals to flee. That way, the animals will also flee from NPCs and other animals if you tag them properly. It would be nice to have several drop down options. Also, the ability for the animal to be aggressive and not flee would be nice.
     
    rosor likes this.
  11. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,477
    What been said above. :)
     
  12. siblingrivalry

    siblingrivalry

    Joined:
    Nov 25, 2014
    Posts:
    385
    I have been watching a few documentaries and its funny how often when the predator is chasing down its prey, if the prey is getting away from a big cat, after a big enough distance the cat will often give up knowing that it cannot succeed and just wait till next time.

    predator memory has similar function in game. Not sure how you would do it but; if the prey is X distance away and travelling at speed greater than the predator, then predator gives up the chase.
     
  13. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    A game I used to play did that....lol. Lucky for me, since I was not a combat person, when I was attacked by monsters or NPCs, I learned to run REALLY fast. I played the game for 3 years and only died twice, both times I didn't run fast enough I guess. :)

    The NPC or monster would chase me for a bit and then give up and turn around. I knew that if I ran away, I had a chance to survive. I liked that a lot. :)
     
    siblingrivalry likes this.
  14. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    You just need to have your NPCs have an agro radius and if whatever they are fighting runs out and is outside that agro radius for so long, have them return to their home point. So if the NPC is a touch slower than whatever is fleeing from it, the fleeing NPC will eventually outrun it and leave the agro radius of its pursuer. BurgZerg did something similar in their tutorial videos with player/npc combat. Worked quite well.
     
    siblingrivalry and Teila like this.
  15. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Thanks everyone for the suggestions!

    We have refined everything that's been said and have made a nice list of things to add for the next update. While making this list, we also came up with more features. We will post an update list when we are further along with development and nearer to submitting the new update.

    A main thing we will implement is a Prey and Predator based system. This will allow users to create their own type of ecosystem. Predators will be able to chase Prey and Prey will be able to flee from Predators. We will also implement some type of customizable distance/time based system for a Predator giving up on a Prey.. This, as well as the other features we have planned, should allow for some very interesting game mechanics. There's nothing more immersive than a living breathing artificial environment.

    Please keep the suggestions coming and will be sure to take them into consideration.
     
    Last edited: Jun 29, 2015
  16. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,477
    Is it available yet? didn't notice any links to the Asset Store. Can you place a link on the first post? Or maybe I'm missing something.

    thanks
     
  17. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Emerald version 1.0 has been submitted, but we are still waiting for it to be approved. We will post it here when it is accepted.

    We are currently working on a new version for implementing a Predator and Prey based system, as well as many other features.
     
    hopeful and rosor like this.
  18. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,477
  19. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Emerald should be accepted very soon. Until then, we have made a simple video demonstration.

    This video demonstrates both Farm and Wild animals created with Emerald. All actions of the animals you see are dynamic. There is no preset waypoints. Wild animals will flee if a player enters their Flee Radius. They will then react dynamically to flee from the player so every time it's different. Farm animals will wander within their Wander Radius and dynamically graze.

    We have a lot of new features that we're going to add for the next update. This includes a Predator and Prey system. It should allow users to create their own ecosystem. Stay posted as we will post our progress and here for our next version of Emerald.

     
    John-G, AdamGoodrich and Sliceandkill like this.
  20. Sliceandkill

    Sliceandkill

    Joined:
    Dec 2, 2014
    Posts:
    89
    You can make something factions based. Like large predator, medium predator, small predator, large, medium and small prey. Large predators attack everything including player, medium predators attacks only medium and small prey, maybe even small predators and so on. Another faction can be friendly with everything (for domestic animals).
     
  21. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Fabulous! I like it.

    Looking forward to the updates.

    I wonder though if you could put in a freeze behavior as well since often deer and rabbits freeze when someone approaches them...then they run.
     
  22. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    What kind of cost do we need to be budgeting for? :p
     
  23. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,515
    I would be tempted to add some sort of needs driven thing to the animals so that they generate interesting behaviour regardless of your proximity or not.
     
    BHS and christoph_r like this.
  24. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Thanks for the suggestion. We already had plans to implement a Predator and Prey animal type system and a category by size is perfect.


    Great idea, we can totally add this.

    It could be something that can be enabled or disabled. If enabled, you will set a minimum and maximum amount of freezing time, generating a random number between these two values, before the animal flees. If the player leaves the flee radius it could just go back to grazing.


    The starting price will be $19.99. After the update, the price will increase.


    Great idea, we will see what we can implement.
     
    Last edited: Jul 2, 2015
  25. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Great! I can't wait. :) I love the fact that you can modify and change things to suit your game.
     
    BHS likes this.
  26. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Yes, of course. Our goal is to create a versatile system that can find a place in, mostly, any game.
     
    Teila likes this.
  27. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    We were able to add a quick feature to Emerald before we resubmitted it. This new feature is called Extra Flee Seconds. This allows the AI to stay in Flee Mode, even if out of their Flee Radius, form anywhere from 0 to 10 extra seconds allow for more realistic results when an animal is fleeing away from a player.
     
    Last edited: Jul 2, 2015
  28. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Fantastic! I really need this.

    I am assuming since most animals come with legacy animations that it will still work with those as well? I realize I never asked that.
     
  29. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Yes, it supports Legacy Animations.
     
  30. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Emerald Animal AI has been accepted and is now live on the Asset Store!

    You can get it here: https://www.assetstore.unity3d.com/en/#!/content/40199

    We appreciate all the suggestions and feedback. You can expect a lot of awesome features coming with the next update.
     
  31. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Also, I am assuming the grazing animation can be any idle animation. Unfortunately, I will have to buy all new animals since most of my domestic animals and deer have very few animations. lol

    Unless Roser is going to update them so we can use them in your asset. ;)
     
  32. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,477
    I assume you meant:"rosor".
    What kind of animations are you lacking? currently pretty busy with the Fantasy Bosses Pack Volume 1 and some contract work. If the animations you need might be something a lot of other developers might want, I guess it would be possible to make an update. don't hold your breath though, as there would be 24 animals to update... well maybe less if it's just the grounded animals...
    Maybe it's better to post your request on the animals dedicated thread rather than derailing this one with some side requests. Sorry @BHS, didn't mean to hijack your thread.

    Now on topic: Congrats for the release! and great job! :)
     
  33. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Rosor, sorry about the mistaken spelling, but I was kidding since I saw you on the list. It really wasn't a request, more a comment.

    I will make a request on your thread. :)
     
  34. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    This sounds cool! Is there an option to randomize this? That way it isn't always the same time, every time? Maybe a bool where if we check to have it randomized, it will disable entry of selection of seconds but if unchecked, we can define a set amount?
     
  35. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    edit: saw your responses above...vote for predators and "attractor" tag or object assign for animals to be attracted to. thanks

    "Is there a planned follow or attract, the opposite of flee? i would love to have things follow me, or an object i toss or assign...throw food... thanks"
     
  36. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Yes, any idle animation can be used in place of a graze animation.


    No worries and thanks.


    It isn't randomized, but we can certainly add it with the next update. We will also add a quick tutorial of how to do so to our Emerald Wiki site for those who want that feature early.


    Yes, we already have the base Predator and Prey system working with the version we are developing now. It's pretty cool.

    We can add some kind of command type features in the near feature. Right now we are focused on getting the Predator and Prey system finished and submitted.
     
    Last edited: Jul 3, 2015
    Shawn67 likes this.
  37. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Oh good. I really want the fox to chase my chickens. :)
     
  38. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    Awesome! Any chance there are or you plan to have any herding/flocking type mechanics? It looks like some of the functionality here might conflict with HerdSim or other herding/flocking type scripts. Would be nice to have all of that AI functionality in a single asset... :)
     
  39. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Yes, the Predator and Prey system is pretty cool and entertaining so far.

    Right now, we have Predators chasing Prey based off their size, if within their Hunt Radius. So we have wolfs set Large Predators who will hunt Deer Large Prey. We will were thinking of adding some type of odds/desire factor. This instance would be, what if a wolf is chasing a rabbit (small prey) and they see a deer in the distance. Are they going to continue chasing the rabbit, which might be easy food, or go after the deer because it's more food. We want some type of system to work this out so it's something we're considering of adding to the system.


    I think this is a good idea and it's something we will work in.

    Right now, we're considering some type of pack system is well. This would be for animals like wolfs, who tent to hunt in packs. They can then find prey together and more efficiently kill them. We need some type of cap though to prevent them from killing everything in a level. This would most likely be a cap of 4 to 6 per pack and only a certain amount of kills within a certain amount of time.
     
    Teila likes this.
  40. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    Please make the pack/herd sizes configurable and not hard capped in the code. I think the cap is a good idea, but also like the idea of a pack of predators growing in the zone and having events triggered calling for player help to eradicate the threat. Not sure of API functionality you are building into the system, but maybe this could be something that could be controlled via API.. If the predator population is low, more grazers populate the area but at a certain point a high quantity of grazer herds would attract packs of predators. Once the predators are in the zone, they begin discovering farms. Local magistrate posts bounties for predator hides.. As predator population dwindles, grazer population grows.. Rinse and repeat.. For this idea, I'd need the ability for the scenario that you described as not wanting to happen, to actually happen... heheh

    Edited to add: Kills per time frame configurable as well, please... :)
     
  41. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Not only that, Shawn, but if you want to use the pack for a herd of sheep then you would definitely want more than 6 sheep. I recommend giving us a slider and letting us take the risk of depleting our rabbits. :)

    We can always set spawners to spawn more rabbits if need be, they do populate rather fast.
     
  42. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    Yes, everything will be configurable.

    Our goal is to have the most versatile system as possible. All herd/pack caps will be adjustable as sliders, as well as kills per time frame.

    The population idea is great. We will see what we can do.

    One way to help with population levels is to possibly allow for some type of mating system that could be similar to Minecraft's mating system. If population levels of a particular animal type are low than this feature could be enabled. It could be done where their animal type, which could be a String, would have to match an animal that's within their radius.


    Yes, this all should allow for interesting gameplay/scenarios.
     
  43. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Now that would be amazing!! :) I love it. My son and and I (he happens to my college student programmer and my son) and were just discussing this and thinking about how mating could be coded. If you do it for us, it will save us a lot of time. :) My son might be disappointed but I have plenty of jobs for him.
     
  44. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    That would ROCK! My thoughts for the scenario I described above were to use this system in conjunction with the dynamic quest generator that @TonyLi is currently developing. If Emerald were to keep track of animal populations like you described and Tony's quest system could hook in via API to look at the numbers and determine the magistrate has an issue with a growing wolf population, it would generate a quest for wolf hide bounties.. Or something like that. Purely speculation since Tony is still developing that system, but that is what I'm hoping for... That and maybe even some similar conservation type quests to help promote growth of the species the wolves are depleting...
     
    twobob and Teila like this.
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    8,620
    Good idea! The quest system provides hooks for external knowledge sources. I've made a note to look into Emerald AI. If it can report the population size in an area, you'll be able to access that information in procedurally-generated quests.
     
    twobob, BHS, Teila and 1 other person like this.
  46. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    All this looks so good but I do have one big request. Some of my animals have turn animations and I would love to use them but we need more than the 6 animation slots available. Any chance you could allow us to add our own animation slots? Maybe a way to specify the number of animations and increase slots available like in other Unity assets I have used. That way we can put it more animations for other things as well.

    BTW, my son informed me that it would have to be coded that the animal detects the turn to use the turn animation. Not sure if that is something that can be added..but figured I would ask anyway. lol

    Thanks.
     
  47. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    Any chance for a setting that would have the fleeing animal wander back to its home area after not being scared for a set amount of time?

    Edited to add: Is it possible to add criteria to ensure animals don't wander into the ocean or into altitudes they wouldn't be? Also would love to see avoidance area triggers that could be placed around high population areas where whiled animals would probably never wander.

    Also seems to be some issues with NavMesh.. Seems instead of avoiding steep areas, animals get stuck and are unable to move up or down. Shouldn't they be moving around these areas? Was talking with another dev team and they are having similar issues.
     
    Last edited: Jul 3, 2015
  48. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,333
    While trying to test the system as much as we can, we have designed a simple tool to procedurally spawn an array of animals throughout a terrain. It will spawn them based on your terrains height and a specified X and Y amounts.

    This lead to some interesting and natural feeling gameplay. One of our test terrains is 13 square miles. We spawned a total of 120 animals (30 rabbits, 30 foxes, 30 deer, and 30 wolfs.) During one test, I walked through the 13 sq mile terrain for about 15 minutes and saw 4 or 5 rabbits, 0 deer, 2 foxes, and 2 wolfs. What was interesting about this was that the deer have the highest Flee Radius which makes them more illusive. One of the wolfs I saw was chasing something. However, the forest was too dense to see what it was chasing. This all was created in one generation that took about 10 seconds to setup and about 2 seconds to generate rather than hand placing each animal, which I imagine would take hours and wouldn't have had as realistic results. With this spawn generation system, maybe we can further adapt this to allow for some type of herd/pack generation as well.

    If this is something you guys would want included, just let us know.


    Support for turning animations is something we will look into to see if we can add. We will also add support for more animations slots.


    Great idea. We will be sure to create some system that tracks populations and many other factors/numbers.


    Awesome, sounds great. We will be sure to add support for tracking population and tracking populations in certain areas.


    On start, the AI store their starting position. We will add an option for whether or not to travel back to their starting areas if they have traveled too far away from their spawn position.

    That's strange, the AI shouldn't try to walk where the angle is too steep. We didn't notice any animals getting stuck in our tests. We will look into this to see if we can recreate the issue. If we find it, I'm sure we can find a solution.

    We can also do some type of angle detection using some type of raycast or terrain steepness detection, that can be adjusted via the Editor. If the steepness is greater than the max steepness the animal can walk up, it will generate a new waypoint.
     
    hopeful and Shawn67 like this.
  49. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    We had some animals getting stuck too, usually when there was a hill between them and another flat area on the other side.

    Will the flee feature be added to the asset, so the deer and rabbits freeze before fleeing? I remember mentioning this but can't recall seeing it on your later lists. I fear that without it, our archers will have very little chance of catching the little buggers. :)

    Looking great, by the way. We are having fun playing with that and along side Herdsim, it is a great addition.

    One thing to warn people, make sure the animals are legacy. More and more newer animal assets are using mechanim and they do not always tell you this before you buy. :)
     
    hopeful likes this.
  50. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,190
    DEFINITELY!!!! Maybe you could also have this contain a spawn button in the editor. That way if a dev would like to just pre-spawn and then tweak placements, they can do it instead of individually placing each animal. Then for the devs that just want to let it pop all the animals at runtime, they would have that option as well.

    Woohoo!!! Thanks, to both of you! I can't wait to see what kind of cool stuff I'll be able to do with a combination of both assets! :)

    Awesome! Could we add minimum and maximum terrain height as well? That way mammals don't flee into the ocean where they roam underwater? :p And the higher altitudes can be reserved for mountain goats and other animals more adapt for the higher elevations... :)

    On a side note, I totally love the way this is coming together and the prospects of what can be done with it. Is there a chance that other behavior types will be added for birds and fish to turn this into a complete animal AI system for any type of animal?