-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Research: Build a Unicursal Maze #18
Comments
This would work, but would need a little tweaking. Might be too boring though: |
Actually, generating a universal method for interesting, space-filling, unicursal mazes that works for mazes of any size/shape is deceptively hard. This is a research task, indeed. |
I don't know if this is helpful, but in research of my own for a separate project, I found this website: (https://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap). If you scroll down to the comments the writer of the blog states:
So the algorithm would look something like this:
You might want to consider adding mazes with larger walls/corridors and the function to find the straight corridors to the main module. Especially the first one would be very useful for game development. |
You might also want to try creating a specialized perturbation method that keeps a unicursal maze unicursal, and then applying that liberally to a simple curve, like the peano curve mentioned in the wikipedia article. I don't know how you would go about this. |
That's a really interesting algorithm! I haven't seen that before. I can look at it, and see what kinds of results it produces. No reason not to try. Thanks! |
This is a research topic. I think it is doable... if you're willing for the algorithm to be painfully slow. Can it be done smartly?
https://stackoverflow.com/questions/7369945/algorithm-for-maze-generation-with-no-dead-ends
http://www.michaelchaney.com/2014/03/unicursal-mazes/
http://people.cs.aau.dk/~normark/prog3-03/html/notes/fu-intr-2_themes-hilbert-sec.html
https://en.wikipedia.org/wiki/Space-filling_curve
The text was updated successfully, but these errors were encountered: