News Forums RAIN General Discussion and Troubleshooting Game AI is hot, many competitor is coming.

This topic contains 5 replies, has 3 voices, and was last updated by  CodersExpo 2 years, 4 months ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • #31358

    Yuewah Chan

    There are many new comers of game AI, especially Behaviour Tree, in unity asset store. RAIN team, please make your product out standing. I use RAIN from 1.x , and don’t want to change until I find NodeCanvas, it is so attractive that it support more features. Among all others, they have runtime source code, actually, I don’t mind to pay a few hundred dollar to access the RAIN source code as Pro license.

    There is a comparison table between them by NodeCanvas,
    NodeCanvas (US$60) -
    Behavior Designer (US$50) -
    Behaviour Machine (US$30) -
    React (US$25) -
    RAIN (Free) -

    • This topic was modified 2 years, 5 months ago by  Yuewah Chan.



    Thanks for your post. Our product uses Rain just for BTs. I’ve been waiting for an update to Rain for quite some time - being able to properly debug sub-trees is feature #1 that’s missing. I’ve made additional suggestions for keeping BTs and tasks sorted and arranged, and optimizations (months ago). Sadly Rains editor is unpolished and a bit buggy (It mysteriously losses it’s list of BTs for example, which forces a close and reopen of the BT editor to fix). I’m not happy with Rival’s release schedule and lack of updates in this area.

    NodeCanvas is a breath of fresh air! I really suggest that Rival takes a HARD look at what a BT system and editor can be in Unity. It’s a perfect example of what I was looking for. Its a order of magnitude easier to design. Its debugging is *amazing*.. there is no comparison. Debugging trees and sub-trees is trivial. My efficiency has increased dramatically.

    I was able to convert my entire game (20+ sub-trees/30+ vars per agent/25+ custom actions), over to NodeCanvas in a few days. I then spent a few more days optimizing my code and improving NodeCanvas performance. You get complete source code too to fix bugs and optimize. It’s performing as well as Rain, if not better now.

    I would seriously suggest to anyone who is using Rain for BTs - evaluate NodeCanvas.



    Hey Yeuwah, I recently purchased Behavior Designer, NC, AI for Mechanim and A* Pathfinding. I’ve been working with Justin Mosiman and Gavalakis Vaggelis (nuverian) on BD and NC lately. Got to love the competition and new products coming out. I absolutely love both BD and NC, though I can’t say they are better than RAIN.

    Each tool serves a purpose and will fit into your development flow differently depending on your project size, developer skill level, required functionality, development time, budget, etc….you understand. Nothing wrong with having several tools at your disposal. BD and NC are so similar and offer great behavior tree layouts and functionality.

    I find with ALL of these (BD, NC, AI4Mec, A* and RAIN) your code skills need to be up to speed to get your AI working to customized/acceptable degree. However, I give RAIN the gold star on “out of the box in minutes” setting up and configuring of basic (patrol, attack, search, flee, cover) type behaviors.

    With all of these tools documentation is a bit dated and there is very little in the way of video tutorials (though RAIN did just revamp the wiki and posts videos quite regularly). However, that really applies to nearly all the assets I’ve acquired. It’s simply the nature of advancing technology and not necessarily a show stopper if you get good developer and community support. I have received excellent support from each one in this case.

    In terms of functionality, each offers essentially the same out of the box abilities, in terms of behavior trees and how they manage your character(s). None of these solutions are really “state machines”; though, I like what BD and NC have done to create a canvas/designer for your own state machine and speech work flows. This is very nice indeed for helping to manage YOUR code. I’m sure they have learned from each other and taken bits and pieces from React, RAIN and others….This is the nature of the market. We all learn from each other and try to improve.

    I know RAIN is entertaining ways to integrate with other known/popular Unity plugins (per the communities request) and have considered ways to incorporate some of the most appreciated features of other tools. Keep in mind, they have a huge list of items that are in their development plans and are in the works now. In fact, they are getting ready to release another package soon with several updates and bug fixes.

    I was confused when I looked at the NC comparison list because right off the bat I saw RAIN didn’t have a check for things like Live Editing, Execution Debug Controls, Custom Variable Types, Saving/Loading of Variables, Agent Blackboard Sharing among others. I have been able to do most everything in RAIN that I can in both BD and NC. I wish they would explain better what exactly they are able to do here that can’t be done in RAIN. If you know about RAINS custom implementations of Memory, Mind, Motion, Extensions etc…then you know you can share any interface you create and cover most of those points.

    RAIN does use dll libraries and in some cases this prevents some “Live Editing” and Debugging. However, if you have an issue you feel is in those libraries just ask the RAIN developers and they are all over it and will provide help (and possibly add new application enhancements). I understand they don’t want to expose their code publicly and why would they. Also, compiled code performs better than scripts in most cases. I also like that it is all written in C#, which also improves performance. Anyway, I would leave the rest here for the developers to comment on since they know more than me about RAIN This is just my observation.

    All in all…these are ALL excellent tools and each has its ++ and -. I like very much that RAIN is FREE, has been around a long time, has exciting plans on the horizon for making RAIN MORE than just a behavior tree work flow designer. RAINS goal is to provide a way to give your characters personality, true memory and learned behavior. I don’t get that from the other tools or see that comming. So while I like what each has to offer, I’m going to stay close to RAIN because I like the direction and philosophy this company is moving. Good things come to those who wait….Great things come to those who are actively involved

    Thanks for the post! This will open up a great discussion I hope. I’m very interested to know what you like about any of these tools that you just can’t get out of RAIN.



    …one last note, you can’t skip over Integrated Pathfinding. Both BD and NC use Unity navigation and some features require pro license. RAIN allows for nav mesh creation, custom motors and easy intuitive waypoint system. RAIN is also working on dynamic navigation mesh, off mesh linking, and dynamic avoidance etc… This is not being provided with BD and NC…it is using the Unity built in which is fine but you may run into issues where it is pro only or it can’t be customized easily. What are your thoughts on this?

    • This reply was modified 2 years, 4 months ago by  CodersExpo.



    While I agree that each tool has its strengths and weaknesses, my post and the original are comparing BT packages. Rain is indeed a complete package including pathfinding and BTs. For anyone looking for an all-in-one solution that can be adjusted to write custom modules, Rain may be a good choice. That’s why we used it for a year… v1 and v2.

    Rain’s all-in-one model (overriding when necessary) sounds good. In my case OUR requirements for Path finding and *now* Behavior Trees far outpaced development and support from Rival Theory. While their solution is free, often you get what you pay for.

    We needed a better Pathfinder than Unity’s built in solution. Rain was a good candidate and our preferred system for v1. However, we needed a system to support dynamic recast within prefabs (we dynamically load 96+ mesh instances), and dynamic graph updates. Rain’s path finding was no longer a solution for us. We adopted A*Pathfinding - it fit the bill perfectly. Some of the features I mentioned are still “Upcoming Features” in Rain. A* is full source is included (we’ve made adjustments and optimizations).

    For BTs, we were really excited about v2, it added a graphical debugger. It was imperative that we be able to debug our trees - they are non-trivial. We added sub-trees for agent behavior modularity. However - sub-trees and debugging in Rain don’t mix. The only workaround (from the forums and devs.) is to copy/paste your sub-tree back into a single tree for debugging. Huh?

    Once we saw the workflow, debugging ability, flexibility, and support Node Canvas is simply amazing compared to Rain. Sure it’s a paid product (very affordable) but you have full source, something Rain will never have - you would have to wait for Rival devs to make your feature / optimization a priority *and* release it.

    I strongly recommend A*Pathfinding and now Node Canvas for BTs.



    Thanks for the feedback etouve! It’s very enlightening to understand how people are using ALL these tools. I appreciate your candor and perspective as I’m sure the RAIN team will too. I didn’t give kudos to Aron Granberg for the great work he did on A* in my last post. I agree, that is a great product too all by itself. Like I said, and you pointed out, the right tool for the right job. Thanks again for your post! I look forward to hearing from others. It’s nice to know what challenges and solutions they come up with.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.