Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[UPDATED] ICECreatureControl v1.4.0 - creature AI for enemies, animals, monsters, zombies ...

Discussion in 'Assets and Asset Store' started by icetec, Aug 11, 2015.

  1. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Icetec, the panels above, are they from your asset or UFPS? If from yours, this sounds amazing and very realistic. I really like the idea of fitness and the animals going off to rest up or "lick their wounds" for a while.

    However, I don't have UFPS and have no desire to get it so confused about what is in your asset and what is in theirs. I wonder if you could make that clear. Thanks.

    Oh, and also, I am reading the problems people are having at it seems everyone else is using UFPS so wondering what issues are related to that rather than your asset.
     
  2. Locky

    Locky

    Joined:
    May 14, 2015
    Posts:
    86
    Hi Teila,
    Getting UFPS is not at all a requirement for ICE Creature Control. UFPS is something that I use personally and really wanted them to work together (and they do thankfully!). But ICE Creature Control stands completely on it's own as an animal/creature AI with a ton of features. I've only had it a couple days but thus far I am very impressed! I'll let you know more once I've had time for a deeper dive.
     
    icetec likes this.
  3. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Yeah, I understand that it does not require UFPS. Just confused by the above description and pictures. Are those from ICE or UFPS?
     
  4. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi Teila,
    thanks a lot for your posting, you are the first person who broach and appreciate the fitness.

    It’s all from me and part of the ICECreatureControl package - I’m sorry, that this was not clear and thanks again to appreciate the fitness settings. In addition to all the features which handles motion, missions, interactions or the surrounding environment, the ‘spirit’ or rather the mental and physical fitness of the creature is an essential part of ICECreatureControl to affect and steering the behaviour of a creature by biological criteria to enhance the generic and/or natural behaviour pattern.

    At which the pictured status panel you mean only represents the basic status settings, which will be used by default. To use the full functionality of the fitness features the user can activate the advanced flag.


    I’m sorry, that’s my fault. All panels which I have posted here are part of the ICECreatureControl package and also all described settings are directly based on ICECreatureControl. The only exception was a post about the recommended settings of the Rigidbody, but apart from that there are no pictured panels or descriptions of any other third party product.

    You are absolutely right, I’m also wonder about that, especially because ICECreatureControl provides thousands of options and possibilities, based on 500 kb source code and the most questions I have to answer are in fact related to an additional adapter script with less than 30 lines of code. This one-sided focusing don’t reflect ICECreatureControl and is not really beneficial to improve the product. It’s currently the first version of ICECreatureControl, the update is nearly finish and I would prefer to get more constructive feedback, suggestions and criticism as well – that’s important to me to improve my work!

    Kind regards, Pit
     
  5. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Thanks for responding, Pit. :)

    I love the fitness because we are using a similar system for our characters so your system would go well with ours. :) I also love the aging and all the other details of your system so my guess is we will buy it. I like to wait for some of the bugs to be sorted out but since it looks like you have few vocal testers that do not use UFPS that maybe we are going to have to just jump in.

    My programmer that tests and integrates outside assets is currently busy with something else and I know he will be easily distracted, but we will probably get this within the week. Thanks again!
     
    icetec likes this.
  6. Locky

    Locky

    Joined:
    May 14, 2015
    Posts:
    86
    Icetec,

    Thank you for the details on how this works. I got it working as expected, although I made changes in many areas, so I can't be certain which change fixed it. In re-examining the demo scene and jumping back and forth to my own, I have learned a lot.

    I am sure that I will have further questions, but my animal does attack, and I can attack it! This is a HUGE first step! I am very satisfied with the results thus far and really appreciate your help!

    A curiosity question:
    What is the distinction between Damage and some of the other influences such as Stress and Debility? What I mean is that "Damage" is obvious; if it reaches zero, the result is death. What are the results of increasing or decreasing the other variables? Are they simply variables that can be tapped into and assigned different behaviors?
     
    icetec likes this.
  7. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    548
    I'm planning to buy some animal AI asset and your description looks very promising. Could you please explain how path finding is working. Do you use any?

    Never mind, found the answer in your help document.

    I'm also considering Emerald Animal AI, tough question but, any word why your asset is better?
     
    Last edited: Sep 6, 2015
    icetec likes this.
  8. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    I have Emerald and it works fine for us. ICE seems more complex, meaning you have more control, which I like. Emerald at this time just feels more hack and slash, with little depth. I guess that could change but maybe not. One thing it has going for it is integration with Tony's upcoming quest system, something we plan to use. Other than that, they both seem to do similar things, although ICE seems broader.

    After we try it, I will write up something about the differences. They both seem good, although in both cases, most people using them have UFPS which means most of the information on the forums is about that integration rather than using it without UFPS. :) There is a pretty significant difference in needs for an RPG with non-physics based combat as compared to an FPS game.

    I am thinking ICE might be better for RPG because of the control but we will see. :) Glad we have so many options.
     
    TeagansDad, icetec and montyfi like this.
  9. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    548
    Thanks Teila! Really appreciate your opinion and looking forward for comparison!
     
    icetec and Teila like this.
  10. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    My pleasure! If you have further questions or problems please feel free to contact me!

    By default the fitness will be affected by the damage value only, but while using the advanced status features the damage factor will be only one of several criteria, in which the influence of a single factor will be dependent on the defined weighting coefficient. By using this your creature can have strong and weak points; for example, a creature in your game shall be extreme aggressive and will attack all other species and also your player will normally have no chance to win a battle against this monster, but this invincible creature have some weak points, it doesn’t like cold temperatures and it needs a lot of energy, so the player could lure the creature in a colder zone and/or an area where the monster doesn’t find enough food both will affect the fitness and weaken the creature and the player can vanquish it. But beware, indeed the creature is weaker but in its death struggle it’s also much more aggressive and dangerous.

    As you maybe already have seen, you can define influences in several sections, such as in the behaviour rules or the environment settings as well, where you could define a specific surface to feed your creature or to kill it as well, cause the ground is contaminated or the plants there are toxic for example – that’s up to your ideas, needs and requirements.

    Furthermore the fitness and influence values will be also part of the Target Selection Criteria, this was already included but the handling was too confusing and so its commented out in current version, but you can see some rudiment fragment by activate the advanced flag of the Target Selection Criteria.
     
  11. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    548
    Interesting, can I simulate not weather but elemental weaknesses? E.g. fire do more damage.
    It would be interesting also to define a radius from some point, let's say lair, to calculate weakness. It will be stronger near lair, but weaker if lured far away.
    If not directly, could it be done as an extension method to your code?
    Do you have an API to calculate such things, as damage modifiers etc?
     
    icetec likes this.
  12. Hormic

    Hormic

    Joined:
    Aug 12, 2014
    Posts:
    251
    Hi icetec, your asset looks very promising.
    I have a question:
    Your asset is called creature control, which sounds for me a bit that it is foremost for animals and uncomplex creatures. Is it possible also to use your asset to control humans? And if yes how far is it possible to control humans with it.
    Is it possible to assign specific actions to human characters, for instance:
    walk to this npc, if a door is on your way - open it, when reached talk to another npc, if a certain entity come in your view attack it and when finished return to your nomal standard patrolroute.

    Thanks!
     
    Last edited: Sep 7, 2015
    icetec likes this.
  13. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi montyfi,
    in addition to the in the manual described possibilities I want mention that I’m currently working to improve the internal path-finding system. The demo below shows the new integrated obstacle avoidance, which works without any additional components and will be already included in the next version.

    http://ice-technologies.de/unity/ICECreatureControl/ICECreatureControlAvoidance.html

    The blue creatures doing some idle activities by using individual dynamic waypoints around their home location, but will flew from the red one if it is visible and/or perceptible within the specified range. The red one just follow a dynamic waypoint route, ignores the blue ones as interactor but will try to avoid collisions with them.


    I’m sorry but I don’t have experience with the named AI and so I can't say something about the differences, but I’m working with UniStorm and know the excellent work of BHS and therefore I like to mention a similarity - in both cases you’ll get a high quality product and I would never claim that one product is better than another, that’s dependent on individual needs and requirements.

    Concerning this matter many thanks to Taila and all the other community member for their objective and constructive reviews.

    If you have any further questions please feel free to contact me!

    Kind regrads, Pit
     
    MoonbladeStudios, montyfi and Teila like this.
  14. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Yes, there are different ways to realize this … for example you could define a fire objects as interactor, by doing this you can specify several rules how the creature have to react to it but you could also solve this task by using the environment settings of ICECreatureControl, here you can define how your creature have to react to specific collisions (tag or layer) or as already mentioned to specified surfaces. All this works without additional code, just by adapt the given settings, but if you want you can modify such values also by your own scripts … to add the damage for example: GetComponent<ICECreatureControl>().Creature.Status.AddDamage( 0.3f );

    Please see also the former posts about the Advanced Status Settings …

    Here you can see an example how to define the influence of fire to your creature by using the environment settings of ICECreatureControl
     
    Last edited: Sep 7, 2015
    montyfi likes this.
  15. Locky

    Locky

    Joined:
    May 14, 2015
    Posts:
    86
    Monty,
    I bought Animal AI and used it for a couple weeks and really liked it. Full disclosure though; my main goal was to get the AI working with UFPS. I tried and tried with Animal AI, but was unable to get it working consistently well with UFPS. That is not to say that it isn't possible, just that I gave it a concerted honest effort and couldn't get it to work.

    My brief experience with using both tools only allows me to make a cursory comparison:

    Animal AI is extremely easy to learn and to use. You can get it working much faster than with ICE. The Animal AI is more simple and almost self-explanatory. One you understand how to use it, it really is just a few mouse clicks and you are up and running!

    ICE took me much more time to get understand even a basic setup. It is more complicated both to learn and to use because it offers so much more control (I am still discovering features). The interface had me baffled for a while, but now I get it and it makes a lot of sense, but it does come with a learning curve. ICE has much more detailed documentation, and comes with a demo that was gold for me in terms of understanding it. It could benefit from a "Quick Start" guide for setting up the Essentials, which are the basic settings for getting the AI working.

    I have decided to go with ICE over Emerald Animal AI. My initial reasons are due to its compatibility with UFPS, but now that I have been using it I like that I have so many options. I don't think you can go wrong with either. If you like simplicity you will appreciate Emerald Animal AI more; if you like to have greater control then you will like ICE more.
     
  16. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi Hormic,
    ICECreatureControl is made to works with each kind of life-forms: biped, quadruped, crawler and future versions will also support avian species and fishes as well. ICECreatureControl works with legacy animations but also with mecanim, at which you can choose several technics how ICECreatureControl will steering the AnimatorController, furthermore the control supports Unity’s Navigation Mesh, Rigidbody, Collider etc. but can be also used without any external components. Apart from that ICECreatureControl handles each creature as an independent, individual character and provides countless possibilities also to steering human or humanoid characters, such as zombies, androids etc.

    The behaviour philosophy of ICECreatureControl is target-oriented (read also chapter 2.4 of the manual – Philosophy and also chapter 3 – Three Things You Need To Know) … simplified summarized: as soon as your creature will get a target (which can be each static or movable GameObject in the scene) it will start traveling to have a rendezvous with it, if this is done the creature will execute the defined leisure activities until it will received a new target. ICECreatureControl can handle several targets at the same time, in which the target with the highest priority will be focused.

    1. walk to this npc
    - define the desired NPC as interactor

    2. if a door is on your way - open it
    - create your desired door opener script and add it to an empty gameobject – this will be the key for the door.
    - create a new behaviour for your creature and name it OPEN_DOOR
    - define the desired behaviour settings, such as animation, movements, etc.
    - and assign your prepared key as effect to the behaviour.
    - Open the environment settings of ICECreatureControl, add a new collision rule define the door trigger (tag or layer) and assign the prepared OPEN_DOOR behaviour to this collision rule.

    3. when reached talk to another npc
    - create a new behaviour for your creature and name it TALK
    - create your desired talk script, add it to an empty gameobject – this script should handle your dialog system and assign it as effect to the TALK behaviour rule.
    - add and define an additional interactor rule for the NPC and assign the TALK behaviour.

    4. if a certain entity come in your view attack it

    - add and adapt your desired aggressor as a further interactor, but with a higher priority than the NPC and define the interaction behaviour as desired.

    5. when finished return to your normal standard patrolroute

    - open the mission settings of ICECreatureControl and define your desired waypoint route. Make sure that the single waypoint will have a lower priority than the NPC and the aggressor, as soon as the NPC and aggressor are no longer in the focus of your creature, your creature will continue its patrol.

    All of this is already available in the current version …

    here the included tutorial scene …
    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlTutorial.html

    and here also the link to the documentation …
    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlManual.pdf

    If you have further questions, please feel free to contact me!

    Best regards, Pit
     
    Hormic likes this.
  17. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    That documentation is superb! Good support like this is so important because it can save us so much time. I've wasted over two weeks trying to get UFPS to work on Emerald (and it still doesn't work); wish I'd seen your asset earlier :(
     
    Teila and icetec like this.
  18. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    hi jonfinlay,
    thanks a lot ... in addition here some links for your first steps ...

    UFPS Demo scene and the latest version of the UFPS adapter
    http://forum.unity3d.com/threads/re...animals-monsters-zombies.347147/#post-2279689

    ICECreatureControl Homepage (here you can find further information, such as the FAQs, and step-by-step you will find here also further tutorials and demo scenes but currently my focus is to finish the next update, so I'm sorry that the homepage is not so feature-rich at the moment as the ICECreatureControl package.)
    http://www.icecreaturecontrol.com/

    ICECreatureControl Bug Tracker
    http://www.ice-technologies.de/mantis/login_page.php

    If you have any further questions, problems or sugestions please feel free to contact me!

    Have a nice day, Pit
     
  19. Hormic

    Hormic

    Joined:
    Aug 12, 2014
    Posts:
    251
    Thank you for your extensive Reply. Bought it now, hopefully i have time next week to check it out. :)
     
    icetec likes this.
  20. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    We purchased ICE as well and so far my programmer that is playing with it loves it. He says he believes it will be a very powerful tool once he takes the time to figure it all out. :)

    I did not see the tutorials on the website, btw. It was blank when I clicked on Tutorials. Are they somewhere else?
     
    icetec likes this.
  21. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Thanks a lot to all of you! It is a pleasure and a great honour to me if my product works well for the community and I will do my best, that everybody will enjoy the work with it to realize its own ideas and projects. I’m sorry that I can’t provide more tutorial at the moment but the icecreaturecontrol.com website is brand-new and I have to add all the content step-by-step, because I’m working alone and beside of all the tasks which I know that I have to do, I’m focused to improve the software. But I also know, that it’s really costly in terms of time to get into such a complex product and that demo scenes, videos and tutorial would be extremely helpful to simplify this process, therefore please contact me whenever you have a problem or an unsolved question will hold your project up, I’ll try to answer all your questions as soon as possible and in urgent or complex cases I’ll support you also in real time via Skype and/or TeamViewer if you want.

    @Teila: an introductory tutorial can be found in the included documentation (chapter 4 – First Steps) and two demo scenes are also included in the package. Further examples and tutorials will coming step-by-step, but you can already find some helpful answers in the FAQs, which will be permanently extended based on the issues of incoming questions and support requests. And if your programmer have a specific problem, question or suggestion, please really feel free to contact me.

    Have a nice day, Pit
     
  22. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Thank you so much, Pit. :) It is a big job for one person.

    I actually prefer the written documents so that will be a big help. My programmer likes videos though but he will survive with the written stuff. The FAQs is great.

    If he needs help, we will probably ask for your Skype name as that is very helpful. Thanks so much for the great support.
     
    icetec likes this.
  23. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi all,
    here some demo scenes which could be interesting to you …

    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlAvoidance.html
    The blue creatures doing some idle activities by using individual dynamic waypoints around their home location, but will flew from the red one if it is visible and/or perceptible within the specified range. The red one just follow a dynamic waypoint route, ignores the blue ones as interactor but will try to avoid collisions with them.

    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlFireShieldDemo.html
    The red predators want attack the blue prey creature but they are deeply afraid of the camp fire. You can switch off the campfire to see how the prey can handle such a dangerous threat alone.


    And in addition you can find here an older demo scene, which demonstrates how ICECreatureControl works with UFPS.
    http://ice-technologies.de/unity/ICECreatureControl/ICECreatureAdapterWebDemo.html

    Here you can download the demo package:
    http://www.ice-technologies.de/unit...apter/ICECreatureUFPSAdapterDemo.unitypackage

    Please consider that this demo requires ICECreatureControl and UFPS, so please make sure that both packages are installed before opening the demo scene file.

    All introduced demo scenes will be also included in the next update. News and further information you could also find on the ICECreatureControl homepage: http://www.icecreaturecontrol.com/?page_id=83

    Have a nice day!

    Pit
     
    Last edited: Sep 17, 2015
    Teila likes this.
  24. CunningGrayFox

    CunningGrayFox

    Joined:
    Jan 7, 2014
    Posts:
    24
    Hey Pitt,

    I purchased your fantastic AI framework a few days back after researching it against Emerald AI. I'm building a prototype for a hunting game and I really wanted to get a realistic feel which I'm sure I'll be able to achieve with ICE Creature Control. There's just one problem, I can't seem to get the animal AI to work properly. All I'm trying to do is to get the creature to go through a simple walk/idle cycle. I've poured through your documentation multiple times, I've read the posts in this forum, I've read the FAQ & tutorials on your site I've even tried to copy the setup of the UFPS Adapter demo scene but nothing works. All I've been able to do is to make my creature pick a direction and run in that one direction until it runs off the map (It's always the same direction too).

    But no matter what I try I can't seem to figure this thing out. I guess the part that has me most confused is what logic is used for the behaviours. I've tried to use the influences to affect the behaviour choices but it hasn't worked. Right now my creature just picks the first in the behaviour list and doesn't transition to any other behaviour, ever. What makes a creature transition between behaviours?
     
  25. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi CunningGrayFox,
    I’m currently out of my office but I’ll contact you again within the next 12 hours, as soon as I’m back. I’m sure we will solve this problem quickly …

    As a first tip, please check the angular velocity of your behaviour movements …
    … this sounds that the angular velocity is adjusted to zero, so that your creature can’t change the direction. Please check the movement settings of your behaviour rules and adapt the angular velocity - a good value would be the half of the given forward velocity ...

    But this just a first tip, independent of this, I’ll contact you asap again …

    Cu soon, pit
     
  26. spesimen

    spesimen

    Joined:
    Feb 27, 2013
    Posts:
    4
    hi i picked up this package so far it seems pretty cool, i appreciated how simple it was to get some basic motion with animations with just a few drag and drops.

    i'm having some problems, however, with the pathfinding when i'm using a NavMeshAgent. it seems to work somewhat inconsistently, i haven't really been able to identify the exact cases. i think all the stuff is setup in my scene correctly (navmeshagent ticked in ICE, the component is added to my guy, and navmesh is baked)

    here is the first example of the issue. in this one he reaches the first waypoint and then attempts to walk striaght through the house there even though the path is being calculated around it.


    in this second example it is the same scene i just moved the waypoints a bit. you can see that he correctly pathfinds around the house on the way to the first waypoint, but after reaching it, seems like it never recalculates the path and instead tries to route him sort of at the edge of the house where he gets stuck for some reason.


    i am pretty new to unity, so i think it's quite possible that i missed something important or maybe have some settings with the agent or mesh messed up but i dunno the navmesh looks like it is supposed to i think. ...i tried using bigger and smaller radii on teh agent and on the baking but it didn't really make a consistent difference....i'm not really sure if maybe the other settings on the navmeshagent component need to be adjusted or something..any ideas would be welcome!
    cheers
    -andy crosby
     
  27. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi andy,
    this could be a problem with Off Mesh Links. Please try to deactivate the 'Auto Traverse Off Mesh Link' of your NavMeshAgent and in addtion the 'Generate OffMeshLinks' in the terrain/ground navigation settings and bake the navmesh again.

    cheers, pit
     
  28. spesimen

    spesimen

    Joined:
    Feb 27, 2013
    Posts:
    4
    hi pit thanks for the quick reply. i removed that setting from the agent, terrain and buildings and re-baked. seems like it gets a bit further but still acts a little weird. in this case you can see him path around the house but sort of stop halfway although now it looks like it is calculating a path there. if i move the waypoint a bit to the left, when he tries to path the other way around the house, it gets partway but then also seems to fixate on the waypoint direction, it does look like it recalcs the path out and around though, he just doesn't want to turn there. the speed for my WP_TRAVEL is set at 1.5 and the angular is 45 could it be a problem with those values? i originally had 25 for angular but it didn't seem to change things. the other navagent values are all at the default other than the radius and height which i adjusted to fit around the model.


    thanks for your help!
    cheers
    -andy crosby
     
    icetec likes this.
  29. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi andy,
    the speed looks okay but please open the essential settings and set 'Move Segment Lenght' to zero or to its max value. The 'Move Segment Lenght' defines the segmentation of the path, which can be used to make small course corrections to diversify the move (e.g. drunken sailor or a rabbit which will run in a zigzag course etc.). Your creature will try to reach the end of such a segment, which is specified by the Stopping Distance but in the given case the creature can't reach it, because the segment end incl. the Stopping Distance are outside of the navmesh (you can see this in your last video, the circle in front of your creature marks the current Stopping Distance and accordingly the end of the current move segment and you can see in 0:17-0:18 how the segment leave the navmesh area). But don't worry, there are several solutions to fix this. As already mentioned you can adjust the 'Move Segment Lenght' to zero, in this case the path will have only one segment, or you could increase the Stopping Distance, so that a part of the gizmo circle will overlap the navmesh area and will be reachable to your creature, furthermore you could define also a further waypoint, so that the default course will not crossing the building, but first try to adjust the 'Move Segment Lenght' to zero, this should work in your case.

    Have a nice day!

    Pit

    P.S. in addition you can activate the deadlock handling with the UPDATE action, so your creature can realize that it is in a dead-end and can update its path.
     
    Last edited: Sep 20, 2015
  30. spesimen

    spesimen

    Joined:
    Feb 27, 2013
    Posts:
    4
    thanks pit!!
    that solved the problem. i did not realize that it could place a segment into an area that was not reachable, it might be cool to add an option to check for that for cases where you want longer segments with the variance for drunky walks and so forth, mainly though i didn't really understand how that works in general... maybe you could elaborate on that a bit next time you are refining the documentation. for my purpose it really works fine though set at zero! i also increased my stopping range substantially to around 5..that seemed high since my agent radius is 0.2 but i guess maybe scaling is affecting it somehow? increasing that for the waypoints which helped a lot with multiple agents reaching the same point and keeping them from hitting the deadlock state. it might be handy if there is a way to modify the distance for multiple waypoints or set them to use a global value, after i 'refresh' them they all reset to 2.

    here's how it looks with the 0 segment length. adding more intermediate waypoints wasn't really an option since i was mainly using random ones for the patrol and i'm hoping to dynamically add those once i get a bit deeper into the how the pieces all fit together.


    thanks and cheers,
    -andy crosby
     
    icetec likes this.
  31. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Fine that it works now! I'll set the segment length by default to zero, this will help to avoid this problem while using the navigation mesh and I'll also update the manual. But for now I've directly prepared a small demo which shows the interplay between the move and speed values. I hope this will be a little helpful to define the right settings.
    http://ice-technologies.de/unity/ICECreatureControl/ICECreatureControlMoveDemo.html

    Also I've realize the mutual obstruction of two of your creatures, such situations can be avoided in the next version by using the integrated obstacle avoidance.
    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlAvoidance.html
     
    Last edited: Sep 20, 2015
    spesimen and Gozdek like this.
  32. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    639
    I am using this asset: https://www.assetstore.unity3d.com/en/#!/content/1876
    A* Pathfinding

    I would rather use that than Unity Navmesh. Do you have any experience working with that? Basically after I create my navmesh in A* I can give it a target, and with the built in AIPath it goes there.

    I assume with CreatureControl, I could, with a custom script perhaps, do the same thing?
     
    icetec likes this.
  33. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi mbowen89,
    I have currently no experience with A* Pathfinding but it is such a powerful system, since a long time on my wish list and I would really like to test how I could combine it with my own work, so this task is already listed and underlined on my ToDo list but I can’t give you a serious assessment when I’ll have the time to realize it.

    The next version of ICECreatureControl already provides an integrated obstacle avoidance, which is suitable to handle basic pathfinding jobs without additional components but of course, it will not cover the pathfinding feature of Arons powerful system. Apart from that ICECreatureControl provides a lot of other features which could be helpful to realize your desired tasks.

    Please have a look on our web page, demos and the documentation and please feel free to contact me if you have any further questions.

    ICECreatureControl documantation:
    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlManual.pdf

    ICECreatureControl homepage:
    http://www.icecreaturecontrol.com/

    Obstacle avoidance demo ICECreatureControl 1.1:
    http://www.ice-technologies.de/unity/ICECreatureControl/ICECreatureControlAvoidance.html

    Have a nice day, Pit
     
  34. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    639
    Thanks!

    1. Lets say I didn't use A* and tried what you used built in... how do you make an animal go around a large body of water for example?

    2. The asset store just has the initial version. Do you have other versions already available? Are they beta versions only? How stable are they?

    Thanks! :)
     
  35. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    To avoid water works like the other obstacle avoidance you can see in the demo, there is no difference. Just define the desired water layer.


    Version 1.1
    Version 1.1 is nearly finish and will be available within the next two weeks. As soon as I'll submit the update for approval, I'll provide also a download for registered user, so that they have not to wait for the review process.
     
  36. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    639
    OK thanks. I couldn't find in the manual anywhere saying what methods the build in avoidance uses to work like that. Since a water plane doesn't have any height, I wasn't sure how you would avoid it, unless you raycast down and know not to walk on the water layer. But then how does it know which way to go around the water, will it possibly take the long way going in wrong direction, etc? That's where A* really shines.

    Is there a list anywhere of all the new/improved/fixed features will be in v1.1? Should it be a pretty seamless update to go from 1.0 to v1.1?

    Thanks!
     
    icetec likes this.
  37. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Good afternoon . You are about to make support UFPS multieplayer?
     
    icetec likes this.
  38. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Sorry, for my late response, I had to do some tests before I could answer you … first the bad news ...

    It will be possible that the internal routines takes the long way, because as I have mentioned before, it’s an obstacle avoidance, which is suitable to handle basic pathfinding jobs and for more complex requirements the current version of ICECreatureControl already supports the NavMeshAgent and the Navigation Mesh. It’s planned to upgrade this feature step-by-step but currently there is no need to improve the integrated pathfinding …

    ... because, after your request I couldn't stop thinking about the pathfinding and so I start to test ICECreatureControl with the A* Pathfinding Project and now the good news, both components works perfect together. Both systems are target-driven and so it was absolutely easy to combine them. I have done an adapter script which will handle the A* Pathfinding navigation for ICECreatureControl, so that there is also no further coding required. The complete solution will be included in version 1.1 but if you are willing to scripting a little bit, you can use also the given version with the adapter … the only thing you have to do is to interrupt the final move. If you are interesting, I’ll send you a description how to realize it.

    http://ice-technologies.de/unity/ICECreatureControl/Adapter/ICECreatureAstarAdapter.unitypackage

     
    Last edited: Sep 23, 2015
    spesimen likes this.
  39. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi Alex,
    ICECreatureControl works fine and stable with UFPS and UFPS Photon Multiplayer is just an Add-On to facilitate the integration of UFPS into the Photon cloud, so there should not be a problem with it as long as your player is tagged as ‘Player’, vp_DamageInfo is available and the required network settings are correct. I also know, that there are already some customers who using UFPS and ICECreatureControl with several multiplayer installations, maybe they are willing to share their experience - would be interesting also for me to improve potential weak points.

    Have a nice day!

    Best regards, Pit
     
  40. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    I understand you correctly , that your work with Asset ufps multieplayer? Or does not work ? Or you need to finish ? I have one solution , but I'm not quite happy with it .
     
  41. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    639
    Awesome, thank you for looking into that for me!

    What's your response to:

    "Is there a list anywhere of all the new/improved/fixed features will be in v1.1? Should it be a pretty seamless update to go from 1.0 to v1.1?"
     
  42. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    ups, I'm sorry ...

    new - ICECreatureAstarAdapter - done (1.1)
    new - ICECreatureMissionTemplate (to create own missions) - in process (1.2)
    new - Further Demo Scene and Tutorials - in process (1.1)
    new - Support of sea life and avian species - in process (1.1 beta)
    new - Setup Wizard (to set-up several standard scenarios such as herds, wp mission etc.) - in process (1.1)
    new - ICECreatureRegister (Pool Management - zones/scenes) - in process (1.1)
    new - ICECreatureRegister (Pool Management - range and FOV culling) - in process (1.1)
    new - Support Menu - done (1.1)
    improved - Documantation - in process (1.1)
    improved - Code optimizing and comments - permanent (1.1)
    improved - Target Selection Criteria (status values based perception) - in process (1.1)
    improved - Status (Feed Type - HERBIVORE, OMNIVORES, CARNIVORE) (1.1)
    improved - ICECreatureRegister (Pool Management - spawn at start) - done (1.1)
    improved - ICECreatureUFPSAdapter (Player Damage) - done (1.1)
    improved - Body Orientation and the slope handling - done (1.1)
    improved - Rework Motion Control - done (1.1)
    new - Obstacle Avoidance - done (1.1)
    improved - Target Selection Criteria (Extended Visibility Check for Target Perception) - done (1.1)
    improved - Interactor Copy-Function - done (1.1)
    bugfix - Error message if invalid target - done (1.1)

    btw. the update will be pretty seamless, up to now I didn't touch existing values and in cases I'll need to do it, I'll cover these parts with workarounds so that nobody will lose its settings.
     
    Last edited: Sep 23, 2015
  43. rpg_gamer

    rpg_gamer

    Joined:
    Nov 28, 2012
    Posts:
    214
    Hey there, just sharing my experience with ICE, UFPS, and a multiplayer situation (bolt networking) :


    There isn't a lot of setup needed in ICE to get animals to be able to recognize multiple players in your scene. A lot of the time in MP situations you will have a player named differently for remote and local such as : Player(local), or PlayerLocal(Clone), or Player(Remote) etc. All you need to do is make sure the names of any player object are in the creature register, and are both set in the creature's interaction section.

    The animals will not be synced in MP of course out of the bat, that's handled by a network view.


    As far as it working with UFPS, so far so good! The UFPS player can indeed damage the animals, and vice versa. I haven't run into any UFPS related problems with the pack yet, and is a ton easier to get working with ufps than other AI packs I have used.
     
    icetec likes this.
  44. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Thanks for the answer. Damage easier to do than in the synchronization network. I have a solution with synchronization over the network. But it I do not like . A network synchronization plays an important role. Therefore, I ask the developer , whether he intended to make the Asset -enabled network that everything worked as it should. Well, apparently , I 'll wait .
     
  45. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    First of all great job icetec!
    I saw your post on XING so it makes me really excited that a german fellow did create this nice Asset.
    Weiter so! :)

    I didn't know where to ask this so I will simple ask here in english of course:
    Is your Asset also suited for complex "Raid Bosses" like MMO / WoW Bosses?
    I mean a scenario like this:
    - Cast / Do something on 75%, 50% and 25% of health
    - Random timers like casting a spell every 5-30 seconds.
    etc.

    Just wanted to know because we are working on a coop RPG title where PVE with great AI is the highest priority.
    For me until now it seems that your asset is great for normal animals and npc behavior, but I did not find information regarding complex Dungeon / Raid bosses. Is something planned is the future for this or is it already there?

    Thanks a lot and keep up the good work!
    Ronny
     
    icetec likes this.
  46. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi Ronny, thanks a lot for your appreciation ... ich gebe mir mühe :)

    Yes, of course ... In addition to all the features which handles motion, missions, interactions or the surrounding environment, the ‘spirit’ or rather the mental and physical fitness of the creature is an essential part of ICECreatureControl to affect and steering the behaviour of a creature by biological criteria to enhance the generic and/or natural behaviour pattern. The current version already provides an complex status system, which can handle the aging, temperature influences damages, stress, debility, hunger, thirst, aggressivity and much more. also a creature will go off to rest up while its wounded thats already included in the current version.


    ICECreatureControl Version 1.0

    In the version 1.1 all these criteria can be used to define the intercation behaviour by affecting the target selection procedure, so that a predator for examaple will only attack while he is hungry, or a species will sleeping at night etc.
    Please have also a look on all the previous postings and the documentation for further information. And if you have any more questions, please feel free to contact me.

    Sincerely, Pit
     
    RonnyDance likes this.
  47. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Hi Alex, that's not really what rpg_gamer means. I'll create a small demo scene to demonstarte how it works, but please give me the time to finish the update first ...

    Best regards, Pit
     
  48. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Hi Pit,
    I noticed the creatures have thirst and hunger variables, how easy (or difficult) would it be to add these to the player (preferably via the UFPS adapter)? Also, how does the animal thirst decrease? Do they need to go near water? Thanks!
     
    icetec likes this.
  49. icetec

    icetec

    Joined:
    Mar 11, 2015
    Posts:
    592
    Basically the UFPS Adapter handles the damage during a fight between creature and UFPS player, but you can use the adapter also to feed your pet or farm animals, simply by reduce the hunger and/or thirst influence values. The only problem will be, that there is currently no difference between the used weapons, tools or gadgets your player could use, so that you could strafe your pet with a shotgun to feed it. As soon as the update is finish and I have a little bit more time I’ll improve this by using the DamageType of the vp_DamageInfo, which can be easily extended, so that the creature can react to several types with different behaviours. It’s easy to implement.

    And vice versa it works similar. Currently I send the damage as float value to the player and not as vp_DamageInfo, but also this can be easily extended. The only challenge I see are the different DamageType values the users could use, but I’m sure that there is also a way to solve this.


    You can modify the influence values in each behaviour rule and in addition in specific cases, such as a damage event of the UFPS Adapter. So you can define one or more behaviour rules for eating and drinking to decrease the hunger and/or thirst, such rules you can assign to a target/interactor object (which can be each gameobject in your scene, such as a haystack, cratch or feeding bowl or another creature, which was defined as prey etc.). As soon as your creature select such a target, it will fulfil the defined rules, runs the animation for eating/drinking and decrease hunger and/or thirst according to the specified influence values of the behaviour. In addition to target/interactor objects your creature can also interact with the surrounding environment, e.g. you could design behaviour rules for specific textures or for collisions with specific objects (tag/layer), so you could define a grass texture as meadow to feed your creatures.

    I hope my answer was helpful to you, if you have any questions please feel free to contact me.

    Best regards, pit
     
  50. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    639
    How does it trigger on textures? Will it work on terrain with 4 textures splatmapped? Very expensive test?
     
    icetec likes this.