Live data from Hacker News

Maze Algorithms (1997)

astrolog.org

1–10 of 37 posts

Re: Maze Algorithms (1997)

#3
This is a great list! A while back I also enjoyed reading “Mazes for Programers” and playing around with different maze generation algorithms from that book over a holiday break. The book isn’t super deep, but it has a fun set of projects and further ideas/reading as well. https://pragprog.com/titles/jbmaze/mazes-for-programmers/

Re: Maze Algorithms (1997)

#5
post #2

Are there also algorithms for (incremental) generation of infinite mazes?

What would it mean for a maze to be infinite? It seems to me that a key part of the concept is having a goal to reach.

Although I guess you could have an infinitely large map and an algorithm that guaranteed connectivity. Infinite ways to fail to reach the goal. But I doubt there would be much practical benefit.

To actually answer your question it should be fairly easy to convert nearly any existing algorithm to cover an infinite area by simply tiling it. A common method to avoid boundary issues is to overlap the tiles slightly.

Re: Maze Algorithms (1997)

#6

This is a great list! A while back I also enjoyed reading “Mazes for Programers” and playing around with different maze generation algorithms from that book over a holiday break. The book isn’t super deep, but it has a fun set of projects and further ideas/reading as well. https://pragprog.com/titles/jbmaze/mazes-for-programmers/

couple that with the "the ray tracer challenge" book, and you can generate some pretty cool images :o)

Re: Maze Algorithms (1997)

#7
Yes, this page is a good overview of the sorry state of maze generation. The maze-creating algorithms might be interesting for computer scientists, but they're terrible at creating mazes interesting for humans!

First, I'm not sure "perfect maze" is a good requirement - well placed loops make mazes more interesting. Second, "uniform" is a useless metric: generating all mazes with equal probability leads to the mazes being visibly uninteresting, with many short dead ends. Same goes for the other metrics.

Sean C Jackson makes some good mazes: https://www.seancjackson.com/

---

Inspired by the above, I'm in the process of creating a maze game for my kid: https://maze.tasuki.org/

So far I hand-crafted the mazes. The initial idea was to generate them, but I quickly found out that generating interesting mazes was hard. And generating interesting mazes in 2.5D with with weave and without walls is even harder.

So I'm practicing maze creation. My newer mazes are much better (and take me less time to create) than the first attempts. I think eventually I'll be able to write down the algorithm I use for maze creation.

Re: Maze Algorithms (1997)

#8

This is a great list! A while back I also enjoyed reading “Mazes for Programers” and playing around with different maze generation algorithms from that book over a holiday break. The book isn’t super deep, but it has a fun set of projects and further ideas/reading as well. https://pragprog.com/titles/jbmaze/mazes-for-programmers/

> The book isn’t super deep, but it has a fun set of projects and further ideas/reading as well.

Does it just regurgitate the well known maze generating algorithms? These generally do not lead to mazes interesting for humans...

Re: Maze Algorithms (1997)

#9
post #2

Are there also algorithms for (incremental) generation of infinite mazes?

The linked-to page mentions:

> Infinite length Mazes: It's possible to create an infinitely long Maze (a finite number of columns by as many rows as you like) by only keeping part of the Maze in memory at a time and "scrolling" from one end to the other, discarding earlier rows while creating later rows.

> An easier way to make an infinite Maze is with Eller's or the Sidewinder algorithms, as they already make Mazes one row at time, so simply keep letting them add rows to the Maze forever.

My tiny obfuscated maze program at https://tromp.github.io/pearls.html#maze will print an infinitely long maze if you enter a negative height.

Re: Maze Algorithms (1997)

#10
post #2

Are there also algorithms for (incremental) generation of infinite mazes?

What would it mean for a maze to be infinite? It seems to me that a key part of the concept is having a goal to reach. Although I guess you could have an infinitely large map and an algorithm that guaranteed connectivity. Infinite ways to fail to reach the goal. But I doubt there would be much practical benefit. To actually answer your question it should be fairly easy to convert nearly any existing algorithm to cove…

I'm looking for such an algorithm, with intermediate goals: you start at the bottom, go up, and as you reach the goal, more maze appears. I left out some unimportant details :)
Post reply on HN