# This is a personal project to generate a 2D maze using in depth path generation.

This can generate a stl file, overall goal was to print it with a 3D printer.

After years i finaly printed one maze, find it at https://www.thingiverse.com/thing:2814655

This is the very first usable part.

It was developped under debian 7/8 but since it is java based it might be very easily recompiled or even just copied on other platform.

There is a console gui menu based with ./doit.sh

requirement : you need a java jdk environment installed ( java + javac ) and ant

ex ubuntu : sudo apt-get install default-jdk ant

It can take various input

  * raw this tool raw format : see documentation raw
  * imc esoteric internal format
  * Drawing ?
  * osm openstreetmap exported map
  * we  minetest/luanti world edit format
  * Auto-generated
  * Created through GUI

and output

  * svg SVG / to handle with inkscape 
  * png 
  * raw this tool raw format : see documentation raw
  * stl for 3d printers
  * imc esoteric internal format
  * txt labyrinth as text
  * we minetest/luanti world edit format

===== BUILD =====

See BUILD.md

===== INSTALL =====

obtain laby.zip directly build or from you own build ( see BUILD above ).

```
unzip laby.zip
```

it will create  a artloglaby directory.

===== RUN =====

run it on a Linux distribution with :


```
cd artloglaby ; ./laby.sh
```

_______________________________________________

Save raw will actualy create a stl file
together with raw file
______________________________________________

it ask for three integers :

X Y maxpath

ex :

10 10 7

will generate a 10x10 labyrinth with trying to fork a different path every 7 steps.

then it saves labyrinth under lab or java/lab (depending if run or test respectively) directory under two format :
- one reusable by this tool that contains all solutions. ( .lab )
- one in stl that can :
  - be viewed with blender
  - or sliced with slic3r to feed a 3D printer ( not yet tested ).

buttons left,right,up,left can be used to walk the labyrinth. resolve will display solution.
and there is a control for sizing cells.

It was tested up to 1000x1000 labyrinth and can realy generate huge labyrinth.

Entry of labyrinth is upper left corner, exit is lower right ( this is different in 3D since Y axis where reversed ).

BUGS are numerous, and every bug was cleverly designed to drive you mad.
DOCUMENTATION is self contained in code an was in my brain, currenlty vanishing...

