Search Unity

[RELEASED] Emerald AI 3.2 (New Sound Detection) - The Ultimate Universal AAA Quality AI Solution

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

  1. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Adding more features to some limit indeed, because adding too much could result in too much parameters most users won't use or will not understand how to use.
    Somewhat like IceCreatures plugin, it has so much options lot of users are lost.

    Yep, better keep Esmerald AI simple and easy to understand, adding options only when that matters without making it something confusing to use and understand.

    Yep, indeed.
    Like some other popular plugins it can get new options later.
     
    mattis89 likes this.
  2. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    Have Emerald AI as a Core product, but then release modular add-on assets that can extend Emerald further. Make them so that its easy for you to update. Or just bundle them with Emerald and the end developer can choose to import them if required.
     
    Adrad likes this.
  3. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    I see above you are working on Invector Melee integration, but now that you have range ai, what about Invector Shooter integration?
     
    Candac59 and julianr like this.
  4. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    Can I build a Village AI on my own? I'm curious about the flexibility of the code.
     
  5. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    That's a great idea, thanks for the suggestion.


    Yes, Invector Shooter integration is also the plan. I now have all Invector assets and I'm working with the Invector developer to get integration with Emerald figured out.


    Yes, an AI's destination can be set or updated at anytime. When an AI arrives at their new set destination, the public variable "AI Reached Destination" is set to true. This can be used for trigger events or actions at set locations. Each time an AI's destination is updated or changed, the AI Reached Destination variable is reset allowing AI to repeat this for multiple schedules.
     
    wood333, RoyaleJoons and julianr like this.
  6. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Sweet !
     
    BHS likes this.
  7. crimsonmortis

    crimsonmortis

    Joined:
    Feb 21, 2016
    Posts:
    63
    Anyone use this with voxels or nave mesh only? I am looking for something to work with Voxeland5 type terrains. Will be grabbing an AI pack tonight looking for some feedback.
     
  8. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    Can I find out about the development schedule? When is the update? And how much longer does INVECTOR's integration with the controller take? When will Village AI be released?
     
  9. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    As long as Voxeland5 supports NavMesh, you shouldn’t have any issues. You can also try using Unity’s runtime NavMesh.

    Emerald is in the last phase of beta testing. Shouldn’t be more than 2 weeks before version 2.0 is submitted. Invector support will come after release, but a tutorial for integration will be provided for the time being. Village AI will be possible at the time of release through custom scripts by updating an AI’s destination point. This will be covered in the documentation. UniStorm schedule support will be added with an update soon after release.
     
    llJIMBOBll likes this.
  10. MisfitVillage

    MisfitVillage

    Joined:
    Jan 3, 2017
    Posts:
    14
    Hi BHS, I'm really sorry if this has been asked/answered before.
    We're using Emerald for our VR game and it works great so far. Looking forward to line of sight in 2.0.
    My question is:
    • I want to be able to set the AI to not wander at all (if I set the wander to it's lowest, the AI will just rotate around in place, trying to wander within 1 meter).
    Can this be achieved with 1.3?
     
  11. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Hey there!

    No worries. AI staying stationary isn’t really possible with version 1.3. However, with 2.0, it is totally possible. There is even an option to do so in the Emerald Editor. AI will also no longer rotate when using the stationary setting and they can guard or attack AI that enter their attack radius. After an AI has finished killing a target, they will return to their stationary position.
     
    llJIMBOBll likes this.
  12. MisterMatt

    MisterMatt

    Joined:
    Oct 24, 2012
    Posts:
    13
    I just purchased this asset and was surprised to see the code is all in one 4k+ line class. Is 2.0 structured the same way? Any way to get a copy of the 2.0 code yet for review?
     
  13. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    The current version of Emerald was in need of a rewrite, which was the sole purpose of version 2.0. Emerald 2.0 has the main class which consists of the AI core with multiple scripts that handle other tasks such as object pooling, projectile calculations, the UI system, and other tasks. I have had no complaints with the way Emerald 2.0 is coded from my beta testers. It’s far more efficient and incredibly versatile.

    If you’d like to be a beta tester, I’d be more than happy to add you. Please PM me your Emerald AI invoice number along with a gmail address so I can send you an invite. The beta is done through Google Drive.
     
  14. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    Does Emerald 2.0 include animal-related AI? Like the previous version.
     
  15. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    What do you mean about animal AI, can you be more precise ?
    (take a look at some 0.2 preview videos, it shows creatures wandering or attacking player)
     
  16. Adrianhm13

    Adrianhm13

    Joined:
    Apr 26, 2017
    Posts:
    1
    This plugin looks amazing. One noobie question, its to hard to integrate with Core GameKit?

    Creating AI with Emerald and the combat system and spawning/dying enemies from CoreGameKit

    Thanks a lot !
     
  17. GenPhi

    GenPhi

    Joined:
    Dec 27, 2014
    Posts:
    12
    What is the best way to be sure the Ai is affected by force? I have an explosive force but the AI walk by like it never happened. They can also push an object no matter what its mass. I'm using the mecanim animation with root motion. I created the controller using Emerald.
     
  18. Mighto360

    Mighto360

    Joined:
    Sep 15, 2016
    Posts:
    69
    When is the release date of 2.0???? My team needs it as soon as possible. What development stage are you in?
     
  19. RobsonFMaciel

    RobsonFMaciel

    Joined:
    Jan 12, 2013
    Posts:
    187
    Hi @BHS,
    I am in the Beta testers group and would like to know if there is any way to set up a herd.

    For example:
    I would like to set up some elephants to walk together and be attacked by Lions. It would be possible?

    Thanks, and I'm loving the new interface, it's much cleaner and easier to use.
     
  20. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Yes, you can have animals hunt and flee from each other. Some of the more in-depth animal related features, such as breeding, will be added shortly after the release of version 2.0. This is because I'm trying to get Emerald 2.0 ready for being submitted to the Asset Store.


    Thanks!

    The current version of Emerald doesn't support this. However, Emerald AI 2.0 will automatically detect when an AI is enabled after it has been killed. When this happens, it will reset the AI's settings back to what they were before the AI was killed allowing it to work with spawning systems that use object pooling. An AI can also be reset at anytime by calling ResetAI().


    If an AI is damaged, it should play a hit animation. If you are talking about physically affected by force, such as falling down, I plan on adding this feature to Emerald 2.0 after release. As for pushing objects, AI are controlled by Unity's NavMesh. If you'd like them to avoid heavy objects, you would need to apply a Nav Mesh Obstacle to said objects.


    Hey there!

    Emerald 2.0 is in the final stages of beta testing. There is only 1 small test left before Emerald 2.0 is being submitted. If everything goes according to plan, version 2.0 should be submitted around the end of this week.


    Thanks, it great to hear you're liking to new interface.

    Herds will come shortly after the release of Emerald 2.0. Right now, the focus is getting version 2.0 ready for release. Until then, you can try using the Companion behavior type for herds. However, I'm not sure how well this will work for herds. All AI that are following their leader will protect and follow them so it might.
     
    RobsonFMaciel likes this.
  21. RobsonFMaciel

    RobsonFMaciel

    Joined:
    Jan 12, 2013
    Posts:
    187
    Thanks for the answer.
    Cool,i think this will help me for now.
    Because I can have a leader for the herd, i think it will be good.
    I'll do tests and let you know the results. :)
     
    Last edited: Dec 6, 2017
  22. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    You’re welcome and alright sounds good :)
     
  23. zenGarden

    zenGarden

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

    For most beginners and non coders, Esmerald AI will be sufficient.

    This would be great if Esmerald had adaptable and modular code to make such complex AI
    www.youtube.com/watch?v=AP_4iWhw3L8


    If Esmerald could allow AI to be driven by user scripts orFSM BT plugin, we could make specific like complex boss fights with mutliple AI around.

    The advantage is we could keep Esmerald easy AI setup and use it's AI framework with custom script,FSM or BT.


    1) Modular code functions for all (detection, decision, actions)

    All plugin functions will be exposed methods. All callable by other FSM and BT plugins or user scripts.

    Example detection :

    isPlayerOnDetectionRange()
    isPlayerOnCloseRange()
    isPlayerInFOV
    takingDamage()
    PotionNear(float radiusCollisionSphereDetection)
    isAllieNpcAround(float radiusDetection)


    Example actions :
    doMeleeAttack (int attackNumber, int optionnalAddedDamage )
    doRangedAttack (int attackNumber, int optionnalAddedDamage)
    WalkNearPositionFacingTarget (float radiusStop, float speed, GameObject target)
    RunNearPosition (float radiusStop, float speed)
    UseBlocking(float timeBlocking)
    FollowNpcOrGameObject(float radiusStayAround, GameObject objectToFollow)
    StartFollowPath(int IdPath)
    isPathNear(float radius)

    Exposed character variables :

    Most variable : Health, threats, targets, weapons ... exposed to be used with external script, BT or FSM.


    2) Disable/Enable AI (decisions, actions) on the fly

    AI calculation and decision main loop should be enabled and disabled on the inspector, or by code with a boolean.
    So Esmerald AI will only keep it's detection methods running if disabled.

    For example :
    Have Esmerald AI running, while in specific area or near specific npc, disable it and have user script driving it, and enable Esmerald after some event.


    3) Will you plan some some simple text Behaviour Tree or as addon similar to Panda BT for example ?
    (ot sure if i didn't asked it already ?)



    Or simple file text option




    Perhaps it's not how Esmerald is designed and coded, so i'm not sure if these ideas are valid ?
    Or if that would mean to much work and refactor ?

    Do you have some new teasing about the coming update ? :D:rolleyes:
     
    Last edited: Dec 7, 2017
  24. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Hey there!

    Thanks for all the suggestions. They are appreciated.

    Right now, the focus is getting Emerald released. It’s in its last phase of beta testing before it’s released. After that, it will be updated with more advance functionality.

    The plan is to have somewhat of a modular option. However, this will be customizable through the Emerald Editor. It will allow users to set a series of actions an AI can use during combat, along with the odds of each one being used such as blocking, moving, attacking, and other special actions or attacks. Emerald 2.0, in its current state, works great and is so far improved compared to the previous version. There is so much that can be achieved with it and it will continue to be improved with versions after. A playable demo will be available around the time of 2.0’s release demonstrating its capabilities.

    There are also many integration plans that will offer even more possibilities such as integration with LoveHate, Quest Machine, UniStorm, and various character controller systems.
     
  25. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Yep.
    This is in some way some AI is designed and similar to my AI components for use with FSM or BT :

    Components :
    - Detection : long and short range, , line of sight, field of view ...
    - Movement : move to player , flee player , flee, move to cover available , patrol randomly around last seen position ...
    - Logic checking : Health Mana < 10% , ennemies around, potion in inventory, healer class around ...
    - Actions : melee, attacked ranged , use item, drop item , use mecanism item (alert system, usable turret) ...
    Actions and Movement can have some timers( intervall values)

    Group of actions
    attack 1 = 0 : will always play
    idle wait = 10-20 : have some chance to not attack (during timer intervall of action)
    attack 2 = 10-50 : if fails try next action in the list
    idle wait = 10-20 : have some chance to not attack (during timer intervall of action)
    attack 3 = 50-80 : if fails skip it

    Behaviours evaluated by Weight order using combinations of logic:
    weight 100 : health below 10% && No Potion available , flee
    weight 90 : health below 10% && Potion available , use item
    weight 70 : health below 30% && cover available && cover distance < value , move to cover
    weight 50 : in cover && health below 30% && Potion available , use item
    weight 30 : strategic position free && player not near position && distance position < value , move to strategic position
    weight 20 : close range detect , Action group "melee attacks"
    weight 10 : long range detect , move around player , attack long range

    Anyway there is ton of ways to do things , and choice depends on how complex you need AI.


    Good.
    Sometimes we ask too much and it can quickly go beyond the plugin scope or will make it too complex while it should be implemented by the user itself using BT or FSM for example.

    For example your plugin will suit very well some Rpg game i'm making, while i'll use BT for another one having complex decisions , environment usage and group behaviours.

    Anyway, glad it will be some great plugin :)
     
  26. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Thanks for all the suggestions. When the time comes to implement more complex actions, I'll be sure to take a look at everything you have suggested.

    Also, for anyone who is interested, the plan is to submit Emerald AI 2.0 sometime today. I will have a post explaining everything later today.
     
    julianr, mattis89, llJIMBOBll and 2 others like this.
  27. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    The new editor layout and design are amazing and much easier to navigate and change settings :D Thank you for the update, beta 5 works flawless with rfps :D
     
  28. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
    Omg!!!!!! Finally :D
     
    BHS likes this.
  29. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    You're welcome! It's good to hear you're liking the new Editor and that Emerald works well with RFPS.
     
  30. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    Is this latest release in the beta files?
     
  31. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    No, it's an updated version with some bug fixes and a few new features. I can update the beta folder, if enough testers are interested.
     
  32. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    That would be great. I'm getting ready to convert a project over from old Emerald and having the latest version would be best.
     
  33. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    I bought an Emerald AI. Can I send files before uploading to the Asset Store?? The Asset Store is slow to verify.
     
    Last edited: Dec 16, 2017
  34. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    I'm interested. I've been playing with getting it working with UMA and final ik for grounding. I tried a simulation on one of my lower spec'd pcs with ~120 enemies for the fun of it, didn't go well :). I'll have to try it with my good system.
     
  35. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Alright, I'll be putting the final version on Google Drive soon.


    If you were apart of the 2.0 beta, the final version will be on Google Drive.


    You can get pretty good performance using Emerald's Optimization Settings. Emerald will disable culled and AI that are not visible. :)
     
    julianr likes this.
  36. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
    When will it be on the asset store? :)
     
  37. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Hey everyone!

    I'm pleased to announce that Emerald AI 2.0 is finished and has been submitted to the Asset Store! It should be live within the next week or so.

    This will be a free update for all existing and future Emerald AI customers. Emerald's updates will always be free and it will never cost to update.

    The release version has been added to Google Drive for any beta testers who want access right away.

    For those are interested in trying out version 2.0, you can check out the Emerald AI 2.0 Playable Demo (557MB). The demo always has about 25 AI present at any given time. This is to demonstrate Emerald's improved performance and its new optimization system. Crux was used to spawn the AI and it's fully supported. It will recycle AI as needed and reset them to their default settings.
    bandicam 2017-12-16 02-51-31-252.png


    Emerald AI 2.0 Notable Features
    • Emerald AI has been rewritten from the ground up with multiple beta tests to ensure users get the best AI system possible.
    • AAA quality AI system with no coding needed.
    • Fully compatible with VR devices such as Oculus Rift and HTC Vive.
    • Built-in UI system that supports customizable combat text, health bars, AI names, and AI level.
    • Built-in object pooling for all Emerald created objects.
    • Works great for both first person and 3rd person game types. However, it can be used with any game type.
    • Incredibly customizable with nearly anything achievable through the Emerald Editor.
    • Easy to use yet powerful Editor built based on user feedback.
    • Multiple behaviors and temperaments for AI to follow.
    • Dynamic movement making every battle and encounter unique.
    • Create any AI imaginable such as animals, creatures, NPCs, guards, companions, pets, and more.
    • Ranged combat support with tons of options to create any type of projectile such as spells and arrows.
    • Built-in Waypoint Editor that allows users to create waypoints for AI to follow. AI that are following their waypoints will still react according to their behaviors.
    • Line of sight detection with obstruction detection to allow players the ability to sneak up on AI and hide behind objects to avoid being seen.
    • Setup manager to help easily create an AI from any animated model.
    • 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.
    • 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.
    • Well documented code with tons of API for advanced users and gameplay.
    • Scripting reference site that covers all usable Emerald API. (In progress)
    • Various video tutorials covering a wide range of features and implementations. (In progress)
    • Scrupulous beta tests throughout development to ensure users get the best experience possible.
     
    julianr, mattis89, magique and 3 others like this.
  38. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Skyrim is 3 to some 10 opponents at same time.
    Above 25 or 30 AI npc at same time, you are making an RTS or a "Dinasty Warriors" game and you need instead a specialized RTS or "muso" plugin.

    I don't consider it 25 AI, as each AI is very far each from one other.

    Most games can get up to 10 or 25 max AI visible and active in front of the player, Hacks n Slash can have more.
    It would have been great to have some "stress test" zones with 10 to 25 AI close to each other.
    This is not great game design for performance, but something many users will test, and this helps you improve the plugin.

    About the demo :
    1) Ranged magic guy stand on it's position when player is close range and do melee attack, without trying to reposition in a safer place.

    2) The demo lacks bigger AI groups, like 2 melee and 2 ranged guys and have to fight them at same time.

    3) No group feature or zone alert ?
    Able to define group of creatures, or have some zone alert system. When you come close to one creature others around will be alerted and will move to attack the player.

    4) When players flees away from AI, the AI returns to base. Some cool rpg options missing :
    AI invulnerable, AI can have speed * 2 run , after some time AI will fade out and directly teleport to home base.

    5) The demo lacks new mecanics seen on previous videos, like quests, patrolling for example.

    6) It lacks stress test zones. Some zone with some 20 to 25 AI around would have been usefull to stress test the system.

    7) The map is too big, too much empty space, too much walk to find other AI on the map.

    About point 3 and groupss, we will be able to create zone alerts and creatures groups ?
    Will it support Navmesh ?

    Anyway, i think the plugin has lot more to offer than the demo showcase.
    BTW great job :)
     
    Last edited: Dec 16, 2017
  39. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Thanks! The main goal was to get Emerald submitted and get its documentation, tutorial videos, and scripting reference site all ready for release. This left little time to fully demonstrate all that Emerald has to offer in the demo. I will be updating it with more features and a couple quests when I get the chance.

    1) AI can reposition if a target gets too close. However, this wasn't demonstrated in the demo as it would require the player to keep chasing the AI. I wasn't sure if testers would find it frustrating.

    2 & 3) Group support is coming after the release of version 2.0. This just means that each AI will need to detect their target in order for them to react. NavMesh is fully supported.

    5) Patrolling is demonstrated with the "Bullog The Giant" in the demo AI. He patrols around a decently large area until he comes in contact with the player or its companion. If the player flees the AI's chase distance, it will resume following its patrolling route. Questing can easily be achieved currently. However, it will be demonstrated in a demo when I have more time to put one together. This will also be covered in tutorials.

    6) I didn't thing about a playable stress test. When I have the time, I will see if I can put one together.

    7) The demo can always be updated to have more AI in the scene.
     
    zenGarden likes this.
  40. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Yep, don't bother, we can make some stress test level ourselves.

    Great.
     
  41. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Now that I have had the time to do so, for those who are interested, here's a full list of all/most of Emerald's features and capabilities.

    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
    • Fully compatible with VR devices such as Oculus Rift and HTC Vive.
    • UFPS (Tutorial in Progress)
    • Invector 3rd Person Controller (Tutorial in Progress)
    • RFPS (Tutorial in Progress)
    • Game Kit Controller (Tutorial in Progress)
    • Opsive 3rd Person Controller (Tutorial in Progress)
    • Ultimate Survival (Support will be added after it's finished with its latest update)
    • LoveHate (In Progress)
    • Quest Machine (In Progress)

    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.
     
  42. MaliceA4Thought

    MaliceA4Thought

    Joined:
    Feb 25, 2011
    Posts:
    406
    sounds awesome and am eagerly awaiting its release on the store.

    Couple of quick pre-emptive questions, and sorry if you have this covered... I am assuming that like previous Emerald, both legacy and mechanim animations are catered for? and also you state the combat bars are designed for 3rd person use, but am also assuming that by using a base of RFSP they could be used in First person as well? :) I am also assuming from the comments about integration with Quest machine that we can use this to also control Friendly NPC's as well as enemy NPC's with similar levels of AI control.

    Finally, do I also need Crux as well as Emerald to get all the features, or is the simplified spawning of Emerald pretty much going to cover it unless I want wild roaming savannaas and similar with different types per area?

    Looking forward to this a great deal and congrats on getting to launch.

    M
     
  43. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
    Hey! I assume that I can use my own animations? Humanoid or generic rig? Root or movement by code?

    I saw the that you had some kind of xp/leveling system, does it come with? :D
     
  44. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    You mean a long collision box in front of the character ?
    Is not "effects" features in the list, attacks impacts for example.

    Nice.
     
    wood333 likes this.
  45. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    Yeah, I wasn't expecting performance just playing around to see what would happen. I don't think the AI was even the problem. That machine was having issues just having that many UMAs visible in the same scene. I'm planning on tinkering a bit more with it and gradually scaling up to see just how many NPCs I can get going mostly out of curiosity. I don't intend on using more than a hand full (thinking 3-10 Skyrim) actually in a game.
     
  46. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Yep, for combat , you must limit the number.
    For characters decoration like Npc in a city you can have more characters with lower culling distances; and clever level design about streets and buildings to avoid having too much characters visible at the same time. For those small scripts would be better instead of using a plugin, or use some specific instancing-pooling system made for that purpose.
     
  47. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    1) What is the best way to set up colliders on an animal like wolf, bear in order to have a good hit detection?

    2) I tested this with the first version of emerald AI and now testing with the 2.0 and still have the same problem. When an AI attacks you (aggressive type) and you run, at some point it starts going back to its starting position, but if you get really close to it, it cannot notice you unless it is close to the starting position. You have to exit and enter its detection radius in order to be attacked again.

    3) I tried to add UI for health, but for some reason it doesn't show up. I saw the demo scenes and it seems like the healthbar is instantiated at runtime, but It doesnt when on my AI, do I have to assign it somewhere?

    4) Do you have a Discord server?
     
    Last edited: Dec 18, 2017
  48. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Hey there!

    Legacy animations are not supported with version 2.0. This is because Mecanim offers better quality, features, and animation blending as well as allowing Emerald to use less code. Most assets on the Asset Store have update to Mecanim.

    Yes, Emerald’s UI System can be used with first person. They have been tested with RFPS and they work in both 3rd and first person.

    I haven’t had a chance to fully test Quest Machine, but Emerald offers ton of public API that can be used to alter an AI’s position, change their behavior, alter their confidence amount, and more.

    Emerald doesn’t include a spawning system. However, Emerald fully supports Crux and can even automatically reset AI that have been killed to their default settings when being reused.

    Thanks! I’m sure everyone will enjoy this update.



    AI that are not using the Line of Sight feature will still have obstruction detection to ensure they cannot attack targets behind walls or objects. For target detection, they will use a sphere collider.


    1) Typically, a Box collider is used for hit detection. However, you can also attach colliders to individual parts of models and get the Emerald component in the parent to apply damage.

    2) If you want your AI to continuously chase targets, you need to use the “Target Distance” Chase Type. This allows an AI to chase an AI until the Chase Distance away from the target is exceeded.

    3) You need to be have health bars enabled. This can be located in the UI Options tab. Did you setup your AI using the Emerald Setup Manager?

    4) No, I do not.
     
  49. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    If the AI chases the player until that distance is reached then you can never let the AI to return to its starting position by going closer to it every time it starts going back so that chase distance is reset. I think there should be a way to make the AI return to its starting position if lets say it is 10 meters away from it, but while its returning to its starting position it should also be able to chase / attack you if you get close enough and chase you until it reaches the max distance(10 meters in that case). Or at least you should not be able to attack it and reduce it's health while it is returning to the starting position (I have not tested this yet)

    I setup the AI following the documentation for 2.0 and I think I have everything required, I can even see the lines where the health bar should appear. I set a different scale parameters to make sure its not too small, but the healthbar does not appear in the hierarchy at all. I also set the UI tag to be Player.

     
  50. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    Just purchased, wasn't sure if the old asset would be updated or if it will be a new one, but then I read the post up above! Can't wait for the update to hit the store, I'm already half way through working on an RPG with Invector's template and would love Emerald AI to start implementing enemies.