Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

[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. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,027
    Fantastic. I just purchased this the other day. :)
     
  2. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Awesome.

    Does it let use create our own ranged attack ?
    I mean it can be some ice ranged attack that will not do damage but slow down the ennemy.
    Or some ranged spell doing poison or fire damage over time.

    Will it use projectile prefab with it's own script ?
    So we could make our own projectile and own projectile script ?



    1)Some option like "run to safe position priority" or "escape priority"

    If a melee attackers comes too close, the ranged AI will be more cautious and it will run to a safe position instead of attacking while walking backwards.

    For above option have some parameter like "safe distance"
    The minimum distance to keep from melee attackers when possible.



    2) "evade ranged attacks" behaviour option.

    When ranged AI is attacked by other ranged attacks ( other AI or player) , it will moves ot another position instead of staying at the same position. This will make it more challenging.

    The "escape ranged attacks directions" could have some direction option like :
    - sides steps around the ennemy
    - random position and some min and max movement lenght

    The trigger to make it change position could be :
    - each time it receives some % damage
    - a timer , after it receives some attack , if it receivess another attack in a defined time intervall , it changes position
    - the number of attack it receives like moving each 3 attacks

    3) Cover objects option
    Predefined covers prefabs points or surface we could place in the level.
    If the AI have that option checked and if there is some free covers around , the AI will go to that cover and simply stay or crouch behind (cover medium , cover high), and it will move to sides or stand up to launch ranged attacks.

    Parameter "out of cover max time" to define how much time the AI can move out of cover when range attacking.




    For an rpg game the actual ranged AI is great. For some games more TPS action like Dark Souls , Tomb Raider these options will allow to make the ranged AI lot more challenging.


    Anyway , it looks awesome and looks like the best and the most easy to use :)
     
  3. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Cool, they are awesome effects.


    Hey there!

    Thanks for the feedback :)

    Damage over time, slow, and other inhibiting factors are all things I'd like to add. However, these would be after the release of Emerald 2.0. As of right now, users just need to attach the EmeraldProjectile script to the object they'd like to be a projectile and Emerald will handle everything else. The EmeraldProjectile script has a reference to the AI it hits which could allow for all sorts of possibilities. The goal would be to have API that would allow users to define the type of spell or inhibiting effect from within the editor such as "Instant Damage", "Damage Over Time", or "Slows".

    More advanced avoidance will also come after the release of Emerald 2.0. Right now, everything works great, but the suggestions you've made can certainly be considered after version 2.0 has been released.
     
  4. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    As you wish.
    But you should make the code modular with the possibilit of letting player use a very easy script they can customize with any imaginable effect. I don't think you will code hundred of possibilties lol (levitation , slow down, lower vision , desorientation, power up defense etc ...)
    This is why i think modularity and letting people customize effects that happens during some attack or any action would be more benefic.

    I don't know if you'll extend it to let use create something more modular "Actions" ?
    That could be any combination of :
    - target :tag, faction, position , zone or any Gameobject
    - trigger conditions : distance/cone of vision/los
    - animation : the animation to perform
    - action : the animation would have some timer or event where it could launch the associated action.
    The action could be trigger some attack script of a melee weapon, or ranged attack of some ranged weapon. This way the system is lot more modular.
    Or action could be any other script users could make like like blocking, catching some item, jumping very high, use some special static item , use some switch or anything else.

    Actually the plugin is made towards attacking or wandering, panels have predefined behaviours instead of letting some options for the user do specify the target, detection, animation and script to call.

    Some goal oriented system and be able to priorize actions with percentage as their chance to launch, would bring a bigger diversity about characters behaviours (instead of having one or two behaviours only triggering always on same conditions).

    For better avoidance i suggested , this is something i will add to the plugin for prototyping this is easy to code.

    Anyway , take your time and make it polished :)
     
    Last edited: Nov 4, 2017
  5. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    The plan is to make it as customizable as possible. Since most variables are accessible, users should be able to create most kinds of spell effects/inhibitors.



    Thanks for the suggestions! Customizable actions are planned after release. I want to focus on getting Emerald released and then I can start working on custom actions and spells :)
     
    zenGarden likes this.
  6. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151


    As soon as I see a tutorial on how to intergrate it with UFPS I buy this :)
     
  7. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    mattis89 likes this.
  8. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
  9. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    You’re welcome and thanks!
     
    mattis89 likes this.
  10. BHS

    BHS

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

    Emerald 2.0 is coming along nicely. The ranged combat is finished and the Emerald Editor has been improved. Just a few more improvements, and 1 or 2 more beta test phases, then Emerald 2.0 will be released. I know the 2.0 has taken longer than expected, but this will ensure users get a flawless release.

    For those who are interested, here's some screenshots of the Emerald 2.0 editor. As you can see, it's a huge improvement to the current version of Emerald.

    bandicam 2017-11-10 14-51-51-284.png

    bandicam 2017-11-10 14-52-27-469.png

    bandicam 2017-11-10 14-52-40-792.png

    bandicam 2017-11-10 14-52-51-974.png
     
    julianr, magique and mattis89 like this.
  11. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151

    This is so cool! The part I liked the most is the animation..Where you can set that many idle animations and even a animation to play when it detects and alerts, thats so awesome, you can like have a monster RAAAAAR.. what about the sound part? about this whole thing....footsteps?

    I cant wait.. Im trying to make my game world so far done so I can buy this asset =)
     
  12. RoyaleJoons

    RoyaleJoons

    Joined:
    Jul 28, 2016
    Posts:
    13
    Apologies if it's been asked before but will the release of 2.0 increase the price of the asset? Should I get it now and wait? And are there any plans to release integration for use with invector templates? Looks really good!
     
  13. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Thanks!

    Yes, AI can play warning sounds while playing their warning animation. Footstep sounds can be handled with either timed seconds or with Animation Events. Animation Events are the most accurate and can have footsteps match exactly to your AI's animations.



    Thanks! There may eventually be a price update, but for now, Emerald will stay at the price it's at. Yes, integration with the Invector assets is a top priority.
     
    RoyaleJoons and wood333 like this.
  14. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It looks very well organized and most important very easy to use, good job.

    What happens if the ranged ennemy reaches the maximum distance to reach the player ? Does it become inactive and go into pool system ?
     
  15. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Thank you, great to hear you like the improved editor. Organized and easy to use is exactly what I was going for.

    I’m not sure I understand your question. If a player is able to escape an AI that is actively attacking them, the AI will return to wandering. If the AI becomes culled, either by being in their last LOD level, or not being visible by the camera, they will be set to inactive. The object pool is used for projectiles and other AI created objects. Emerald doesn’t currently spawn AI. That’s what something like Crux is for.
     
    mattis89 likes this.
  16. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Ok, i'll will use my own characters prefabs pooling system.

    Is there some otption to keep the AI alerted and always pursue the player anywhere, whatever the player is visible or not, once the player have been spoted a first time ?
     
  17. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    An AI becomes alert when a target is within an AI’s detection radius, but isn’t visible. Once an AI sees a target, the AI will go into Combat Mode. While an AI is in Combat Mode, they will continue to pursue their target until the target exceeds an AI’s chase distance. After this happens, an AI will give up and return to wandering.
     
    julianr likes this.
  18. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Great.

    This is ideas for after release perhaps possible ?

    1) Option to deactive the radius detection once the AI detected the player.
    Like Doom game, or some arcade, the AI is always pursuing the player when player is detected, whatever the player is far from detection radius.

    2) Alert zones :
    User defined zones ( transparent Rectangle, sphere or combination or rectangle zones)
    When any AI within the zone detects the player , all other AI on the same zone will be alerted.
    Or perhaps some distance alert option will be available and could be enought ? Each AI within their alert zones will alert others.

    1) Option to force Visibility checking last seen position
    AI is pursuing player, but if player becomes no more visible like behind a wall and player is too far from distance detection radius, the AI still go to the last seen position and start investigating around for some time

    2) Alert from sound made near AI
    If player projectile is missed on AI and makes a sound near AI , the AI becomes aware of player.
    Same for some object thrown near AI, the AI will be aware and detect the player.
     
    BHS likes this.
  19. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    These are great suggestions and are certainly possible after release. I really like the last seen position after an AI has given up on their target. Sound detection is already planned after the release of version 2.0.
     
  20. Ramulos

    Ramulos

    Joined:
    Feb 19, 2017
    Posts:
    57
    Do you think this asset will be released before 2018? I've been waiting on it since before the summer and every month its pushed back another month. All I'm asking for is a definite date of release to know how to plan my development. Don't you have a schedule laid out?
     
  21. BHS

    BHS

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

    Yes, I'm confident that the update will be out before 2018. It's currently in beta testing and there's only two more small tests left, with one of them starting this week. Ranged combat took a little longer than expected, but it was important to have it finished by release.

    There is a schedule, but Emerald is being adjusted and improved based on the beta testers' feedback, as well as being improved with what I feel is necessary. This is to give users a high quality asset that's powerful, yet easy to use. I understand the development has taken longer than expected and I do apologize for that. Keep in mind Emerald 2.0 isn't just an updated version from the previous version, but a complete rewrite from the ground up. I'm currently working well over full time on getting this released. I can assure you it will be worth the wait. :)
     
    wood333, TeagansDad and julianr like this.
  22. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Good, i know tweaking good AI takes lot of time.
    Take your time, instead of rushing and getting people disappointed.
     
    TeagansDad likes this.
  23. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Thanks for your understanding. I definitely want a flawless release with everyone's expectations met or exceeded.
     
    julianr likes this.
  24. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
    Isnt it time for a viideeooo ;):):D:D:D:D:D
     
  25. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,027
    I have another suggestion for 2.0. It would be nice if the pathfinding was decoupled from the AI so that it could be easily replaced with something like Apex Path.
     
    Razmot and mattis89 like this.
  26. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
    A* Pathfinding
     
  27. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Could you describe how the integration will be among Emerald 2.0 and your other assets?
     
  28. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Yes :) I may have time to make a quick one demonstrating a companion AI using ranged combat, which I was already planning on doing. It's been awhile since the companion Behavior Type has been demonstrated.


    I agree! After the release of Emerald 2.0, I will see what I can do.


    Of course.

    Crux already has support for Emerald as it just spawns AI. I do plan on adding UniStorm support to Crux that will allow certain kinds of AI to be spawned only at certain times of day, only during certain weather types, or only spawn during certain times of year/seasons.

    Integration with UniStorm and Emerald will allow AI to have schedules for morning, day, evening, twilight, and night. AI will have the ability to play certain animations when they have arrived at their destinations such as working, eating, or sleeping. They will also have the ability to preform actions such as wandering or guarding. This will all be built-in to the Emerald Editor so there will be no coding necessary. All BHS plugins/assets will have a custom define such as #if UNISTORM_PRESENT to allow the integration code to only compile if the plugin/asset is detected. The integrated features won't even be visible to users who don't have the necessary plugins/assets. This will allow full integration with UniStorm, Emerald, and Crux without being intrusive to users who do not have all said assets.
     
    mattis89 and wood333 like this.
  29. zenGarden

    zenGarden

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

    Will you have some video showing how to setup our player controller to work with your plugin ?
     
  30. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151
    Amazing!
     
    BHS likes this.
  31. BHS

    BHS

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

    I plan on adding a send message function that will allow users to call their own player controllers from within the Emerald Editor. This will allow AI to apply damage to custom player controllers. However, this will only work with 1 parameter functions as that is SendMessage's limitation. What player controller in particular were you referring to?
     
  32. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Nothing special.
    For example i have my player script , your plugin will be able to interact with it (tag Player) and it's collision shapes(s), i just need your AI to be able to apply damage to the player or effects (fire, magic ...).

    Message is a way, but perhaps a bit limited ?
    Can't you make some "Esmerald Player" Component, we just attach to our player character instead ?
    Your AI would call directly "Esmerald Player" script function like ApplyDamage().
    It could be extended later as you extend your creatures with new features like DecreaseShield(), SendEffect() or whatever.
    This way we don't worry about Messages of features as "Esmerald Player" script would stay compatible with your plugin AI new features.
    What do you think ?
     
  33. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151

    Isnt sendmessage function more performance friendly than components with alot of functions?
     
  34. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,569
    Maybe Unity's message event system would be a good fit. It's more efficient than SendMessage, and it doesn't require an additional "Emerald Player" component.

    Player script:
    Code (csharp):
    1. public class MyPlayerScript : MonoBehaviour, ITakeDamageTarget {
    2.     ...
    3.     public void TakeDamage(float amount) {
    4.         ...
    5.     }
    6. }
    Emerald script:
    Code (csharp):
    1. ExecuteEvents.Execute<ITakeDamageTarget>(target, null, (x,y)=>x.TakeDamage(amount));
     
    TeagansDad and zenGarden like this.
  35. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    There is not a big difference with directly referencing a script. Why not, both are good solutions.


    Also Esmerald AI should recognize our own npc AI controllers as friendly or not , so there should also be a new script component for that purpose we would plug into our existing AI prefab.

    Code (CSharp):
    1.  
    2. public class EsmeraldExternalAI : MonoBehaviour, ITEsmeraldExternalAI {
    3.  
    4. int teamID ; int typeAI ; //type aerial, water, biped
    5.  
    6. public void AITakeDamage(float amount) { }
    7. public void AIGiveAlert() {}
    8.  
    9. }
     
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,569
    I agree with you performance-wise. But, with an event system interface, Emerald doesn't need to know about any other scripts. It's also simpler on the Emerald side because one event can call the method on any number of scripts. Maybe you'd want one ITakeDamageHandler script to reduce hit points, another to play a reaction animation, etc.
     
  37. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    For your Event Message to work you need Player component and Message both linked with a common Interface name.
    They are not so independant compared SendMessage.

    In a script reference you can also insert your own functions :

    Code (CSharp):
    1. public class EsmeraldExternalAI : MonoBehaviour, ITEsmeraldExternalAI {
    2.  
    3. int teamID ; int typeAI ; //type aerial, water, biped
    4.  
    5. public void AITakeDamage(float amount) { }
    6.   myOwnFunction()
    7.   myOwnFunction2()
    8.   myOwnFunction3()
    9. }
    The difference is not big.


    Anyway , another request i would like Esmerald AI , is to use a custom timer system for Update we can adjust, for performance. Most stuff does not need to be called each frame.

    Code (CSharp):
    1.  
    2. Update(){
    3. checkDetection();
    4. DoActions();
    5. DoAnimations();
    6. }
    instead you have it adjustable with frames count or some timer.

    Code (CSharp):
    1.  
    2. ...
    3. public int numberFramesTick = 5 ;
    4. ...
    5.  
    6. Update(){
    7. if(numberFramesTick == 5) {
    8.     checkDetection();
    9.     DoActions();
    10.     DoAnimations();
    11. }
    12. ResetTickCounter();
    13.  
    14. }
     
  38. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,151

    Hmm they will use pool and when you dont see the ai its inactivated so...
     
  39. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    He said , you must by the other plugin for pool system ?

    Anyway, tick on Update() system is optimisation made for characters visible on screen (this is different from culling or pooling).

    It can reduce the number of Physics calculation per frame.
    Most of the time you don't need AI checking visibility raycast and other calculation each frame but instead each 0.3 second for example.
    Having it tweakable means you could take advantage of it or not.

    Better this parameter could auto balance when the number of character AI on screen is increasing.

    Anyway it's very easy to modify, if Esmerald AI doesn't include it, i'll make the modification myself.
     
  40. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748


    Thanks guys for the suggestions. I'm not entirely sure which direction I'll take, but your suggestions are appreciated. I'm really trying to get Emerald 2.0 released so it may have to come in an update soon after release.


    I plan on adding a tick for the Update portions of code as most things don't need to be called every frame. This will of course be adjustable by the user. The object detection and other portions of Emerald already have it.

    There is a built-in object pooling system with Emerald. All you have to do is call EmeraldObjectPool.Spawn if you want to use it. All projectiles and particle effects will automatically use this. What I meant by purchasing an additional system was related to Crux, as you said you wanted a spawning system capable of spawning AI dynamically around a player.
     
    zenGarden likes this.
  41. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Player component script or Message Event system, both do the same, butdirect call to a component script is direct and faster.
    Choose whatever you prefer, what matters is we can integrate any player controller with Esmerald AI characters.


    Yep, i misunderstood, pooling will be integrated for effects and projectiles, while we'll deal ourselves with AI characters pooling. It's ok.

    Great, adjustable performance is cool :)
     
    BHS likes this.
  42. BHS

    BHS

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

    The projectile portion of the editor is nearly finalized. Quite a few new options have been added that should allow users to pretty do anything with the ranged combat system all without having to code anything. The best part of the ranged combat system is that it allows users to create a projectile out of any object all within the editor. All users have to do is set their projectile object, settings, effects, press the update projectile button, and Emerald will assign all needed components and update the settings on the Projectile Object.

    Each time the settings are modified, the user will be informed to update the projectile. This is done so it doesn't have to be done on start or during runtime allowing it to be as efficient as possible. Best of all, everything uses Emerald's built-in object pooling system.

    ProjectileEditor.gif

    Creating a projectile only takes a few seconds and Emerald agents will use them accordingly.
    ProjectileExample.gif

    Here's a screenshot of the improved projectile editor. Tons of settings to make any type of projectile possible.
    ProjectileSettings.png
     
  43. Candac59

    Candac59

    Joined:
    Sep 18, 2015
    Posts:
    106
    Hi there ! I have a little question for Emerald AI 2.0. Is the integration of InvectorMelee still planned?
     
  44. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    Can a character choose one of several weapons? If the weapon is different, the damage and the animation are also different. Can there be various kinds of magic and AI can choose it?
     
  45. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Hey!

    Yes, if it’s possible, I’d like to have full support without users having to do much. However, this largely depends on the Invector asset and its accessibility. I’ve reached out to the developer so hopefully it won’t take too long to figure out. I will at least get working on making a tutorial in time for release for integration with Emerald and Invector Melee.


    I have plans to do this soon after release. I’m trying to get Emerald 2.0 ready for release and to not keep adding to it.

    The weapon and spell system will allow users to define settings, similar to what is in the Editor above, on individual objects with an external script. These objects can then be applied to the AI. The AI will then use and take the settings according to the assigned object. Animations can already be altered during runtime. So, changing animations should also be possible.

    As of right now, there’s a possibility of 3 projectiles an AI can use each with different effects and sounds. An AI’s melee attacks will use the same weapon as an AI isn’t going to be switching between melee weapon’s between attacks. However, there is currently the option to have multiple animations for each melee attack each with separate damage amounts. These can be used for basic and even special attacks.

    I may add the ability for an effect to be played for each melee attack as some users may find this useful. This of course would be completely optional.
     
  46. Candac59

    Candac59

    Joined:
    Sep 18, 2015
    Posts:
    106
    Ooh ! Thanks you very much it's very good news for me :)
     
  47. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Cool, as we will be able to make different AI using the same character, but mix with different weapons (melee,ranged) each with different projectiles , damage or effects.


    Yep , you must allow at least two weapons.In most games Ai can use a ranged weapon and switch to melee when in close range or when no mana left for example.


    About behaviours or actions will you implement some priority and rules table for each ( run away, seek cover , seek player, ranged or melee attack) ?

    Some RulesManager to add additionnal conditons before trigger actions.

    Defend a position behaviour :
    Using most powerfull ranged attack spell :
    * Priority (if above conditions are ok) : 90 %
    * mana condition : >= 100
    * player distance to AI : < 10
    * player distance to target Object AI must defend : < 10
    * AI health < 50%
    * Chances to use : 100%

    Attack player behaviour
    Using small projectile ranged weapon or small magic spell
    * Priority : 70 %
    * mana condition : >= 1
    * player distance to AI : >= 1
    * player distance to Object : None
    * AI health : None
    * Chances to use : 50%

    Run away behaviour:
    * Priority : 100 %
    * mana condition : None
    * player distance to AI : None
    * player distance to Object : None
    * AI health : < 10%
    * Chances to use : 100%


    I assume this could be different ammo for weapons or different magic ?


    There is other options that would allow more possibilities :

    1) Does ranged projectiles could have some "Ammo" feature ?
    Fire arrow, ICe arrow limited per AI while normal arrows would be almost unlimited.

    2) Could Magic spells have some "Mana" and "scroll" feature ?

    For example some AI would have 3 spells possible :
    - One huge fireball magic scroll , unique usage
    - Unlimited small fireball spell : 1 mana pt , always covered by AI having 3 pts mana regen
    - Ice projectile needing 50 pts mana

    Those "Ammo or mana" features could be general and apply to melee weapons also.
    Like some magic melee attack possible only with some level of mana.

    3) Can ranged projectile do zone damage ?

    4) Can projectile be spawned at some target offset position and rotation ?

    Multiple magic swords at distance around target flying to target, or some rock above target falling down

    5) Could each projectiles have different distance max range we can setup ?

    While a bow would have some range, a long bow would have greater range and some magic spells would have different ranges.
    Range would be dependent on weapon instead of character ability.

    6) Will AI have some "mana" option we can use or not ? and Mana, Health regen option ?


    7) AI loosing weapons (Zelda) :
    AI loose their weapons falling around on florr when AI gets some number of successive hits.
    AI will have to run to get back their weapon or punch melee fight if player is too close while trying to get close to any weapons on floor if there is some.


    Those options (1 to 6) ,and above rule actions system are more towards Skyrim like game.
    While i am not sure lot of users will want to go as further so i'll code that myself if they are not planned into the plugin.


    Anyway, great progress and it looks very promising :)
     
    Last edited: Nov 20, 2017
  48. MisterMatt

    MisterMatt

    Joined:
    Oct 24, 2012
    Posts:
    13
    I am considering this asset, but was wondering what it would be like to work with from code instead of from the editor. Do you have any examples of dynamically adding AI to an enemy and setting the options from code?
     
  49. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    Are you going to add an example of the Village AI?
     
  50. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,748
    Thanks for all the great suggestions. I'm not entirely sure which features will be added after release. However, I like the idea of the ones you have suggested. I also want to keep Emerald from being convoluted, but give users an AI system that they can pretty much do anything with. AI being able to switch between melee and ranged attack based on certain factors such as distance and resource amount is something I'd like to add after release. I'd like to add more options to projectiles such as resource usage and projectile amounts, but give users the option of whether or not to use these features. Emerald is looking great right now and I'd like to get it released asap. I know a lot of people are anxiously awaiting its release. I can always add new features and mechanics after version 2.0 is released. :)


    Hey there!

    Not currently as Emerald is being rewritten with version 2.0. However, everything is accessible such as health, behavior, confidence level, detection options, damage amounts, etc which should allow you to do most things through code. What specifically did you have in mind?


    I plan on adding an example of wandering villagers. However, they won't have actual schedules. Schedules are planned after release and will be handled with UniStorm. This will allow users to have AI follow certain schedules based on UniStorm's in-game time all from within the Emerald Editor without having to do any coding.