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?
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.
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.
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.
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. http://video.xfire.com/32b842-4.jpg
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.