[AI] Rain{Indie}, A*, Other or Write Your Own?

So, just a quick question to those of you who are using AI in your games (well almost everyone), what AI pathfinding do you use?

I am trying to decide which to follow, and I see a few options and have been researching quite a bit :

1. A*
Awesome and free for commercial use, and the pro version only costs $100. Highly considering.

2. Rain{Indie}
Looks like it has an awesome interface, but I am unsure on the licensing.

3. Write my own
I can see this being a great learning experience over an extended period of time, however, how useful would this be if I just revert to what is better. Although what level would you have to be in C# programming in order to even think about starting your own. Do the majority of companies in the industry write their own? (Asking to those employed)

So yeah, my question.
Thank you all for taking the time
Myhi

Use Simply A*… naaah just kidding!

It really depends on what you need in your game.

Do you just need simple path’s in a never changing static world? Then you can use most.
Do you need to dynamically change the world? Do you need it to work with stuff like buildings with several connected floors? Do you need steering behaviors mixed in with your pathfinding so the AI will act to other AI and obstacles? Do you need it to work in a 2D game?

I could keep going.

In regards to writing your own it is not so much understanding the C# language. It is how well you understand the algorithm and Technics used to optimize it. If you had a simple algorithm course it shouldn’t be that hard to get going.

Yes, I am very sorry for the VERY ambiguous question :P, but I am just starting out in terms of AI.

Right now, I would probably be using it in a voxel like world (Already created). MAYBE using AABB collisions or sticking to just mesh colliders. And with Simply A* can you do some sort of grouping, such as hordes? (I’d assume so, just checking)

EDIT : Wow, read both your things in your sig, seems we have very common interests!

Actually grouping is a steering behavior thing, which i do not have in my project at the moment. A lot of people want it though so it will be added next. But as i will be busy with my Gunjitsu game over the next 2-3 months it won’t happen right now sadly.

Edit: A really nice book on the subject http://www.amazon.co.uk/gp/product/0123747317/?tag=idmme-21

What exactly made you want/need to make you own pathfinding? Learning interest?

Honestly, write your own.
While getting your own A* to work properly can be a pain in the ass, it is certainly worth it.
Once you have A* going, it is really easy to implement other algorithms such as Dijkstra’s.

And if you get a stuck at all, I would be more then happy to give you a hand.

Cheers for the offer of assistance!

I have a far way to go, as I’m fairly over my head with this right now, maybe a bit later, but thank you a lot for the offer.

When i wrote my first A* for Unity it was because i needed it for a game, and you needed PRO to use unity’s back then
.
The basis for Simply A* was a University project.

I used this to make my own pathfinding solution and then this and this to improve it.

It’s still kinda bad. It can be slow, it probably couldn’t really handle any game with sizable amount of agents or more complex environments. But doing my own solution was fun(/frustrating) and since I’m intimately familiar with it I can rather easily build on it or change it fit my current needs.

Well, I’ve only started coding (coming from gamemaker) about a year and a half ago, and I’ve made a navigation grid generator + basic pathfinding + dynamic avoidance. I think you should be fine, especially if you’re fine using wayponts, or you pre-voxelized the world (as they translate nicely into navigation graphs).

Geez, I remember Game Maker. Have you been creating this game fairly full time? Because I started Unity about the same time as you and I have obviously not covered anything close to what you have :stuck_out_tongue:

Or did you cover programming essentials in GameMaker?

EDIT : So most of you are suggesting using A* as a “base” and then working my way from there?

I used gamemaker D&D. Most advanced thing I made was asteroids, along with a plethera of platformers. Who could forget such memorable experiences as “Blockboy’s Adventure Through Blockland” (with the new and revolutionary feature of changing gravity!)?

ugh… pathfinding… pain in butt…

I have to write my own probably in november/december… I haven’t given much thought how I’m going to start but I have no issues sharing tactics when I actually get down to doing it…

Hmmm, yeah, keep each other posted. I’ve been researching a fair bit, so by then hopefully I will know quite a bit and will be happy to help.

It’s also very good for productivity when sharing knowledge with other developers

Hence for my Voxel Series :smile:

Although in a slow state right now…

One day I’ll buy A*, I just haven’t yet.

Also a neat alternative for A* algorithm: Game Platforms recent news | Game Developer

Worked great with lots of simple enemy agents and produced quite naturalistic behaviour. It was easier to implement than A* stuff I think and cheaper too since AI shared pathfinding data. I couldn’t make it work just right and it’s not a good fit for all games/situations but I don’t see how somebody more skilled couldn’t make it work great.