Search Unity

RAIN{indie} Free, Powerful, AI Engine -- Released

Discussion in 'Assets and Asset Store' started by RT_Jester, Jan 25, 2013.

  1. nixter

    nixter

    Joined:
    Mar 17, 2012
    Posts:
    320
    Sentio does not come with RAIN. It's Rival{Theory}'s premiere AI solution and costs $$$$. It is not for indies on tight budgets.
     
    Last edited: Nov 9, 2013
  2. nixter

    nixter

    Joined:
    Mar 17, 2012
    Posts:
    320
    My understanding is that Sentio is a cross-platform AI system. Not just PC vs. console vs. mobile, but also TV, movies and advertising. Imagine a fictional character that remembers you attending it's movie, fighting side-by-side with it in a game and then shows up in online ads to offer you deals. It's Transmedia AI. At least that is my understanding.
     
    Last edited: Nov 9, 2013
  3. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Other than the AI pushing deals and offers to you, you nailed it. :) Bravo.
     
  4. nixter

    nixter

    Joined:
    Mar 17, 2012
    Posts:
    320
    Sounds like a Billion Dollar Idea. Could be the next BonziBuddy. :p
     
  5. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Or even better-- the next Clippy!! ;)
     
  6. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    [New Video] Rig up basic shapes in #unity3D with #Rain AI in about 5 mins.

     
  7. Ren-the-Unclean

    Ren-the-Unclean

    Joined:
    Nov 7, 2012
    Posts:
    10
    Seems like a cool system, easy to use!

    I had a question about performance with larger numbers of AI Rigs. I have a behavior that simply makes the character find a random destination (custom action that just finds a random vector and assigns it into a Rain memory variable) and then move to it, set in a repeating sequencer, so he will just wander around.
    When I add more than about 12-13 of these characters to the scene, the framerate drops pretty heavily.
    Do you have any idea what a reasonable number of actors would be for a project using Rain for AI?

    Thanks,
    Ren.
     
  8. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello Ren the Unclean,

    Just as something really common, you can get a performance improvement by putting sensors in their own layer, and then limiting that layer's collisions to only the bare minimum. Especially, so the Sensor layer does not collide with itself or Default.

    Let me know if this helps. If it doesn't, we can try other solutions.

    Best,
    Jester
     
  9. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    In this first video Prime shows you how to rig up the Defender AI and his patrol behavior.

    [video=youtube_share;3E4k-WSey04]http://youtu.be/3E4k-WSey04

    In the second video, Prime shows you how to rig up the Attacker AI, his wander behavior and waypoint network.

    [video=youtube_share;W6WKOLoHu_0]http://youtu.be/W6WKOLoHu_0

    Let us know what you think!

    Best,
    Jester
     
  10. thedreamer

    thedreamer

    Joined:
    May 13, 2013
    Posts:
    226
    I've watched Rain Indie for a long time

    I know that Rain Indie is great, but I do not use rain indie

    AI is used in the action game there are a lot of choices

    Of course, Rain Indie is good

    But Rain indie have greater potential.

    I want to see Rain indie to be used in simulation game(Sims, Farming, RTS, Sports game, adventure.........)

    I wish Next tutorial is expected to be useful in simulation game
     
  11. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello thedreamer,

    Thanks for the feedback! We want to make RAIN as easy and intuitive to use as possible, so the tutorials we're creating will keep building so RAIN users have a fantastic example of how to use RAIN in the multiple game types you mentioned.

    In the next tutorial we will show you how to add attack behavior using sensors which can be applied to a wide range of games like Adventure, RGPs, Tower Defence, FPS, and even 1v1 Fighting games.

    Let us know what you think.

    Best,
    Jester
     
  12. yuewahchan

    yuewahchan

    Joined:
    Jul 2, 2012
    Posts:
    309
    Last edited: Nov 27, 2013
  13. TMPxyz

    TMPxyz

    Joined:
    Jul 20, 2012
    Posts:
    766
    Hello, I have just tried RAIN 2.0.5 with the BehaviourTree part, the editor and api seems quite good and I love it very much.

    So I advances with some profiling tests ( 100 AIRigs, each with only 4 levels of Sequencer and nothing else {Root->Seq->Seq->Seq->Seq} ).
    The Unity profiler states that BTPriorityNode.Start will alloc ~48KB every frame. It looks like each BTPriorityNode(and its subclass Seq, Selector) in the tree will cause ~0.1KB alloc every frame.
    It's about 2~3MB every second, therefore the GC collect is invoked about every second

    I wonder if there's some method or settings that can eliminate this overhead.
     
  14. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello TMPxyz,

    Thanks for contacting us! We find that RAIN can get a performance improvement by putting sensors in their own layer, and then limiting that layer's collisions to only the bare minimum. Especially, the Sensor layer does not collide with itself or Default.

    Let me know if this helps!

    Best,
    Jester
     
  15. TMPxyz

    TMPxyz

    Joined:
    Jul 20, 2012
    Posts:
    766
    Hello Jester,

    Thanks for your reply.
    Indeed I only used BehaviourTree and no sensors or other RAIN systems were used, so I think your suggestion might not apply.
    If I'm not mistaken, the allocation happens in the BTPriorityNode.Start(), which is called every frame.
    In the Start() function, two LinkedLists are re-created and the their childNode are added every frame.

    I have attached a unitypackage of my test scene in the `Scenes' directory, maybe you could check if I set something wrong.
     

    Attached Files:

  16. Prime

    Prime

    Joined:
    Jul 22, 2011
    Posts:
    39
    @TMPxyz: We'll look into the issue with priority nodes. The Sensor optimization is related to RAIN{indie} only and is not a factor in performance for RAIN 2.0.
     
  17. TMPxyz

    TMPxyz

    Joined:
    Jul 20, 2012
    Posts:
    766
    That's great! Looking forward to the new release.
     
  18. xander999

    xander999

    Joined:
    Oct 21, 2012
    Posts:
    8
    Is this compatible with custom guns by default somehow, like set a custom number of clicks, or do I need FPS control?
     
  19. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello xander999,

    Thanks for posting this, could you go into more detail about what you're asking?

    Best,
    Jester
     
  20. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    In this third and final installment of our Wander and Attack Series using RAIN, Prime shows you how to set up sensors and finish the attack behavior.


    [video=youtube_share;nk4tHxzkFfA]http://youtu.be/nk4tHxzkFfA

    Comments and suggestions about our next series welcome!

    Have fun!

    -Jester
     
  21. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Early Holiday Gifts for our RAIN Community!

    RAIN v2.0.7 is now live! **Cheers the Eggnog** **Sonic Screwdriver** **Dwarven Mead** (or whatever your drink of choice is)

    Click "Check for Updates" in your RAIN menu to grab it.

    Patch Notes http://bit.ly/18PuO91

    If you have some extra time of the holiday to experiment with RAIN, let us know what you think!

    Happy holidays from all of us here at Rival Theory.
     
  22. EiKON-Andy

    EiKON-Andy

    Joined:
    Nov 13, 2010
    Posts:
    66
    Hi there! I'm quite new to RAIN but I'm struggling with something that I think is probably really simple. I am just playing with a simple point-and-click-to-move as a test. I have a custom action to get the move target from the point clicked on the terrain, and the character moves to the location. That's working fine. The bit I'm struggling with is playing the idle animation once the character reaches the destination...

    (I was going to post on the RivalTheory forum but I'm still waiting for my registration email to come through. It's only been about 30 minutes but I'm impatient!)

    EDIT: I've added a distanceToDestintation check in the custom action and added a constraint based on that to the BT. That has actually solved the problem - just wondering if there is a way to do it using the BT only...
     
    Last edited: Dec 19, 2013
  23. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello EiKON-Andy!

    Thank you for posting this. You should be able to get on the forums. Let me know if you can't.

    I will look into this and get you some feedback.

    Best,
    Jester
     
  24. EiKON-Andy

    EiKON-Andy

    Joined:
    Nov 13, 2010
    Posts:
    66
    Thanks Jester. I'm registered now.

    Note to self: Check spam filter...
     
  25. TMPxyz

    TMPxyz

    Joined:
    Jul 20, 2012
    Posts:
    766
    I have just checked the RAIN v2.07 , looks great.
    The BT priority node allocation in my previous test scene has dropped from 48KB to 7KB per frame,

    Thanks for the quick fix.
    But could I still suggest you save the last 7KB? maybe recycle the LinkedListNode with some pool?
     
  26. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello TMPxyz!

    Thanks for posting this. I talked to the dev team and they wanted to see more details about the 7KBs. There is likely something else going on inside or around your priority node.

    Any details could help.

    Talk to you soon!
    Best,
    Jester
     
  27. TMPxyz

    TMPxyz

    Joined:
    Jul 20, 2012
    Posts:
    766
    Hello, Jester:

    I attached a profiling image below. It seems to be LinkedList.AddLast(T), it will create a LinkedListNode<T> internally.

    $1.jpg
     
    Last edited: Dec 22, 2013
  28. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello EiKon-Andy,

    Just to follow up on this topic. It is possible that the AI is not stopping because of a bug in 2.07. 2.08 patch will be out soon. You shouldn't need any special code for this.

    I'll keep you all updated as the time for launch come closer.

    Talk to you soon.
    Best,
    Jester
     
  29. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    TMPxyz,

    Sorry for the late follow-up. I talked to the dev team and added this potential change to our list. So we will be looking into it.

    Thanks again for posting!

    Best,
    Jester
     
  30. Shadyfella

    Shadyfella

    Joined:
    Mar 29, 2013
    Posts:
    5

    First of all... amazing work and thank you for sharing this with the community! :)

    I have been working with RAIN since the Indie version went free.. and recently had successfully worked through all of the tutorials on your site. Since the latest update (2.0.7) I cant seem to get the detect nodes to sense any aspects... I have stripped down the BT to a single detection node with zero success still... any ideas on what I may be doing wrong here?

    Thanks again :)
     
  31. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Happy New Year!

    We have been working on the latest RAIN patch and it's ready to share with all of you.

    RAIN v2.0.8 is now live!

    Click "Check for Updates" in your RAIN menu to grab it.

    Patch Notes http://bit.ly/1gwXTLI

    Let us know how your projects are going!

    Best,
    Jester
     
  32. bbsbot

    bbsbot

    Joined:
    May 23, 2012
    Posts:
    84
    good to see this sweet get an update. but why you didn't upload it to the download area of your site while there still version 2.05.
     
  33. Prime

    Prime

    Joined:
    Jul 22, 2011
    Posts:
    39
    Detect node Sensor and Aspect have changed - they are now Expressions. That means you will need to use sensor names like this "MySensor" and aspect names like this "MyAspect" (with the quotes). Existing projects should have upgraded themselves automatically.
     
  34. TMPxyz

    TMPxyz

    Joined:
    Jul 20, 2012
    Posts:
    766
    Hi, it's great to see RAIN gets new release!

    Recently been reading F.E.A.R's code and paper, it looks quite amazing but the code is kinda messy. I wonder if RAIN has plan to add GOAP or Planner support in some day.
     
  35. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Here is the first edition of Rival Theory's Studio Showcase!

    $556124_303677596367081_2048263644_n.jpg


    Studio: Harebrained Schemes

    Game: ShadowRun: Returns

    The year is 2054. Magic has returned to the world, awakening powerful creatures of myth and legend. Technology merges with flesh and consciousness. Elves, trolls, orks and dwarves walk among us, while ruthless corporations bleed the world dry. You are a shadowrunner – a mercenary living on the fringes of society, in the shadows of massive corporate arcologies, surviving day-by-day on skill and instinct alone. When the powerful or the desperate need a job done, you get it done… by any means necessary.

    Get your copy today!
    http://store.steampowered.com/app/234650/

    Available on Steam for Windows and OSX.

    RAIN’s modular AI suite, specifically its behavior tree, pathfinding, and sensor/aspect system, was used to craft much of the enemy behavior in ShadowRun: Returns.

    Read more about Harebrained Schemes’ amazing game and how they used RAIN.

    Studio Showcase is a free program where we promote games using RAIN to thousands of players, artists, and developers that are waiting to see the next great idea. Your idea.

    Get started here
     
  36. Pavel_D

    Pavel_D

    Joined:
    Nov 17, 2013
    Posts:
    14
    Hi, I have rotation face problem with rain idle 2, my enemy/player moves sideways, in enemy model rotates on 90 degress and it's normal but Player controlling mecanim(for 2d, game is 3d(platformer)) and he doesn't rotate in model because will be work only Rain or Srcipt controller(left ride moving, jumps and etc.) with correctly face angle. How can I tune Rain correctly for this? I try mecanim motor with default face before moving but this doesn't work.
     
    Last edited: Jan 21, 2014
  37. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello Facebook!

    We're back again with another update. That's two in one month! :)

    Enjoy.

    RAIN v2.0.9 is now live:

    Click "Check for Updates" in your RAIN menu to grab it.

    Patch Notes http://bit.ly/1hfctqY

    Let us know how things are going!
     
  38. Pavel_D

    Pavel_D

    Joined:
    Nov 17, 2013
    Posts:
    14
    This don't work for me, and default face before moving don't help. When my Player controlling by Rain, he rotate on 90 degress and went sideways, may be because my model rotated on 90 degress(for platform game). How can i tune Rain? How i can say Rain what my model rotated 90 degress and rotate to normal angle(-90)?
     

    Attached Files:

    Last edited: Jan 23, 2014
  39. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Is the updated version on Asset Store yet?
     
  40. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello jrDev,

    There is not an updated version of RAIN on the Asset Store. I would suggest getting the version of RAIN off our website http://rivaltheory.com/rain/download/

    I will let you all know when it hits the Asset Store, there is a lot of red tape involved with our updater.

    Thank for asking!

    Best,
    Jester
     
  41. makoto_snkw

    makoto_snkw

    Joined:
    Aug 14, 2013
    Posts:
    340
    Hello Jester, good greeting to you and Prime.

    I was first saw Rain {Indie} in September 2013 but that time I was still in preproduction stage. Designing and writing for the game.
    Now that I come to the stage of prototyping I am VERY GLAD that RAIN have become mature as if it's destined for me to use it.

    I have some question though.

    Unity Technologies released Sample Asset (Beta) not long ago and they have example of point and click as well as follow the player AI.

    However the AI character won't take the shortest path if it require to JUMP but will choose the shortest path on a linear plane.

    The AI character also won't be able to follow the player character to JUMP up even though they share the same input and Mecanim avatar.

    The question, can RAIN AI climb up or jump up a along its pathway?

    p/s: I've read this thread from page 1 till page 15. :p
     
    Last edited: Jan 25, 2014
  42. Pavel_D

    Pavel_D

    Joined:
    Nov 17, 2013
    Posts:
    14
    I am also interested my enemy must be able to jump and detect jumping player.
     
  43. Pavel_D

    Pavel_D

    Joined:
    Nov 17, 2013
    Posts:
    14
    I decided problem with face rotation. I create varible(Rain AI) in player controller script and this varible assign to face AI Actions(on move and face Actions in the Behavior Tree)
    Code on Player(in Update method)

    Code (csharp):
    1. if(transform.rotation == new Quaternion(0,-1,0,0) || transform.rotation == new Quaternion(0,1,0,0))
    2. {// Right
    3.     stateRight = true;
    4.     aiStateV = new Vector3(0,0,-180000);
    5. }
    6. if(transform.rotation == new Quaternion(0,0,0,1))
    7. {// left
    8.     stateRight = false;
    9.     aiStateV = new Vector3(0,0,180000);
    10. }
    11. aiRig.AI.WorkingMemory.SetItem<Vector3>("stateRight", aiStateV);
    I add more angle because if use 90 or 180 degrees my Player model does not turn to the end.
     
    Last edited: Jan 30, 2014
  44. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Hello princeWIGUAN,

    Thanks for contacting us! The quick and simple answer is that we don't currently support that feature. There is a way if you wanted to create a custom motor but that would take some time. It is on our list of features to implement for future releases.

    Let me know if you have any other questions!

    Best,
    Jester
     
  45. RT_Jester

    RT_Jester

    Joined:
    Jul 21, 2011
    Posts:
    368
    Thanks for contacting us. For this you're better off using custom code. The way we are considering adding this feature is for a BT node to be able to toggle aspect on and off.

    Let me know if this helps!

    Best,
    Jester
     
  46. makoto_snkw

    makoto_snkw

    Joined:
    Aug 14, 2013
    Posts:
    340
    During the NavMesh generation we should ignore the climbable path so there won't be a hole in the NavMesh and the AI won't walk around them?

    Then, when the AI bump into the wall, use OnTriggerStay to send message to the AI to use CLIMB or JUMP BT?

    That's how I can think of, but maybe you have better idea?

    But I still don't know how to trigger the branch tree yet.
    I don't have the problem to make the Mecanim motor to trigger climb without RAIN.
    We can use the "target left hand" to the climb path like in the official Mecanim example.
    Just don't know how to trigger the branch tree on this special occasion.
    Most of the old examples showing old Rain {Indie} interface and it's so different that I got lost, often.

    I've watch all the tutorials video on your official website though.
     
    Last edited: Jan 30, 2014
  47. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Why can't I remove the Rain folder from my project? Every time I try to delete the folder, it does some voodoo and come back again :O
     
  48. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    That happened to me too. Rain got caught in some kind of update loop where it kept reinstalling itself so I had to close Unity and delete everything Rain related from explorer. To do that I even had to manually End Task on a Mono.dll so I could delete it.

    It also did some kinda craziness where it opened a bunch of scenes in the project after installing and updating itself for some reason. Since this was my test project full of giant TC terrains it took quite a while to complete. I fool around with a lot of different Asset store packages and have never seen either behavior before.
     
  49. Pharaoh

    Pharaoh

    Joined:
    Jan 8, 2014
    Posts:
    28
    I'm trying to apply simple mecanim animation to some 2d tutorial project. Animation just won't play.
    I think that I have connected everything properly. I have attached some screenshot images. Any help could be appreciated.

    $mecanim1.png
    $mecanim2.png
     
  50. Pavel_D

    Pavel_D

    Joined:
    Nov 17, 2013
    Posts:
    14
    Okey firstly you aren't adding any transtions(idle->(to)jump) and you cann't go to jump without transition.
    Fix: add parameter to mecanim parameters (may be jump with type bool). //Right mouse Click on the Idle -> Make Transition click on the jump)
    Secondly you use standart animtion system not mecainm(in Rain)
    Fix: in Rain -> create->Actions->Mecanim->Set State Prameter and next choose Name: (how named your parameter in mecanim) jump, type boolean, Value: true. And delete animation(old state param if you use mecanim)! // and unchecked pause when hit
    Perhaps you've had a little practice in Mecanim and Rain. I recomend see this tutorial http://unity3d.com/learn/tutorials/modules/beginner/2d/2d-controllers and on this page http://unity3d.com/learn/tutorials/modules tutorials about 2d and Animation.
    For Rain I recomend see this tutorials http://rivaltheory.com/community/tutorials/ and/or this official page on youtube http://www.youtube.com/user/RivalTheory.
     
    Last edited: Feb 10, 2014