What is Emerald AI?
Emerald AI is an easy to use AI system that creates dynamically wandering animals, enemies, and NPCs. With the behavior system, you choose if the AI is a Wild, Farm, or Aggressive. The Wild setting will flee if their flee tag is within distance. The Farm setting will not flee, but wander dynamically within their given wandering distance. The Aggressive setting will attack players and other AI if the set conditions are met. All AI using Emerald will have dynamically generated waypoints. These dynamically generated waypoints allow the AI to freely roam and graze within their Wander Radius. However, if a Wild animal's/NPC flee tag is met within their flee radius, they will flee instead of graze.
Emerald AI's Uses
Create living, breathing worlds by adding dynamic wildlife/NPC/Enemies with Emerald AI. The AI will roam around the worlds you create fleeing from your players as the get near, hunt other AI (Even if it's an NPC hunting an animal AI), or form dynamic herds and packs. If your player stumbles upon a predator, they will be attacked and your player may have to choose to fight or flee for their life.
Whether it's huntable animals, wandering farm animals, background wildlife, or even enemy AI, Emerald AI can pretty much find a place in any game.
Emerald AI's Editor
Emerald features an easy to use Editor with tons of customizable options. You can adjust radiuses, speeds, behavior, animations, and more. The editor makes it easy to setup AI is seconds so there's little to no learning curve. Emerald most sets everything up for you.
Emerald AI's Features
- Supports both Unity Free and Unity Pro
- Emerald has amazing performance by utilizing Unity's LOD system. This is done by deactivating Emerald and its components when not in view. This allows Emerald to have 1,000's of AI within 1 scene at a time. AI are then activated when within view when they become unculled. This process is seamless and fast. We tested this with 3,200 AI/Animals spread across 13 square miles and maintained 60+ frames per second.
- Dynamic Herds and Packs. This is done dynamically by randomly generating an alpha on start. There is a 1 in 5 chance that an AI will be an alpha. If an AI that is not an alpha comes within range of an alpha, that is also the same Name Type (that is set within the Editor), and it isn't ready in a herd, it will become apart of that alpha's herd. AI within a herd will follow the alpha (in herd mode) to its generated waypoints. This can be used from animals, to enemies, to hordes of zombies.
- AI use slope detection and rotate according to the current terrain slope. This allows there to be no hovering on steep slopes as well as resulting in much more realistic looking AI. This option can be enabled or disabled if desired. This feature is only enabled if an AI is active.
- Behavior Types categorized as (Farm [Never Flees], Cowardly [Will always Flee], Aggressive [Will always attack])
- Predators will attack/chase Prey. This is according to Prey Size (Predators can only attack Prey that are less than or equal to in size)
- After an AI has given up on its chase. It will return back to its starting position and continue to wander within its Wander Range. This keeps AI from going where they're not supposed to.
- Frozen system that allows AI/animals to freeze for a randomly generated amount of time, when a predator or player comes within range. This randomly generated amount is based off of a min and max set within the editor. This is regenerated each time an AI/animal has exited its predator encounter. This allows it to seem a lot more natural with each freeze time always being different.
- Max Herd Capacity for each AI Name Category. This is to help AI/animal herds from getting too big and dominating your artificial ecosystem.
- Alpha replacement. If an alpha AI dies, and it is leading a herd, it will generate a new alpha within its herd to become the new alpha.
- A custom player weapon damage system has been implemented that can be used to kill Prey and Predators. This is based off customizable timers, distances, and delays to perfectly match any custom animations customers may have. It also uses RayCast so all attacks are properly registered which then spawns a customizable blood effect right on the hit point of attack.
- All AI use a health system that is within Emerald. This allows AI to receive custom damage allows them to be hunted by players and AI.
- Custom Health system for player which allows players to receive damage.
- Easily integration with UFPS, Unity's FPSController, and other systems. Our wiki site covers these tutorials.
- Attack sound support to play sounds when AI attack (We are in the process of also adding support of up to 6. These will also be randomly picked)
- Randomized Attack Animations (Choose from up to 6 animation clips for your Predator to attack with.)
- Customizable Hunt Time that controls when a predator will give up on a chase
- Support for Run Attack animations for those models that have it (this is an optional feature)
- Hit animation support, if desired (this will play a hit animation when an AI is hit by a player or other AI)
- Well documented code with custom wiki site with tutorials, code references, documentation, example scripts, and more for you to get the most out of Emerald.
- Easy calling of functions like Damage(damageAmount) to damage an AI or ReturnBackToStartingPoint() for the AI to return back to its starting position. These make it easier for adding custom scripts or systems.
- Easily create an AI with one button and Emerald does the rest.
- Dynamic Waypoint Generation (Every waypoint is different every time)
- Dynamic Grazing/Roaming (AI/Animal will graze/roam in by a waypoint for a randomly generated time based off the minimum and maximum seconds set within the Editor)
- Option for up to 3 randomly chosen graze/idle animations which the AI will use.
- Intelligent Fleeing (AI will flee away from the Flee Tag to avoid danger. This makes it great for huntable animals/wildlife)
- Works with Untiy's NavMesh system (no need for other plugins or 3rd party assets)
- Adjustable Flee Trigger Radius (AI/animals will flee if their radius is met with the Flee Trigger Tag set via the Editor)
- Adjustable Wander Range (AI will only wander within the given radius)
- Adjustable Flee Range (AI/animals will flee within the given amount, but keep generating waypoints if they need to escape danger)
- Visual in-scene Ranges for all Ranges above (Useful for speeding up development and level designing)
- Adjustable 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 AI/animal is fleeing away from a player.
- Easy to use but powerful Editor
- Option to enable or disable visible Path Lines that show an AI's current path (Useful for speeding up development and level designing)
- Option to enable or disable visible Waypoints that show an AI's current waypoint (Useful for speeding up development and level designing)
- Customizable colors for all visual in-scene ranges
- Animation Options makes it easy to customize and add your model's animations via name as well as animation speeds (Perfect for matching movement speeds)
- Movement Options makes it easy to adjust Turn Speed, Walk Speed, Run Speed
- Option to enable or disable Dust Particle Effect for when AI is fleeing
- An entire Wiki site for Emerald AI containing tons of tutorials, documentation, code references, and more.