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

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

2 Likes

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?

1 Like

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

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! :slight_smile:

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.

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!

1 Like

Good afternoon . You are about to make support UFPS multieplayer?

1 Like

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

https://www.youtube.com/watch?v=q4b5byS6dak

1 Like

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

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 .

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?”

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.

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.

1 Like

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 .

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! :slight_smile:

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

1 Like

Hi Ronny, thanks a lot for your appreciation … ich gebe mir mühe :slight_smile:

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

1 Like

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

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!

1 Like

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

How does it trigger on textures? Will it work on terrain with 4 textures splatmapped? Very expensive test?

1 Like