{"id":135,"date":"2025-09-15T13:33:29","date_gmt":"2025-09-15T13:33:29","guid":{"rendered":"https:\/\/leonwoud.com\/devblog\/?p=135"},"modified":"2025-09-25T00:20:30","modified_gmt":"2025-09-25T00:20:30","slug":"its-been-a-while","status":"publish","type":"post","link":"https:\/\/leonwoud.com\/devblog\/its-been-a-while\/","title":{"rendered":"It&#8217;s been a while&#8230;"},"content":{"rendered":"\n<p>Apparently my last devblog entry was just over 3 years ago today, and&#8230; well, a lot has happened in that time.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Personally, I moved from Wellington, New Zealand to Melbourne, Australia. This was a significant move for me, and it&#8217;s something I am still coming to terms with. It certainly killed my productivity for some time.<\/p>\n\n\n\n<p>Also, <strong>AI Everything<\/strong> (more on that another day) and we at some point recently jumped timelines to dystopian Earth.<\/p>\n\n\n\n<p>I&#8217;ve been feeling a bit nostalgic recently, so I picked up a book on mazes (<a href=\"http:\/\/mazesforprogrammers.com\/\" target=\"_blank\" rel=\"noopener\" title=\"Mazes for programmers\">Mazes for programmers<\/a> from Jamis Buck to be specific) and have been working through it, I&#8217;m only 66% the way through it right now. <\/p>\n\n\n\n<p>An old school friend and I used to draw mazes, during valuable class time of course. We&#8217;d add obstacles and items to collect, and as I type this I am now realising how old I am.<\/p>\n\n\n\n<p>Originally I was following along in <code>python<\/code>, with the drawing done with <code>pygame<\/code>, something I hadn&#8217;t used until now. However, I spent the last couple of days porting it to <code>p5.js<\/code> so I can share it here.<\/p>\n\n\n\n<p>I really enjoy the 25&#215;25 &#8216;Weave&#8217; maze, and when I finally got it to work I watched the &#8216;Recursive Backtracker&#8217; algorithm carve through 100 rows of a &#8216;Polar&#8217; (Theta) maze for 5 minutes. <\/p>\n\n\n\n<p>EDIT: I&#8217;m now about 80% the way through the book and I&#8217;ve added the last few maze algorithms and tidied up a bit.<\/p>\n\n\n\n<p>Here are a few of my favourite:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Weave, Randomized Kruskal&#8217;s. 100% braid removes all dead-ends so it feels nice and woven.<\/li>\n\n\n\n<li>Grid, Recursive Division. This is fun to watch, even at the larger maze sizes. It&#8217;s the only &#8216;Wall Creator&#8217; algorithm as opposed to the &#8216;Passage Carver&#8217; types.<\/li>\n\n\n\n<li>Polar, pretty much any of the algorithms. If you turn off the &#8216;Animate&#8217; option and just generate a few with the different algorithms at different sizes, you can really get a sense of the &#8216;texture&#8217; of them. Very sci-fi greebley. <\/li>\n\n\n\n<li>Hex, Prim&#8217;s. This algorithm paired with the hexagons feels quite natural, very flowery.<\/li>\n\n\n\n<li>Weave, Recursive Backtracker at 100&#215;100. This is fun to watch as it weaves under and over itself.<\/li>\n<\/ul>\n\n\n\n<p>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&#8217;t spend countless hours doodling mazes on graph paper.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><a href=\"https:\/\/www.leonwoud.com\/mazes\/01\/index.html\">https:\/\/www.leonwoud.com\/mazes\/01\/index.html<\/a><\/p>\n\n\n\n<iframe src=\"https:\/\/www.leonwoud.com\/mazes\/01\/index.html\" width=\"100%\" height=\"850px\" style=\"border: 0;\"><\/iframe>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apparently my last devblog entry was just over 3 years ago today, and&#8230; 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, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bgseo_title":"","bgseo_description":"","bgseo_robots_index":"index","bgseo_robots_follow":"follow","footnotes":""},"categories":[14],"tags":[13],"class_list":["post-135","post","type-post","status-publish","format-standard","hentry","category-mazes","tag-maze"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":9,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts\/135\/revisions"}],"predecessor-version":[{"id":151,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts\/135\/revisions\/151"}],"wp:attachment":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/categories?post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/tags?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}