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. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578

    I've had this happen to me countless times with many version of Unity. It's nothing to do with Emerald, it's usually happens when you have many assets in your project, and when import another asset it would close unity and give errors. For me it was the luck of the draw when unity decided to error and crash.
     
  2. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    Oooh Baby a Triiple :D
     
  3. Salja

    Salja

    Joined:
    Mar 23, 2017
    Posts:
    353
    I have tested and installed 5 more assets without a problem no crash works fine then i installed emerald and crash so i dont think what is to much assets the problem i never have a problem with crashes before the project runs sice 2 years stable
     
  4. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    Yes I have found with unity that it slows down on importing new assets when you have a lot, and 2017.3 has crashed numerous times during this. Can I ask, does it crash when you click import, or does it crash when the import finishes and it starts to compile the code? As BHS has noted above, it could be the defines blowing out with a bunch of different assets, which would usually mean during the compile phase, but if it's crashing during the import then it might be another issue. Are you able to import any other assets and see if they crash?

    edit: sorry only just saw your latest post. These other assets you've tried, did they also come with their own changes to the defines? and yeah please note down at what stage Unity crashes.
     
  5. Salja

    Salja

    Joined:
    Mar 23, 2017
    Posts:
    353
    Its crashed after import i have test 5 other different assets what comes with own define and is not crashing the strange is after emerald is import almost finish he crash then i delete the folder but unity dont open is crashed on openening so i have to redownload my complete project from collab

    Edit: i try more assets to import and works but emerld still crash my project the version before the update has works fine
     
  6. Salja

    Salja

    Joined:
    Mar 23, 2017
    Posts:
    353
    I delete MicroSplat from my Project and i update Unity to the last Patch version
    2017.3.1p2 now looks like it works no crash more :D
     
    Mark_01 and llJIMBOBll like this.
  7. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Sorry but while I can set up a raycast 'gun' controlled by the player, and can get a reference to the AI hit (from Play Makers perspective, though I'm not sure if that's enough?), I still have no idea how to 'look for Emerald API' (or what exactly that means) or get to it's Damage function. It would be straight forward if I could simply manipulate the AI's Emerald component to directly change the set health there, but as I mentioned previously changing this number in the editor or through Play Maker while the game is live doesn't work. It kind of sounds like I would still need to program a script which I then activate with Play Maker.

    Maybe that's how you can integrate. If you simply add a script which can be added into the AI's component, I would be able to then get Play Maker to change a variable set in that script to remove health.

    For now I'm actually just hijacking the AI to kill it. I have Play Maker deleting the Emerald component and changing the Animator controller when the AI is hit, so it takes away the AI and switches in a death animation.

    While I see where you are coming from with your conditional 'no need to program' statement, I still think this needs to be reworded to be more clear unless you can integrate with Play Maker or something to truly use the AI (all of it) without programming. I can't use your player controller when I'm making a VR game and the controller doesn't include ranged attack.
     
  8. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I agree Emerald should be usable with any controllers.
    Emerald should get events system or custom script calls possible in some next update, so you should be able to manage yourself the weapon and it's damage when some attack event occurs.

    This is not good and optimized for game production.


    @BHS

    Melee example was not so great when i duplicate lot of melee AI.
    They try to move randomly but :
    - they don't attack the player when they pass near and are in contact
    I think it must be some routine or action that is not interrupted and that is not detecting if
    player is in line of sight.
    - they seem to not be aware when there is other AI in front of them, often they push other AI trying to move to some random position.
    While they should always check with raycast if something is blocking, so they wait and next frame they will try another random point and check if there is something blocking to move.


    Trying to setup tags , this is confusing as laways.
    With layers like "water" that means nothing , or AI examples with tags that are not "EmeraldAI".
    Some updated video tutorial would be great.

    Changing Factions distant AI keeping "attack player", AI follows the player but doesn't attack ?
    Factions should have a new specific type that is "Player"that would be related to
    "Player" tag perhaps. So any custom controllers with player Tag would work with factions.


    Is the event or custom scripts for next update ?

    The ranged AI seems to move all round, it's very dynamic in last update, awesome job :)
    And Faction is a great feature.
     
    Last edited: Mar 3, 2018
  9. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Silly question But How do I hurt the AI's?? I have a VR app going shooting Arrows with the bow from the SteamVR sample. The zombies run around and can damage me, But I have no idea how to set up my arrows to damage the zombies. And weirdly there is nothing about it in the manual..
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,694
    Call the Emerald_AI component's Damage method.
     
    EddieChristian likes this.
  11. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Two more Noob Questions:
    1 How do I get my Zombies to stop Floating a couple inches above the floor? I tried adjusting "Base Offset" in the Nav Mesh Agent Script but it doesn't work.

    2 What happened to the Breeding/Herding behaviors I see in tutorials on the web?
     
  12. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    This part is also missing from the manual.

    It seems that you need to match the unity sound component (I forget the exact name) in the zombies so that the hemisphere line is where the floor is. It's correct when the circle outline drawn for the sound component is half way into the ground and aligned to the center of the zombie.

    Now, as far as I know, there is no way to straight move the sound component. There is no offset or what not like the nav mesh. All you can do is reset the transform position of the zombie before you add the Emerald AI to get it aligned.

    Can anyone else confirm if there is a better way to do this? I mean it seems weird from the start that an audio component is how the AI decides what height the NPC actually sits...

    EDIT: Actually, I'm having the same problem. I didn't notice in my first tests because the characters didn't have legs. Now they do, I can't get them on the ground.
     
    Last edited: Mar 4, 2018
  13. BryanO

    BryanO

    Joined:
    Jan 8, 2014
    Posts:
    186
    how do you make the ai both ranged and melee?
     
  14. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Can't.
     
  15. BryanO

    BryanO

    Joined:
    Jan 8, 2014
    Posts:
    186
    Dood theres got to be a script that will mod this thing to switch - thats like asking for directions and being told you cant get there from here.
     
  16. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Ok yes, if you ask "how do I make my regular car fly", someone will likely reply "you can't, there are no wings and it uses wheels for propulsion".... however, obviously you could add wings, a jet engine.... etc.

    The AI, as it is, makes you pick one or the other for melee or ranged. It also changes the other options based on what you select, so you can't specify how ranged would work if you choose melee. If you are to write over the scripts or something then you will need to make very significant changes... like adding wings to a car.
     
  17. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Ok, following on from my previous reply (and it's edit):

    Go to the Emerald AI component -> AI Settings -> NavMesh -> Agent Base Offset. Set that to a negative number through trial and error until you are on the floor.
     
  18. reocwolf

    reocwolf

    Joined:
    Aug 1, 2013
    Posts:
    182
    Hi. I followed the Invector tutorial and got the AI damaging the player and all melee attacks damage the AI. For some reason the projectiles don't send damage. I pasted the code exactly as in the doc. Any idea if there's something else to be done? I tried playing with the projectile damage settings and colliders but it still doesn't work.

    Nevermind.

    This:

    Solves it.

    I think this should be mentioned in the tutorial. It's one of those little things most people overlook.
     
    Last edited: Mar 4, 2018
  19. xxhaissamxx

    xxhaissamxx

    Joined:
    Jan 12, 2015
    Posts:
    134
    AI use LineOfSight but still follow player behind walls
     
  20. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This will come in some next update.
    I think there will be some parameters to tell AI when it should move and go melee and when it should stay ranged, for example AI preferences and priorities.
     
    BryanO likes this.
  21. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    There is a Nav Mesh Button in the Emerald setup which Seems to control the nav mesh agent script. I adjusted the height there. But I am not sure if it interferes with the animation's yet. still testing.
     
  22. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Yeah I found that later. It's worked fine for me.
     
  23. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Events will be coming with the next minor update. I will gladly take suggestions for events that users would find useful. :)

    The layer of Water needs to be used because non-default layers are not included when submitting to the Asset Store, unless of course you submit the package as a Complete Package which would also overwrite some of the user's project settings. If I could include the Emerald AI layer and tag, I would.


    This feature will be coming with the 2.2 update.


    Great to hear you figured it out. :)


    Are your walls baked with Unity's NavMesh? That would be the reason why AI would go through walls. Ensure that your walls' gameobjects are marked as Static so they can be properly baked.
     
  24. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I understand, this could be problematic.

    I was not expecting events before some months lol

    I already suggested events for main actions (attack, flee, pursue, wander ....).
    It would be cool to get events works like that :
    - no events , use Emerald action
    - event only , disable Emerald action
    - event and Emerald action (for example play additional effects or projectiles on ranged attack)

    Anyway, that's great news, we will be able to call our own script for actions.
     
    Last edited: Mar 5, 2018
  25. xxhaissamxx

    xxhaissamxx

    Joined:
    Jan 12, 2015
    Posts:
    134
    no i mean i changed Detection type to LineOfSight but player hide behind the wall (Static and Baked) my problem even if AI can't see player he follow him
     
  26. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    So far, I have added Unity Events for death, damage, and when an AI reaches their destination. These Unity Events are invoked when the appropriate event happens allowing users to call public functions with up to 1 parameter.

    I can add additional events like the ones you have suggested, but I don’t want there to be too many unneeded events. What would you use attack, wander, pursue, and flee events for? I’m curious of their practicality. I guess they could possibly be used to enable visual indications or effects.


    What layers do you have on the Ignore Obstruction Decrion Layers setting? Whatever layers are on here will be ignored by the AI’s obstruction detection raycast. This setting can be found on the Dection Options. Also, ensure that your walls have colliders on them. Colliders are needed in order to be detected by the raycast.

    Lastly, an AI that has already seen your target will continue to pursue them regardless of if your target is visible or not.
     
    Mark_01 likes this.
  27. reocwolf

    reocwolf

    Joined:
    Aug 1, 2013
    Posts:
    182
    Event to switch the AI's faction or behavior? Example: Agressive > Passive > Pet
     
  28. hsxtreme

    hsxtreme

    Joined:
    Apr 14, 2017
    Posts:
    55
    I joined Emerald with RFPS, but I would like to create the classic Head Shot, how do I get certain specific parts of the body to receive more damage? It would also be very useful in bosses with sensitive parts.


    Is there an easy way to do this or do I have to program?

    Sorry my bad english.
     
  29. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    The idea was also to have the ability to replace Emerald action :
    - Custom scritps for ranged attacks (beam, raycast , multi projectiles ) , combo melee attacks, dual melee ranged attacks.
    - For movement we could for example replace pursue or wander with a teleport custom script for some mage unit, or use another Api that is not Unity navmeshAgent.

    For example Emerald code (not real script) :

    PursuePlayer() {
    if (! eventOnAction(PursueAction)) {
    navAgent.setDestination(player);
    }else{
    EventManager.TriggerEvent ("Pursue");
    }
    }

    AttackPlayer() {
    if (! eventOnAction(AttackAction)) {
    startAttack(player);
    }else{
    EventManager.TriggerEvent ("Attack");
    }
    }

    This is what Ice Creatures plugin allow to call our own scripts functions for custom actions you create.
    You don't need to use it's predefined actions if you don't want.

    The interest about Events on damage or AI reach destination is lot more limited.
    Perhaps adding additional damage like Rpg math based on characters rpg stats, this does not allow to customize Emerald actions.

    Anyway if you feel It's becoming too complex, just drop it, those able to use custom scripts will have instead modify Emerald code.
     
  30. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    I am getting an intermittent error on the death sound. Sometimes it plays it multiple times overlapping. Is there a quick fix??
    I'm using MP3 files....
     
  31. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    The issue was the Import Settings. It has real issues with Vorbis. That was causing the problems.
     
  32. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This is not an issue, the AI is designed around biped and creatures mainly, it is not a multi purpose AI, think of Emerald as Skyrim instead or some Eve online or AI that is very specific.

    Also you'll have to use navmesh for your ship game to use Emerald, until Emerald would allow user to use their own navigation system (this is why we asked Events to call custom actions to get a very versatile AI).

    Another particularity is your ships will have collisions different from characters, for ships it can be collision boxes or some horizontal capsule, i'm not sure Emerald is able to work with multiple collision shapes per AI object.

    About attacking on sides, AI will go to player position mainly, if AI is obstructed by other AI it will try to move randomly around so it get better chances to go to sides of your ship to attack.
    Emerald ranged AI does not contain any strategic management and positioning around the player (like position checking slots around the player).
     
    Last edited: Mar 6, 2018
  33. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Events such as these will come soon, but not with this update. This update is focusing on Unity Events that are accessible from within the Emerald AI Editor for each AI. I will be posting more info on this soon.
     
  34. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Great :)
     
  35. BHS

    BHS

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

    I will be submitting the 2.1.1 update within the next couple of days. This update will add Unity Events to the Emerald AI Editor located at AI's Settings>Events.

    These Unity Events include an event for death, an AI reaching their destination, and an AI being damaged. These events will allow users to call custom scripts' functions to add additional functionality without having to manually program them. For example, adding a customizable xp amount to your player or generating loot when an AI dies. Emerald AI's own API can even be accessed to do additional tasks such as moving to another destination after one has been reached using the Destination Wander Type. This also makes it easier for integration with other 3rd party systems such as Love/Hate and Quest Machine. Additional events will be added with following updates.

    Death Event.png

    Another addition to this update is the transition from the old method of handling Emerald AI's sounds lists. Previously, list were not able to be serialized properly, which required a workaround which limited how many elements could be used because they needed to be serialized independently. This was especially difficult when adding Multi-Object Editing support. This lead to extra code and a max of 5 elements per sound list, due to the amount of extra code it added. I found that Unity serializes Reorderable Lists, which allows the serialization of Emerald AI's lists such as the Idle and Attack Sounds lists. This allows lists to not be limited, there's less code, and they support Multi-Object Editing, not to mention it's a lot cleaner looking.

    New Sound Lists.png

    Lastly, I had discussed awhile back with taking a more modular approach with Emerald AI. For now, my focus was seeing if there was a way to simplify the projectile system so that the Emerald AI Editor wasn't so cluttered in the projectile section. Currently, users are limited to 3 projectiles and all of these settings are within one section of the editor. I experimented with using Scriptable Objects to handle the projectiles instead of relying on prefabs. This allows spells to be created individually as Scriptable Objects and edited with an external editor. This could also allow AI to use as many spells as needed by using a spell list as well as specifying which attack animation to play when using a spell.

    The idea is to have Offensive and Support spells that AI can use as needed. If their health gets below a certain threshold, they could use their Support spells. An AI could use their spell list at random, depending on whether they need to use Offensive or Support spells. I'd also like to give AI the ability to heal themselves or others. However, I wouldn't want users to find any of this bloating or bogging down the system. This is essentially the same system, just with individual Scriptable Objects and some additional functionality. The name spell is just used for testing purposes. Arrows and any other projectiles can be used with this system.

    Animal specific features such as herds and breeding is still planned for the 2.2 update. This is just to expand and simplify the system. Users who don't want to use projectiles don't have to and with this implementation, the majority of the projectile code will be in scriptable objects, especially within the Emerald AI Editor. Please share your thoughts and opinions regarding this. The below is just a work in progress/concept and will not be included with version 2.1.1.

    Spell System Example 2.gif
    Spell System Example.gif
     
    Last edited: Mar 6, 2018
    Weblox, Mark_01 and TonyLi like this.
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,694
    BTW, for those who are waiting for it, the Love/Hate and Quest Machine integrations are ready to go as soon as 2.1.1 is released. It's super-easy to make kill quests and escort/defend quests with the Quest Machine integration, no scripting required at all.
     
    Weblox, Mark_01, Razmot and 2 others like this.
  37. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    I am just kinda wondering why the system doesn't seem to use Root Motion to determine the walk/run speeds. Of course it might be in there and I just haven't found it yet.
     
    Last edited: Mar 6, 2018
  38. zenGarden

    zenGarden

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

    For actions like attacks or spells perhaps you'll need some priorities and decision modules. This could be scriptable objects.

    Perhaps you should make all scriptable objects with category,name,value ...
    - attributes : health, damage
    - actions : attack, attack2, spell heal, spell fire, spell cure, wander, flee, pursue, pursue_faster
    - environment : AI list around , friendly list around, danger zone (spell or lava zone for example)
    - priorities : associate actions with priorities
    - conditions logic : associate actions with post conditions

    With everything as objects you could reference them and use them in high logic system
    For example the plugin interface could look like this

    Action "attack" Priority "50" Random_priority_addition "10" target faction "enemy" preference "nearest"
    Action conditions "empty"
    Action "attack2" Priority "50" Random_priority_addition "10" target faction "enemy" preference "nearest"
    Action conditions "empty"

    Action1 "health" Priority "60" Random_priority_addition "0" target faction "friendly" preference "in_spell_range"
    Action conditions "health" "<" "30"

    Action2 "health" Priority "80" Random_priority_addition "10" target faction "self" preference "empty"
    Action conditions "self_health" "<" "30"

    Action3 "flee" Priority "100" Random_priority_addition "0" target faction "empty" preference "empty"
    Action conditions "self_health" "<" "10" %
    Action conditions "health" ">" "3"

    A priority 100 means AI will perform the action without evaluating and comparing with other priorities results.

    AI would still do the detection phase first (evaluate distances and line of sight, nearest AI ... ) to get a list of possible actions (attack, heal, flee, heal other AI).
    But it would also follow a behaviour using above priorities calculation and post conditions.

    So behaviours could be created without using a graph system (BT,FSM) and without coding.
    Events would not be needed, users would add new scriptable objects( attributes, actions etc ..) in some Emerald folder and those could be used directly in Emerald interface.


    Another feature is AI able to use strategic placement around the player for melee.
    Like Zelda BOT, AI is able to place itself around the player instead of moving like zombies around the player.
    AI directly go forward, sides or back to player, this features is easy to implement and it could be interesting to have a Melee Manager checking space around player and telling when AI can go melee and how many.
     
    Last edited: Mar 7, 2018
    Mark_01 and BHS like this.
  39. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Can we still use prefabs if we want though? More complicated is good if you want o do something advanced, but the way it is now is good for quick and easy. Also, when you talk about scriptable objects... that makes it sound like I can't do it. I just figured out how to use (hijack) your system to get it to work for me using Play Maker and no scripting, but without a prefab there will be no way for me to detect a hit on the player.
     
  40. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    I plan on adding this feature with the 2.1.2 update. It's something I have been meaning to add.


    Thanks for all the great suggestions. I will see what I can do to make the system more modular without having other users find it too bogged down or bloated. Making it easy for all users to use is the most important thing. Making the system more modular would require some writing as well. So, it's something that would be a little further down the road after the 2.2 update.



    PlayMaker support is a top priority and will be taken into account when experimenting with the modular based projectile system I have been working on. I will ensure that there is a way for users to always use PlayMaker where needed.
     
    Mark_01, zenGarden and EddieChristian like this.
  41. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Step by step , i think is the way to go instead of trying to do it all at once.
    For example start to make all Scriptable objects while keeping Emerald working as it is actualy.
    Still i agree to keep it simple and see how it goes on later releases.
     
    Last edited: Mar 7, 2018
    BHS likes this.
  42. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Root motion support is a biggie for me as well - sliding characters look pretty average.
     
    Mark_01 and EddieChristian like this.
  43. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Can this be used with Sectr Stream??
     
  44. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    I Second the Vote on Fixing Root Motion First. Give me Professional Looking Movement before any new features.
     
  45. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    I haven't tested it, but it looks like Sectr is more for level objects so I can't say for sure.
     
  46. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    Root Motion support will be added with the 2.1.2 update. An animation's speed can be adjusted to better match the AI's speed. This option is available within the Emerald AI Editor for the time being.
     
    Mark_01, uberwiggett and zenGarden like this.
  47. BHS

    BHS

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

    Emerald AI 2.1.1 will be submitted sometime tomorrow. I had the chance to add a last minute feature that users have been requesting and that is support for multiple death and hit animations. The hit and death animations now support as many animation clips as the user would like that will play randomly. Each animation that is added to the list has its own speed adjustment. I plan on adding this to the idle animations when I get the chance so users can have as many idle animations as needed. Also, proper Root Motion support will be coming with the 2.1.2 update.

    Hit and Death Animation Lists.gif

    Emote animation support has also been added that allows users to play any animation when an AI is not in combat. These animations do not have to be applied to the AI's Animator Controller and there is no cap. To use, simply call the AI's PlayEmoteAnimation (int EmoteAnimationID) function. This will allow users to play animations for quests and other custom events.

    Emote Animations.gif

    An AI playing its jump emote animation by calling the PlayEmoteAnimation function along with the emote's ID.
    Emote Animation Demo.gif
     
    Last edited: Mar 8, 2018
    Mark_01, llJIMBOBll, julianr and 5 others like this.
  48. BryanO

    BryanO

    Joined:
    Jan 8, 2014
    Posts:
    186
    This is nothing like the resources required to fly a car - that would require billions of dollars and a guy named



    Musk. This is a simple script that switches the AI from ranged to melee perhaps triggered when an additional sphere collider is entered or left by another entity of tag "enemy" - this would take someone an afternoon to write - why you got to be a troll like that?
     
    zenGarden and mattis89 like this.
  49. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    I can assure you I'm not trolling. Maybe I'm ignorant, but I'm not trolling.

    My actual point was not about comparing complexity and resources required. It was comparing the fact that it's not made to do it and that it would need structural changes to do so. Like I said, you can make a car fly, but you need to make structural changes. It is also possible to make Emerald do ranged and melee, but not until the dev or someone actually reprograms how Emerald works.
     
  50. BHS

    BHS

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

    Emerald AI is very flexible and doesn't need to be entirely reprogrammed to add the support of an AI using both ranged and melee. There are a few modifications that need to be made, but that's it. This is a feature that should be added with the following update. The 2.1.1 update's focus is on Emerald AI Events, additional animation support, and an emote system. This all adds greatly improved functionality to what users can accomplish with Emerald AI with little to no programming.

    With the new 2.1.1 update, a new section has been added to the documentation that shows users how to do all sort of cool things with Emerald AI and its new event systems, as well as utilizing other awesome features and capabilities. A few other demo scenes have been added too. One of these is a player having the ability to spawn companion AI to help in combat. These AI will play a spawn animation, visual effect, and sound when spawned. Example code is included on how to do this. If there are features/functionality you would like to be covered in this new tutorial section, I would be more than happy to cover them. I will be also adding PlayMaker tutorials so users who use PlayerMaker, such as yourself, will have a nice guide on how to accomplish additional functionality without having to program.

    Flying support is a feature that will be added with a future update, however, hovering AI that use NavMesh are currently supported. I'm figuring out the best way to implement flying AI without it over-complicating or bogging down Emerald AI. As soon as I figure out the best method, I will start working on implementing this feature.
     
    Mark_01, zenGarden, BryanO and 2 others like this.