Search Unity

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

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I encountered a annoying bug: the add and parameter settings UI under Behaviour's animation section for Advanced animation control is disappeared.
    upload_2017-9-23_10-13-26.png
    I can't set the parameters for behaviours now, tried to restart unity, restart my PC, no help.
    And it was not always this way, it was able to show the GUIs but it suddenly comes into this bug for some unknown reasons.
    The unity version is 5.6.3p2, ICE is the latest version in store.
    Anyone ran into the same problem? Would love to learn a solution.

    Edit: Solved! It turns out to be unity's UI bug. Reset the layout fixed this immediately.
     
    Last edited: Sep 23, 2017
  2. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    I have waited so Long for the update with nothing at all. I still believe even for beginners this could be a wonderful asset if it had a few less Bugs and most important some working prefabs or presets to use.

    This is the first time here I'd like to have a refund. So I had to give a one star Rating.
     
  3. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    PS : It would also be okay if the description was not

    ICECreatureControl is an incredible asset to breathe life into your virtual characters - within minutes and without typing one single line of Code!

    that is so absolutely untrue it hurts. Sorry.
     
  4. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    I've had ICE for a while, and tested it generally, including a flying ai. It's disconcerting to read about the bugs. I have reached the state in my project where I will have to implement ai into our working scene. For us it's a race. we own ICE and Emerald. Whichever gets its new release out, stable, and mostly bug free will get the first shot. The last thing I want to do is make my own behavior trees, but if I must I will.

    As a businessman with a finance degree and a law degree and years of work experience, I find it an exceedingly poor practice not to communicate with customers/clients. If he is focused on completing 1.4, and too busy to respond to this board, he should have said so. How much time does it take to log on this forum and type a couple of sentences. That's my opinion. How ICE runs its business is up to ICE.
     
    Last edited: Sep 23, 2017
    AndyNeoman likes this.
  5. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I'd love a few tips for flying AI if you could. I'm ok with land animals but flying animals are all over the place.
     
  6. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Sorry, we didn't go deep enough into it to have any tips. All I can say is when the release with flying came out our part time animator tested it and was able to get one of our birds in the air with ICE.
     
    AndyNeoman likes this.
  7. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I got him the air but the animations were not playing consistently for some reason and landing was far from convincing. I shelved it as they are only background but I would like eagles to come down and scavenge on corpses. I may give it another try but hopefully 1.4 comes soon and it works better.
     
  8. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    Are you trying to edit the behavior on a prefab?
    This seems to only happen with prefabs.
     
  9. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    I am not sure this requires an entire tutorial. :p

    However, I think my herding one shows how to get the Creature Register to spawn your creatures. :)
    The video should start at the correct time, if not, jump over to 18:53.


    ICE will automatically pool the creatures.
    However, looking at the video, I noticed that I missed a step to get pooling setup.
    If the pooling button is grayed out, enable the pooling option for the Reference Settings:
    enable referernce pooling.png

    I tried, but they kept eating one another before I could record. :p

    How about Will-o-Wisps that turn invisible instead?

    Or maybe a fire breathing monster, like in this video?
     
    Last edited: Sep 23, 2017
  10. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Ah, yes. I tried to edit a prefab, drag it into the scene and it got right!
     
  11. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Thanks that helped me, spent the whole morning trying to figure out why it wasn't working. There used to be a handy little UFPS adapter but I take it that's now obsolete?
     
  12. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Pit routinely disappears for a month or two before a major update, sure it hasn't been abandoned. I think the best route to take would be to do what the developer of EasyRoads3D does; include a solid, working version and the beta (experimental) build as a package from within the main download. That way, most users (in particular new users) could stick with the solid working version, while some could work with the experimental version if they wanted.
     
    wood333 and julianr like this.
  13. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    some reason this asset seems to always crash unity o_O
     
    daisySa and julianr like this.
  14. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Okay for some reason I can't for the life of me get this to work for RFPSP Arrows. It works for guns, for melee weapons, but not arrows.

    While debugging it I figured out that for some reason it's not reaching case 13 of ArrowObject.cs's HitTarget() function. I added a debug below:

    Code (CSharp):
    1. if(!hit
    2.         && arrowRayHit.collider != FPSPlayerComponent.FPSWalkerComponent.capsule
    3.         && !arrowRayHit.collider.gameObject.GetComponent<ArrowObject>()){
    but:

    Code (CSharp):
    1. if( hitCol.gameObject.GetComponentInParent<ICE.World.ICEWorldEntity>() ){
    2.                     hitCol.gameObject.GetComponentInParent<ICE.World.ICEWorldEntity>().AddDamage( damage + damageAddAmt, transform.forward,  Camera.main.transform.position, transform, 0 );
    3.                         Debug.Log("I hit!");
    4.                     FPSPlayerComponent.UpdateHitTime();//used for hitmarker
    5.                 }
    is never reached.

    Anybody have this issue?

    Edit: I have the box collider on the mob set to IsTrigger, if I uncheck this it works, but am I not supposed to have it set to IsTrigger for ICE?
     
  15. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I had that issue, the only way I could resolve it was to import everything back into a new project, taken me days .. beginning to think that I'm wasting my time with Ice, no idea if 1.4 will even make it out. May design my own instead
     
    llJIMBOBll likes this.
  16. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    I've been away from Unity for about six months but spent much of Saturday using the new version (3.6). What exactly is wrong with it? Are the bugs related only to the new multiplayer or within the core asset itself? I did notice some peculiar behaviour when I set a creature to orbit the player, and saw that UFPS no longer works.

    It was good of Pit to include multiplayer for free but it shouldn't be compulsory to import it. Still don't know what Ice World is but again it shouldn't be compulsory. I think these should be included as individual packages (like he did with the adapters) that we can unzip from within the main package. The pre version 3 assets I believe are still in the Unity download folder and I remember them to be stable, although they just lack the birds and fish and the advanced mecanim support.
     
  17. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    I just got thinking.. Can you do criminal activity with this? Like for instance if a player hits an innocent NPC it flags him, then a guard sees him and aggros.
     
  18. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    679
    It works. Make sure you have ICE_UFPS in your script defines (Project Settings > Player), and ensure each ICE Creature Body Part on your AI bones has an "ICE World Damage Adapter" script attached, with UFPS damage handling checked (you can search for this script from the "Add Component" button).

    Lastly, make sure your UFPS Player has an "ICE Creature Player" script attached. That should do it, but feel free to post your findings if it still isn't working for you.
     
    jonfinlay likes this.
  19. tcz8

    tcz8

    Joined:
    Aug 20, 2015
    Posts:
    504
    HAhahaHAhaHA

    Thank you so much for your help!
     
  20. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    There are a few issues we had with it .. the main one was after importing 1.3.6 or 1.3.7 it would crash after import and running the API, using 5.6.x, it was either incompatibility with something in 5.6.x or clashed with another asset. Older versions of Ice were not great for stopping distance and skating, plus some of the conditions I required in later versions, influences were a bit buggy also especially with the 3rd party controllers. Multiplayer I couldnt get working with Ice on a previous version, so as I knew 1.4 would have better support for this I've waited for it. performance issues with large quantities of AI seem to be a factor with coroutines, I'm trying to work this out. Don't get me wrong I love using this asset but it's costing me a lot of wasted time that I don't have, when an asset is meant to save you time and its frustrating when you don't know what's going on with it. Is it dead, not dead, will it be supported with every new release there are always bugs to follow. Fixing someone else's code or adding support for something like networking is far more difficult and time consuming than writing your own as you know the code .. well in my experience. Ill stick with Ice for another week providing I can fix the issues.
     
    Last edited: Sep 25, 2017
  21. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I'm going to see if I can get forge networking implemented. If I can ill document it.
     
  22. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    493
    Yup! This is totally possible, but will require some scripting.
    I have done some successful experiments with dynamic ICE interactors, and this is one of the tutorials I have on my bucket list.
     
    julianr likes this.
  23. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Awesome. You will earn a subscriber :p
     
  24. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Ok great cheers, I wondered what that Ice World was for, now I know :) I'll test it at the weekend. Cheers.
     
  25. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    484
    Looking for some advice regarding the Creature Register.

    I have finished generating my custom models, and added entries for each prefab into the register. There are over 200 creatures present, along with 300 "items" as they all have hit-boxes attached to about 4-5 bones so that as they bend down, their collider stays with them appropriately. I am now seeing performance issues with the editor, not in game, as I try to edit their register settings.

    Is this an excessive amount of things to have in the register, does it matter, and if so why?

    Mark
     
  26. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    679
    Are those 500 entries all unique, or are there duplicates of the same creature or item? If they're not all unique, have you tried pooling just the unique items instead?
     
  27. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    484
    @lod3 Those are all unique characters and body parts [Correction, RAGDOLLS not body parts.]. No duplicates.
    The issue is that when I select Enable, I wait 2 minutes for the button to turn blue, then Pool, another 2 minutes, then change it from 25 Max Coexistent Objects to 1, wait 1 minute, then change name to Tag, and wait for the tag drop down to activate so I can select the spawnpoint object. I'm about halfway through them, taken 2 days (8 hours total, it ain't my day job). LOL

    Just looking for a shortcut. I imagine I will really have fun once I get to weapons and pickups. I haven't added any to the register yet.
    Mark
     
    Last edited: Sep 28, 2017
  28. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    484
    Hmmm, what the heck are Groups for in the register, and how would I use them?
     
  29. jabevan

    jabevan

    Joined:
    Apr 2, 2016
    Posts:
    72
    Just an observation... I believe the last word from @icetec (as a reply to user reviews) was that 1.4 was supposed to come out August 28, exactly one month ago today.
     
  30. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Asset reached EoL.
     
  31. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Do you have some inside information on this or is it guesswork?

    The way this as gone since I purchased is a shame. My game is at a stage where the AI is needed now and if the asset is cancelled I need to switch as future updates could wreck the system.

    Any kind of communication is vital at this stage. Anyone had a response from skype or email?
     
    wood333 and Tethys like this.
  32. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    352

    If you are at that stage I would recommend Behavior Designer, you most likely wont regret it.
     
    AndyNeoman likes this.
  33. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I hope it has not reached eol. It would be a shame to walk away from such a product that has so much potential. If this we're the case Pit should make it a MIT licence so that we can modify it freely and share the updates to further the product, or at least hand it over to another dev or team to work on and take a cut.
     
    wood333, TonanBora and jabevan like this.
  34. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Thanks for the heads up, I have looked at that and emerald but to be honest i am not a fan of spending money on something i have already bought.

    I know it's not a lot but I bought ICE because it does what I wanted and there was a big update due and the dev was always around and communicative lol (I know).

    What I don't understand is not explaining the situation whatever it is. We are all devs and would understand delays, issues or non dev issues we all have lives too. Complete silence is not correct no matter what.
     
    TonanBora likes this.
  35. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
  36. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    no forum support contact since 30th of July?, 4th September login (but no posts), update was expected 28th August, over a month ago. No reply other than a review to keep sales going - doesn't look good. But that doesn't mean to say we cant keep using 1.3.7 and improve on it.
     
    Last edited: Sep 29, 2017
  37. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    His company was filed as dormant over the past year

    So he has either stopped trading or taking a break to work on something else maybe? Depending on his circumstances he may have had to take on work, while working on ICE CC part time at the moment Maybe sales have taken a hit recently. I'd be happy to pay an upgrade fee if development as support continued, but Im not sure that is viable anymore?
     
    Last edited: Sep 29, 2017
    wood333 likes this.
  38. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I'm getting quite high stats from ICE in the profiler. 50%- 80% behaviour updates due to ICE creature. I've only got 10-15 animals using ICE. Mostly just prey zebras, impala etc.. seems to be huge garbage collection 1.6mb per frame. taking around 20ms per frame to do ice update. Is this normal for so few AI?
     
  39. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    In the current 1.3.x release it seems to be something to do with coroutines. I'll be looking at this myself next week when I need at least 30 on screen at once. There are various ways to make things better, use LOD and a camera cull (I used QuickLod and Easy Cull in the past) so anything outside your camera is switched off. you may need to tweak it a bit in the code to get it as you need it. This will reduce the number of thought processes going on with AI. LOD your AI (2 or 3) levels should do it so the greater the distance the less detail you'll need.

    Quick LOD - but ICE CC has LOD system, so you may not need this now depends how indepth you want it. I used it on an Earlier version of ICE CC
    https://assetstore.unity.com/packages/tools/quicklod-optimization-framework-16514

    Easy Cull for Camera culling.
    https://assetstore.unity.com/packages/tools/camera/easy-cull-27178
     
    Last edited: Oct 2, 2017
    AndyNeoman likes this.
  40. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Thanks for that. I will be digging around to see if I can speed up ICE first and use it's lods.

    On a separate note, great news to hear all is well with Pit and 1.4 is nearly finished. He will return to forum and support questions as soon as he can get the update out.

    Seems like he had a lot of requests which he could not deal with and get the update finished so he choose the update. Hopefully we will get the improvements soon. :).
     
    julianr likes this.
  41. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    679
    Is Easy Cull better than Unity's occlusion culling? Also, a French review was left 2 weeks ago that confirmed my concerns since Easy Cull is script-driven:

    "Works very well, but not made for heavy scenes. The (Easy Cull) script quickly becomes resource intensive, which then produces the opposite effect the product is intended to provide. I'd recommend this for "normal" (light) scenes."

    So just a heads-up, I suppose. Though at less than $10, it's worth a shot if occlusion culling isn't doing the trick. I may pick it up later and give it a try. Thanks for mentioning it!
     
  42. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I only used it for AI. As yeah you would get a lot of slowness down on a ton of objects. That probably applies for everything. Major populated areas should ideally have 4-5 levels of detail, and the last LOD of great distance, a box with a texture or something similar to the shape. without compromising on quality. This way you don't see nothing in the distance. Or trees - you could go for a system that does better billboards in 3D.

    I don't know about 2017.x of Unity as I'm on 5.6.3f1 - with Unity's Occlusion culling I always felt restricted in what I wanted it to show, at least with script or c# you can be in more control of what you want to show or not show - again you don't really need Occlusion culling (especially for big maps) if you LOD everything really well and cull it at great distance.
     
    Last edited: Oct 3, 2017
  43. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    484
    I have 5 interactors setup for each of my Zombie AI. They WERE ALL working. For some odd reason, the last one "food" is now changing at run time to "untagged". Not on all of the AI, but 18 out of 20. I can find no differences between the 2 that work and the ones that don't. I notice the "*" after food in the interactor name. What does that indicate?

    How or why would an interactor do that?

    Runtime in editor, working correctly:
    upload_2017-10-3_1-54-57.png

    Runtime in editor, not working:
    upload_2017-10-3_1-53-25.png

    Editor foldout:
    upload_2017-10-3_1-58-20.png

    This foldout is identical on all zombie AI units. The end result is a game of Night of the snacking dead. They all find an untagged body part either on themselves or someone else, and start into their eating behavior.

    I have each Z setup to drop a ragdoll with a bone tagged as food in the chest. Nothing else is tagged food. Each food tagged bone also has a Body Part script attached. I have even marked the whole ragdoll as food now, to try and fix what was working. No difference.
    Any suggestions?
     
  44. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    I'm not positive but I think the TAG system is bugged. I cannot get it to work at all if the there isn't an object with the tag in the scene while I set it up, which IMO is not correct. Users should be able to set a tag on the setting regardless of whether or not an object with that tag is in the scene - the point of using TAG is for it to be dynamic, so that when something spawns into the scene with the tag it can become an interactor - like in a multiplayer game where not all the enemies or players or objects are in the scene to start, but rather enter the scene at runtime and as needed.
     
    AndyNeoman likes this.
  45. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    All zombies are in the Creature Register?
    All tags are correct?

    Seems odd that 18 out of 20 are working... and the last two are not, what about duplicating number 18, to make it 21 and see if it works?
     
    Last edited: Oct 3, 2017
  46. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I use it like this. I have objects that I change the tag of by script so they become items of interest to my AI.
     
    Tethys likes this.
  47. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    484
    I just went through all 60 of my zombie AI's and replaced their Interactors with the one "that works" and has no "*". Turned 'em all on in the register, and hit play. The first one and the last one spawned (different ones from last time!) are now correct at runtime.

    I am going to disable them all but one, and see what happens one-by-one.
     
  48. zrocweb

    zrocweb

    Joined:
    Dec 19, 2016
    Posts:
    43
    Hey has anyone had any luck setting up multiple hit boxes for a creature using the Environment colliders. Either I'm doing something wrong, which is possible, or something is just not working right. I have tried using tag, layer and collider as well as just a layer, just a tag and just a collider as the detection setttings, but just can't get it to work right.

    I'm using a FP controller with various weapons and sorts attached to it and have just been testing this using one weapon, the revolver. I have ICE Creature player component on the FP controller. Because this controller is completley custom for my current game (and I know it's not the controller causing the issue), I used the events of the creature player component. Example, for mouse0 I just give it the "RangedWeaponFire" method name. This component (ICE Ranged Weapon) is attached to the revolver. On the revolver the base damage of 2 (for testing) is being applied when fired. In the environment settings I have 3 body parts defined but 2 disabled for now and just using head shot for testing purpose. Damage applied for head shot of course is 100 and should kill the creature when FP fires the revolver. But it does not, just the base 2 from the RangedWeapon Component is running and it looks like nothing the environment is not.

    Anyone have any suggestions or a quick-walk through/write-up they could share.

    Thanks.
    -z
     
  49. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    I'm doing a video on this next week, if no one has an answer. it's difficult to see how you've set it all up. i think i had an issue with this because its a child object and i think i needed to tweak the collider code. I will find out once i try it on a fresh project.
     
    Last edited: Oct 4, 2017
    TonanBora likes this.
  50. zrocweb

    zrocweb

    Joined:
    Dec 19, 2016
    Posts:
    43
    Hey Julian,

    I'm currently using Ultimate Survival core project utilizing it's FP controller (CC Driven Controller). I've modified I've spent countless hours on flipping around colliders, layers, tag;- trying different tag/layer/collider combinations, etc... Anyhow.

    I think the issue is coming from US not detecting the collider and/or something I have set up. I added the @define in the projects player setting "ICE_ULTIMATE_SURVIVAL".
     
    julianr likes this.