Emerald AI - Dynamic Huntable Animals, Wildlife Animals, Farm Animals, NPC, Enemies, breedable animals (similar to Minecraft), and more! Emerald AI 1.3 (Released) Mecanim support, custom function and 3rd party systems support (such as RFPS and UFPS), tons of new features, and many improvements with Emerald AI version 1.3! For more information regarding our newest update, see the link here: https://forum.unity3d.com/threads/r...y-herds-npcs-more.336521/page-15#post-2841047 What's Emerald AI? Emerald AI is an easy to use, all in one, AI system that creates dynamically wandering animals, predator and prey, enemies, NPCs, and more. With the behavior system, you choose if the AI is a Cowardly, Passive, Hostile, or Defensive. With Emerald's easy to use Editor, it only takes about a minute to setup custom models. All AI using Emerald will have dynamically generated waypoints. These waypoints allow the AI to dynamically roam, hunt, form herd and packs, graze all within their appropriate Radii. Emerald offers 150+ customizable options allowing you to create the perfect AI to suit your game's needs. Version updates to the system will always be free, for those who have already purchased Emerald, but the price may increase with each new update that makes the system more advanced. So, it's best to get it early. The 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 supports both UFPS and RFPS character controller systems. Tutorials can be found on our Emerald AI Wiki Site. Buy Emerald 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 Demo Videos Spoiler: Demo Videos This video demonstrates multiple AI fights using Emerald AI and RFPS. The AI are spawned using our newest system, Crux. This video demonstrates 1 Troll vs 3 Skeletons (each with customized stats using Emerald) to show the combat improvements made with Emerald 1.3 (submitted). Emerald AI can be used for animals, NPCs, creatures, and more. All AI dynamically fight, flee, or hunt according to customized tags. This video demonstrates fighting an AI created with Emerald AI using the RFPS system. Implementation is fairly simple and will be covered on the Emerald AI Wiki Site. Screenshots Spoiler: Screenshots Character models by: Protofactor, INC Big thanks to Adventure Forge and their deer model (Assets Not Included). Emerald AI's Breeding Feature Explained Spoiler: Emerald AI - Breeding Explained Breeding Demonstration This video demonstrates Emerald 1.2's new breeding system. Most of what you see if fully customizable via the Editor. Times for breeding (5 seconds) and newborns growing to adult size (15 seconds) is set to fast for demonstration purposes. We used a style similar to Minecraft for this demonstration. Farm animals are put into breeding mode when the right requirements are met. This can be done in anyway and is completely customizable. Emerald will handle the rest. We are working on making this fully dynamic that will allow wild roaming animals to breed. This will of course be within the cap limits set within the Population System. Feel free to ask questions or make suggestions. We will be further tweaking and improving the system. Breeding Demonstration 2 This video demonstrates the Breeding Odds that Emerald 1.2 will use. Emerald will support 4 animals that can be bred on a probability chart of Common 50%, Uncommon 30%, Rare 15%, and Super Rare 5%. Animals must be "breed compatible". This is done by having the same Breed Type. The times set in the video are set to 5 seconds for baby to adult and 5 second breed cooldown for demonstration purposes. This could be anything desirable from minutes to hours. These odds can be tweaked based on each animal. So, for example, if you have a rare animal born, that rare animal can be more likely to have an animal of its color, type, rarity, etc. You will be able to label 4 animals as either Common, Uncommon, Rare, or Super Rare. You will then assign the prefabs for each rarity and Emerald will handle the rest. This same system can be used in the wild for creating dynamic animals. These animals will also use the Breeding Odds system that can really add to games feeling dynamic. Breeding doesn't have to be based off rarity or it can be disabled entirely. The chart below shows an example of the odds system Emerald 1.2 will be using. The colors of these animals, and the rarity, are the same ones used in the video above. Feel free to ask questions or make suggestions. Feedback is always appreciated. Note: Colors are only used to help distinguish the differences between the rarities. These can be anything desirable from crossbreeds to the same type of animal. Features There are too many features to list everything. Emerald is capable of so much and can pretty much find a place in any game. Here are some of its features that are worth noting. System Supports both Unity Free and Unity Pro Support for more than just Animals. Emerald AI can be used for NPCs, Enemies, Creatures, and more. For users who want only animals or only NPCs, we have designed Emerald with this in mind. NPC and Animals are separated using the Editor. The code from these 2 categories don't even run unless one or the other is selected. So, if your AI was set to Animal, none of the code for the NPC would be running in the script. 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 1,000+ 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 (Cowardly [will flee from appropriate tags] Passive [usable by farm animals or NPCs, allows AI to continuously wander around an area], Hostile [will attack anything with the appropriate tag on site] Defensive [will attack enemies on sight (with the tag enemy) but only attack a player, or others, if they are hit first.]) 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. Turn Animation Support - We have also added support for turning animation, as requested. This feature is completely optional. Turning animations will play when an AI needs to take a turn that's sharper than ~60°. This also applies when an AI is attacking and chasing its opponent. This allows for greatly improved realism. Smart Waypoint Generation for fleeing animals - Fleeing Animals and NPCs won't get stuck or generate waypoints they can't access. AI will continuously generate waypoints away from the target that is chasing them. AI will also no longer get stuck. Emerald can detect when an AI sets a waypoint that's inaccessible or will get them stuck and regenerate a new one. This also goes for wandering AI. Example Systems (These do not have to be used. They are simply a starting point for users who need them. Emerald can easily be integrated with custom systems, character controllers, camera systems, loot systems, and more.) Custom character controller that allows collisions with AI, running, stamina system (that will only allow the player to run as long as they have stamina), and footstep sounds system. Speed, jump height, sounds, and more are all customizable. A customizable player weapon damage system is included with Emerald. This system has 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. AI receive damage by calling the Damage function. This makes it easy to implement custom forms of damage from bullets, arrows, or anything else. A Player Health system is also included. We have built a custom Editor to make it easier than ever to customize the settings. These settings include customizable health, health regeneration, attack sounds, UI, and more. An animal Breeding system allows users to feed animals, of similar type, to breed and spawn babies of customizable rarities (common, uncommon, rare, and super rare). We include a Loot System with our system. Easily integration with UFPS, Unity's FPSController, and other systems. Our wiki site covers these tutorials. Example Scenes Animal Breeding Example – Demonstrates breedable animals, similar to MineCraft. Animals have 4 rarity types, Common, Uncommon, Rare, and Super Rare. A system is included that allows interaction with animals. Defensive AI Example - Demonstrates defensive AI that will attack enemies on sight (with the tag enemy) but only attack a player, or others, if they are hit first. Enemy/Hostile AI Example - Demonstrates enemy/hostile AI that will attack anything on sight with the tag Ally, Player, or prey. Fleeing Example – Demonstrates fleeing AI that will run away from the player when they get near. Loot Example - Demonstrates a loot system that randomly generates loot when an enemy is killed. It is then added to the player's inventory UI that is visible on screen. Prey and Predator Example - Demonstrates a predator AI chasing and killing its prey. AI Health Bar Example - Demonstrates displaying an AI's current health and name (UI included). Combat System Attack sound support to play sounds when AI attack. There are no limits to how many that can be used. Randomized Attack Animations (Choose from up to 6 animation clips for your AI to attack with.) Customizable Attack Time that controls when an AI 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) Animal Breeding Emerald is the only AI system that has a built in animal breeding system Emerald will support 4 possible babies that can be bred based on the customizable probability system in the Editor. By default the odds are Common 60%, Uncommon 25%, Rare 10%, and Super Rare 5%. Animals must be "breed compatible". This is done by having the same Breed Type. Customizable Breed Seconds controls how long it takes for the animal to have its baby. Customizable Cool Down Seconds controls how long until the animal can breed again. Customiable Baby Seconds controls how long a baby will stay a baby until it's fully grown. This, and so much more, is possible with Emerald AI's Breeding System. Code 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. All code and functions are covered in our Emerald Wiki Site. Customization 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. Support We do our best to offer the highest quality support possible. We are available via email and usually respond with questions within a few hours of receiving them, during business hours. We appreciate our customers and consider them apart of the Emerald Community. We help out the community by offering our help with customized Emerald scripts. If we have spare time, we will help you implement what's needed. We write custom scripts for our customers all the time. We then add these to the Emerald AI Wiki for others to use. Our Emerald AI Wiki site offers tons of tutorials, script references, example scripts, and more to help you get the most out of Emerald. Detailed Emerald AI Documentation covering every component allowing and setting up for a low learning curve. This allows users to get Emerald implemented in their games and projects as fast as possible. 3rd Party support for top character controller systems such as RFPS and UFPS. Tutorials can be found here: Emerald AI Tutorials The Editor Emerald features an easy to use Editor with tons of customizable options. You can adjust radiuses, speeds, behavior, animations, and more.