At 9PM GMT-5, we’ll be extending last week’s path finding into the third dimension.
Mythruna - “Path Finding part 3” Live Stream
https://youtube.com/live/OiFjCVrQX2c?si=LAbHpqFmehs12dQP
At 9PM GMT-5, we’ll be extending last week’s path finding into the third dimension.
Mythruna - “Path Finding part 3” Live Stream
https://youtube.com/live/OiFjCVrQX2c?si=LAbHpqFmehs12dQP
Are you building the path finding algorithms from scratch? I find graph theory really interesting and funny to work with especially if you have visual work. Honestly, I have no time to watch. I wish I could. This looks really interesting, especially if you are building algorithms from scratch.
Yes.
I have lots and lots of graph experience and that part is the easy part for me.
(Was reminded earlier of one of my ancient open source projects https://filament.sourceforge.net/ )
…but I’ve been working with graph data structures and graph databases for much longer than that. (2001 I even worked for a startup that based a whole software system on graphs… that was fun.)
If you watch the videos on 2x speed they don’t take as long. The previous week might be the more interesting one because that’s where the path finding part was actually implemented. Moving it to third dimension was just kind of an “implementation detail”.
…there may even be a chunk in the middle that you can skip… I don’t remember if I got side-tracked or not.
Very cool. A graph-based database. Are you still maintaining this? And using it in any of your open source projects?
I only started working on graphs weeks ago, building them from scratch too, then will have an optimization phase. I am doing them in GNU C to bridge some compatibility for hardware. Here I am also willing to try using the Automata Theory (states and transitions) instead of edges and vertices… To exploit some patterns with it… That an implementation detail anyway…
Thanks for the details, this is really useful for my work. I will try to allocate some time for it. Keep up the good work!
It works for what it is but I haven’t used it in more than 10 years. I keep thinking of bringing it back in for Mythruna (at least the API layer) but always just roll something custom built when I need it.
The database isn’t very fast… but the API itself is very clean and there are also in-memory graphs.
That might be useful. These days I am studying for coding interviews, so I thought that why not building some libraries to help me later. It will be cool for me to bring something like that back! I will give it a deeper look, if it works, I will bring it back with your permission.
The API is good. fstep is a neat idea that can turn anything into a graph with the right ‘step function’ implementation. This was before java got the java.util.function package and lambdas… so I haven’t gone back to see if it’s compatible in a nice way. I think step functions have more than one method so it might not matter… lambdas may not be appropriate anyway.
I will probably use fstep in Mythruna eventually. A* can be applied to a lot of different kinds of graphs and so it would be useful to have a portable version built on fstep interfaces. Probably whatever I promote to my MOSS libraries will be fstep based to improve portability.
By the way, in the following week’s live stream there may be some decent visualizations of A* path finding.
…starting about here:
58:08 or so.
A little while later, I also do a path finding test where it is not obvious which of two paths might be taken and the result was a little bit of a surprise in the end.