Apparently my last devblog entry was just over 3 years ago today, and… well, a lot has happened in that time.
Professionally, I moved from supporting and writing tools for animators in Maya, of which I had years of experience, to supporting and writing tools for FX artists in Houdini, of which I had precisely zip. Today, 3 years later, I can say with confidence that I have only just started to scratch the surface.
Personally, I moved from Wellington, New Zealand to Melbourne, Australia. This was a significant move for me, and it’s something I am still coming to terms with. It certainly killed my productivity for some time.
Also, AI Everything (more on that another day) and we at some point recently jumped timelines to dystopian Earth.
I’ve been feeling a bit nostalgic recently, so I picked up a book on mazes (Mazes for programmers from Jamis Buck to be specific) and have been working through it, I’m only 66% the way through it right now.
An old school friend and I used to draw mazes, during valuable class time of course. We’d add obstacles and items to collect, and as I type this I am now realising how old I am.
Originally I was following along in python, with the drawing done with pygame, something I hadn’t used until now. However, I spent the last couple of days porting it to p5.js so I can share it here.
I really enjoy the 25×25 ‘Weave’ maze, and when I finally got it to work I watched the ‘Recursive Backtracker’ algorithm carve through 100 rows of a ‘Polar’ (Theta) maze for 5 minutes.
EDIT: I’m now about 80% the way through the book and I’ve added the last few maze algorithms and tidied up a bit.
Here are a few of my favourite:
- Weave, Randomized Kruskal’s. 100% braid removes all dead-ends so it feels nice and woven.
- Grid, Recursive Division. This is fun to watch, even at the larger maze sizes. It’s the only ‘Wall Creator’ algorithm as opposed to the ‘Passage Carver’ types.
- Polar, pretty much any of the algorithms. If you turn off the ‘Animate’ option and just generate a few with the different algorithms at different sizes, you can really get a sense of the ‘texture’ of them. Very sci-fi greebley.
- Hex, Prim’s. This algorithm paired with the hexagons feels quite natural, very flowery.
- Weave, Recursive Backtracker at 100×100. This is fun to watch as it weaves under and over itself.
There is a bunch of things I would do differently with this, if it were to be done properly. But it has been a lot of fun. Highly recommend this book, even for those of you who didn’t spend countless hours doodling mazes on graph paper.