Automated Pathfinding Bots

So, a while back thingshappen & I were working on some automated pathfinding bots using E2. Figured I’d post them here and see what people have to say.

First bot made by thingshappen. Don’t have any specific stats on this one however I think it was just under 1000ops

The second bot is made by me. Here’s some stats;
Average of 3000ops
~600 hit tests per second


This is just…so awesome. Very impressive work here!

Very nice, though it seems more like obstacle avoidance (trying not to hit things while you move around) than pathfinding (figuring out which way to go to get to a specific point). Actual pathfinding would require an algorithm and likely wouldn’t be as realtime-reactive as what obstacle avoidance entails.

I presume the different colours of hologram indicate traces with different purposes in your system, what do each of them mean?

Holy shit those are fantastic. I saw someone trying to make a ranger powered one and failing horribly, these are just great.

Now put a gun on it.

For my bot, the colours mean the following;

Blue sphere is where the bot is aiming for.
Purple squares are that it failed the lower bounds hit test.
Blue squares mean it failed the upper bounces hit test.
Yellow means that the bot can traverse that surface.
Orange means its too low. Not showing on this video but if you put my bot on a PHX plate in the sky it’ll stay on it.

For thingshappen’s bot the colours are much easier to understand;

Green is OK, the bot can go on that surface,
Red means it can’t travel on that surface.

And yeah you’re right, it is obstacle avoidance.

These are very nice, the illustration using holograms is cool too. I agree that they are obstacle avoiding rather than path-finding though. A pathfinder can navigate a maze, these bots would get lost.

Put a gun on v2, aim it at v1 for target practice, then have them chase each other around. I’d lol at that.

By the way, is there a download for this?

Getting a download now. I would just post the E2 but it needs to have forward, left and up vectors set up etc. Gotta go find the dupe in game

Its on thingshappen’s server, I’ll put a download link up later

It’s probably not that simple, but is the sphere the average of the cords of the yellows?

If it used a scout e2 to plot waypoints it cauld draw a path.

Will it make me lag if i have a shitty cpu ?? ( p4 2.8 ghz actually )


Maybe it could send out a “pulse” of the path finding code ahead of itself to form a map? Kind of hard to describe, I mean like sending the vector of where the traces come from along its own path without moving the robot, then returning the trace vector to the robot to try another path if that fails.

This is pretty cool. I’ll have to figure out a cheap way to do it for myself though.

I wonder how it would react if you increased the interval between the time traces are sent out. For how slow it is going I’m thinking it wouldn’t need to do as many traces per second. You could even make it so that the interval between traces is directly linked to it’s velocity; clamped of course so that it never stops sending traces and it never sends out too many traces that it shuts down.

I tried to make something like this, but i dont know anything about e2 so i made it only with rangers and thursters

before you go “Hurr you picked it up” please read the video discription.
I am still tweaking it and thinking of ways to make it work better

Not sure about Dotmisters, but mine doesn’t save the positions from each scan to an array or anything, so it just bases its thrust on whatever it’s looking at at the current time, which means when you add less scan points it becomes much less accurate but a lot faster at scanning. I didn’t however think of having it speed based, so that might be a good idea when I go back into Sandbox and have a mess around.

This is more the sort of stuff to look at when you’re talking “pathfinding”, this isn’t a perfect example (still some kinks in it) but it does a decent job most of the time.
The basic here is calculating a selection of points around a given starting point, selecting the ones that are available, trimming those down to the ones closest to the destination and easiest to reach (As well as those not in hazardous or otherwise unreachable terrain), and then shifting the starting point to the last one (or branching out into all the remainders, if there’s still more than one). Rinse, lather, repeat.