We’re working on updating a section on the wiki to show this and also creating a forum thread to talk about its use. I will post here when it’s all ready!
Here’s the link! http://rivaltheory.com/wiki/rainelements/navmeshrig
Let me know if you have any issues!
Does the framework support dynamic obstacles ?
EDIT: This is from the same question in reddit thread, so is answered.
“Dynamic obstacle avoidance is slated for a future release. We want to make sure we nail down this feature completely before we release it.”
This tool is incredible :). I have been usng it today and is full of options and works amazingly well. The mesh generation is stellar too.
Thanks so much! Let us know how your experience is going. We’d be excited to see the progress on your project!
Thanks, i will update when i have a first implementation, now i am playing with it and see how i can best integrate with ORK Framework event system.
I simply love the fact that you have such an expansive system that covers so many aspects, like behavior trees, sensing etc, after lots of searching seems that this is the best way to go to reduce complexity and keep all in one place as much as possible in my project.
Keep up the amazing work ![]()
Ok, cool, it’s bit late reply but I will do the test with run time nav mesh generator.
However, I have one more question.
In my system, I need to move my AI using the very root game object of the character and I have legacy animation system where lower body animates separately from upper animation. They have different animation needs , as lower body needs to animate according to the moving direction and speed , and the upper body needs to rotate and animate separately from the overall moving direction of the AI. Meaning, upper body is going to look where the AI is “looking” while moving in some direction not necessary the same direction as movement. I have already done this, and I am not asking RAIN to handle it, but I need to do separate animation state for upper body and run different one for lower body.
I can see that there is “custom animator” but when I click on it, it doesn’t really show much…
http://rivaltheory.com/wiki/customization/customanimator
Where can I get more information?
Is there (or will there be) an actual gameplay demo for the Warfighter AI? Thank you
Thank you so much for your support! Let us know if there is anything we can help with!
I was talking to my development team about this and I think we can solve the problem relatively easily depending on how the animations are set up.
I think this topic would be best tackled on our RAIN forums so others can see/join in.
http://rivaltheory.com/forums/
I’ll look for your post directly or just send a link and we will get on it as soon as possible. Let me know if you have any issues!
Best,
Jester
Yes, we are working on a playable demo now. I will post here (and other places) when it’s available!
Thanks for asking!
-Jester
We want to showcase your VR games!
We’re putting together a page to show off all the VR-enabled games using RAIN.
Join the ranks of SUPERHOT, Among the Sleep, Zombie VR, GRAVE, Spirited Away, and many more!
Contact us to get started (media@rivaltheory.com), tweet #UsingRAIN in your twitter message, or simply post here.
If you want your project featured in our VR Showcase, we’ll need the following information:
A brief description of your game
Link to your website
Demo download (if available)
Let me know if you have any questions!
Best,
Jester
Is it possible to use RAIN to make a vehicle enemy AI similar to the one in the game Indestructible? Basically the bot cars follow you around but don’t really drive directly at you… i.e. they don’t try to ram you; they usually drive past you and drive wide circles around you while trying to get a bead on you and shoot you. They also back up when they hit a wall.
Here’s some example gameplay of the sort of enemy AI I’m talking about:
Thanks!
[DEMO Released] A demo for Squad Command: Advanced Warfighter AI pack was released.
This project was created #UsingRAIN
[Code Sample]
Hello eridani,
I waited to post something until I had a solution for you. Our fearless leader Prime put together a custom motor that lets us control vehicles in RAIN.
Let me know if this helps! Talk to you soon.
Best,
Jester
Thank you so much Jester and Prime! I checked out the code samples and the new demo and am reeeeeally close to buying this asset, but first I wanted to ask you about some concerns I saw in the demo:
-
Is it easy to set up random patrols for the enemy AI, or do I always have to mark carefully pre-determined patrol paths with waypoints.
-
Is the “take cover” command dependent on pre-appointed cover positions? In other words, it’s not a dynamic system where I can tell my comrades to take cover and they will find the nearest convenient cover between their present location and the enemy, but instead they will run back to the closest pre-appointed cover position.
-
After the enemy AI kills my comrades, and I am observing from far away, they just stand over the bodies, or occasionally run back and forth a short distance before stopping again. Is there a setting to make them keep looking for me after a firefight for a short period, and then start wandering? (or only at that point standing around)
-
When a few of the enemy are standing around close to each other, and I shoot and kill one of them, the others just stand there and don’t react at all. Is there a way for them to start looking for me if another enemy is killed or shot near them? Or if they detect shots fired at them that don’t actually hit them.
-
The enemy AI seems to enjoy pointing their rifles straight up in the air as they stand around. It would look a lot better if they just kept their rifle held low during idle.
Overall the AI is very impressive and seems to work well “out of the box” (I’m assuming the demo doesn’t have all kinds of customizations added and is representative of actual performance). Well done guys!!
Yes it’s really easy to set up random patrols, all you have to do is determine where you want your AI to move around, set some waypoints down, and set up your behavior tree to randomly select a waypoint. It should take no time at all, especially if you buy the package because 90% of the work is done for you.
There are predetermined “tactical positions” in the scene that the AI use for cover-- which you can customize. Yes, the AI will choose the nearest convenient cover between their present location and the enemy.
There is a way to tweak their behavior to what you’re talking about in the behavior tree. If the AI had not seen you at all they would not know to search for you. The AI will look for you if you break line of sight by going to the last spot they detected you.
This is interesting. We designed the AI communication system to handle a few different situations. If one AI gets shot, all the AI go on alert. With that said, not all the AI are going to do the exact same thing. We designed the different soldier classes to react differently.
I have not seen this behavior but we will look into it. There was a few bug fixes that went into the newest version so check out the demo and let us know what you think.
Thanks for the kind words! We built Squad Command so that every piece of this package can be reused for your own game.
Let me know if you have any more questions, I’ll be happy to answer them!
Talk to you soon!
–Jester
Thanks for the reply Jester. Some more followup points… apologies if you think I am nitpicking, because I most certainly am! I just think your AI is almost realistic and not as “gamey” as other AI, so I want to see if it can be pushed and tweaked further.
I guess I was asking if there was a way to set up a truly random wander where I don’t have to place any waypoints at all, and the AI will move in a random way while still avoiding obstacles (think of a deer in a forest, or a cow grazing on a pasture, or an aimless zombie).
So there is no dynamic cover, where the AI will “look” for cover on its own without me having to place cover waypoints…
Here’s an interesting take on dynamic cover by the “Shooter AI” asset (admittedly it does not work perfectly at this time but the idea itself is interesting): “The cover system was designed to cope with dynamic environments so that you can make the level dynamically change in game, with the AI adapting to it. …the AI first shoots a specified number of rays into a field of view (i saw that 360 degrees made the most realistic results, as us humans have very good spacial awareness, even behind us), and checks whether any of them hit anything. Any ray that hits something gets a second ray starting from that point, that goes to the object that we’re trying to hide from. Any ray that gets a hit between those 2 points is a potentials cover, though that doesn’t guarantee that its good cover. Then from each of those points we send 3-10 rays that are ± 1 meter (or so) to check whether the cover is large enough to cover a whole character. Any potential points that go through all those tests then get stored in an array, and a small algorithm picks out the best cover (based on stuff like distance, how many objects between that cover and the enemy etc…) and then uses that Vector3 as the go to point. The cover function gets called every few seconds (depends on fear, adrenaline etc…) as to simulate that, just like humans, that spacial awareness is isn’t always perfect. Though this system often gives out good covers, it sometimes picks poor choices, though that also simulates human behavior.”
I guess I wanted more “humanlike” behavior as the default. Let’s say your brother was a soldier in Afghanistan who had just been in a firefight with some Taliban, killing three of the enemy. And then he was standing over the bodies immediately afterward. If you were his commander back at base giving him orders through a radio, wouldn’t you want your brother to do a sweep of the area at that point to make sure it was clear of hostiles, even if he hadn’t seen any other hostiles? (Only if you have a good relationship with your bro care about his life I guess)… I guess it breaks immersion for me if the enemy AI doesn’t automatically do a cursory circular sweep of the area looking for more hostiles after killing my comrades. The fact that they immediately just stop and stand there makes the AI seem “gamey” and not realistic.
Any further enlightenment appreciated! Thank you
Also, just a general AI question, if I may …please consider this scenario:
I want to have a suburb style level, with streets, shrubbery, parked cars, and multi-story houses and buildings, as obstacles. But I want the houses and buildings to be enter-able and have full navigatable interiors with multiple entrances/exits/windows, but also procedurally generated at runtime by loading pre-built house prefabs.
What do you think is the best way for RAIN to handle such a level so that an enemy AI can traverse the whole map, indoors and outdoors, seamlessly?
Have each building have its own navmesh? Can navmeshes be combined and joined together? If so, can an AI move from an indoor navmesh to an outdoor navmesh seamlessly? Or maybe build a waypoint network inside each house, and somehow connect it to an outdoor waypoint network?
Please let me know if RAIN is not suited for such a scenario, and in that case some other possible alternative. Thank you as always