Maze Generation and More with Kevin Maes!
Going deep into the world of generative art + coding with Kevin Maes and his vast experience in this field.
Hi everybody! In my latest podcast episode, I chatted with one of my favorite developers, the multi-talented Kevin Maes:
Kevin has been creating generative art + code for as long as I can remember, so it was a blast talking to him about how he got started, what he is working on now, and a boatload of topics in between.
Bonus: The bookshelf behind him has a treasure trove of excellent items that you should pause and zoom in on for some extra dose of nostalgic awesomeness!
You can find all the links to listen and/or watch across Apple Podcasts, Spotify, and more in this summary tweet.
Maze Generation
One of my favorite projects that Kevin has worked on revolves around maze generation. You have probably played maze games a bunch over the years. You may even be playing them today! The general gist of these games is that there is a top-down view of a series of walls and openings with a starting and ending point:
The challenge (and fun!) is for you and me to find a path between the starting and ending points without running into any walls and/or dead ends. There will always be at least one path that we can take:
Now, imagine we had to write a computer program to generate mazes like this programmatically. This opens the door to a lot of variation where our computer does the heavy lifting of creating complex maze pathways. Kevin not only built such a program (check it out here)โฆ
โฆhe gave a 5-minute humorous and informative lightning talk about it, which you can watch here.
Looking beyond the gaming angle, there are a lot of valuable programming techniques that one needs to employ to generate mazes. This Maze Generation article on Wikipedia details many of the popular algorithms and related approaches that you should familiarize yourself with. For presenting the maze to the screen itself, this would be one of those moments where the more primitive drawing capabilities of something like the Canvas would be better than using the DOM.
Conclusion
I shared a while ago that I am working on a beginner-friendly book on Data Structures and Algorithms. The challenge with this topic is that much of what we learn is foundational. Itโs more about learning how to build the actual LEGO bricks as opposed to cooler things built using the LEGO bricks. Maze generation is one of those rare topics where the distance between learning about the underlying implementation details and playing with the final result is quite small, so it was great to see Kevinโs implementation and discussion during our chat.
Ok - time to address some of the great feedback on the book from my editors and reviewers at Pearson, but Iโll be back to talking about more frontend topics in the near future. As always, you can ping me on Twitter, reply to this newsletter, or post on the forums to reach me.
Cheers,
Kirupa ๐