The procedural generation is actually easy. I just used a noise texture and a nav agent to create a tile map.
The hard bit was enemy ai