This generates mazes for you to solve! Your character is always placed where it has the furthest possible route to get to the X, which is the end.
Thanks to @griffpatch for the youtube tutorial.