MakeMaze
Moderator: Zyx
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
MakeMaze
http://dianneandpaul.net/CSBwin/MakeMaze.exe
I creates a random level. Use 'Setup/CreateMaze'.
I needs a bit of tuning. It does not know when to stop.
It seems to need more wall connections to the edges.
And some parameters to customize the overall shape.
And set the size. And lots more.
It is artifically slow to let you see how the
algorithm works.
If anyone thinks it might be useful we could put
a DSA function to do this.
I creates a random level. Use 'Setup/CreateMaze'.
I needs a bit of tuning. It does not know when to stop.
It seems to need more wall connections to the edges.
And some parameters to customize the overall shape.
And set the size. And lots more.
It is artifically slow to let you see how the
algorithm works.
If anyone thinks it might be useful we could put
a DSA function to do this.
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
great program! I like these labirynths from the latest algoritm you gave (0,100,10,1)! Maybe I would use it for creating my dungeon.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
The last algorithm is very kinked with stubby ends, might be annoying for the dungoen player
The '1' and '0' threw me for a second at the start ...
This is very cool. Is the percentage straight the chance for diviation in the path before hitting a wall, or the change of it going diagonally?
Also, what does the maximum attempts actually mean?
How does the algoritm decide to finish? Is it possible for it to stop before alot of the interetsing 'rooms' (2x2 or greater areas) are wiped out?
The '1' and '0' threw me for a second at the start ...
This is very cool. Is the percentage straight the chance for diviation in the path before hitting a wall, or the change of it going diagonally?
Also, what does the maximum attempts actually mean?
How does the algoritm decide to finish? Is it possible for it to stop before alot of the interetsing 'rooms' (2x2 or greater areas) are wiped out?
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
The probability that it will first attempt to go straight.Is the percentage straight the chance for diviation
It it first tries straight with the given probability.maximum attempts actually mean?
Then it tries random directions 'maximum attempts' times
before giving up and starting a new wall somewhere else.
When it fails to do anything during one pass. Usually thisHow does the algoritm decide to finish
means that there is almost nothing left to possibly do although
there may be a couple places that failed simply because
'max attempts' was not sufficient for it to succeed where
something was 'possible' but by chance was passed up.
I will add a 'Maximum iterations'. And I will add a 'maximumpossible for it to stop before alot of the interetsing 'rooms'
filled cells'. One of these might serve your purpose.
I will also add a
'post-generator' operation: You will be able to specify a min and
max size and a count. After the maze is generated, rectangles will
be created with x- and y-sizes randomly selected between
the sizes you specify. These will be placed randomly in the dungeon.
The number placed will be specified by 'count'. This will cause
'rooms' to be created and will also cause the maze to be multiply-
connected (loops) so that it cannot necessarily be solved with
the 'right-hand rule'.
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
- andyboy_uk
- On Master
- Posts: 647
- Joined: Thu Feb 20, 2003 1:51 am
- Location: London, UK
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Sounds a lot like the algorithms that the old
text-based dungeon games used. Games like
Rogue. Those sources are available and could
certainly be used. I think they put in the rooms and
then built passagways between the rooms. Very
different algorithm than my 'Algorithm0' and very
different-looking dungeons.
text-based dungeon games used. Games like
Rogue. Those sources are available and could
certainly be used. I think they put in the rooms and
then built passagways between the rooms. Very
different algorithm than my 'Algorithm0' and very
different-looking dungeons.
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Such a clever fellow that I am. I correectlyYeah, it would be cool to be able to port these into CSBuid
anticipated your reply and went ahead and did it.
I posted a new MakeMaze.zip that has all the necessary
ingredients for composing and importing a maze.
It also has an example maze that you can play through.
Adamo will have to create theh maze and import it. I
won't be adding this to CSBuild.
The program is rather ugly. If we want to add additional
algorithms then I will rewrite it mostly from scratch. It
was only a couple hours work.
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
This seems good for DM-like games:
pre: 1,2,9,78,750,750
post: 1,6,10
You should add several doors of course
pre: 1,2,9,78,750,750
post: 1,6,10
You should add several doors of course
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
Re: MakeMaze
Bumped. This tool is great, maybe it will be usefull for dungeon designers.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
Re: MakeMaze
Excellent work. Tried Gambit's parameters and it looks great. Some kind of rudimentary export feature would be good (just 0 and 1s), but hey. I'm not complaining.
Great job! Can I ask where you sourced the algorithm from, please?... Ehhh, this thread is 5 years old, so maybe you've forgotten
Great job! Can I ask where you sourced the algorithm from, please?... Ehhh, this thread is 5 years old, so maybe you've forgotten
- Paul Stevens
- CSBwin Guru
- Posts: 4319
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: MakeMaze
I made up the original from my past experienceCan I ask where you sourced the algorithm from, please?
making mazes. Sixty years of experience. So
I have no idea where the ideas came from.
Then------I added things as people in this forum
made suggestions. Most of the algorithm is
discussed in previous posts. And-----I don't
even remember writing this program.