Nick Montfort and others compilation of maze generation and other simple scripts from early home computing.
https://hub.xpub.nl/bootleglibrary/book/583
Some links to nice parts
The terms “maze” and “labyrinth” are generally synonyms in colloquial English. Still, many scholars and historians have argued over the distinction between these two terms. In the most popular proposed distinction, “labyrinth” refers only to single-path (unicursal) structures, while “maze” refers only to branching-path (multicursal) structures.In this book, the terms “maze” and “labyrinth” are not used to distinguish two different categories of structure or image. Instead, the two terms indicate a single conceptual category, with this book primarily using the term “maze” for both
Our journey begins here... https://www.kenney.nl/assets/cartography-pack
!wget "https://www.kenney.nl/content/3-assets/26-cartography-pack/cartographypack.zip"
!mkdir cartographypack
!unzip cartographypack.zip -d cartographypack
--2022-02-03 17:41:00-- https://www.kenney.nl/content/3-assets/26-cartography-pack/cartographypack.zip Resolving www.kenney.nl (www.kenney.nl)... 149.210.216.123 Connecting to www.kenney.nl (www.kenney.nl)|149.210.216.123|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 4199252 (4.0M) [application/zip] Saving to: ‘cartographypack.zip’ cartographypack.zip 100%[===================>] 4.00M 19.4MB/s in 0.2s 2022-02-03 17:41:00 (19.4 MB/s) - ‘cartographypack.zip’ saved [4199252/4199252] mkdir: cannot create directory ‘cartographypack’: File exists Archive: cartographypack.zip creating: cartographypack/Spritesheet/ inflating: cartographypack/Spritesheet/spritesheet_default.png inflating: cartographypack/Spritesheet/spritesheet_default.xml inflating: cartographypack/Spritesheet/spritesheet_retina.png inflating: cartographypack/Spritesheet/spritesheet_retina.xml creating: cartographypack/Textures/ inflating: cartographypack/Textures/parchmentAncient.png inflating: cartographypack/Textures/parchmentBasic.png inflating: cartographypack/Textures/parchmentCrinkled.png inflating: cartographypack/Textures/parchmentFolded.png inflating: cartographypack/Textures/parchmentFoldedCrinkled.png creating: cartographypack/Vector/ inflating: cartographypack/Vector/cartographyPack_vector.svg inflating: cartographypack/Vector/cartographyPack_vector.swf inflating: cartographypack/Kenney.url inflating: cartographypack/License.txt inflating: cartographypack/Patreon.url inflating: cartographypack/Preview.png inflating: cartographypack/Sample.png creating: cartographypack/PNG/ creating: cartographypack/PNG/Default/ inflating: cartographypack/PNG/Default/arrowCorner.png inflating: cartographypack/PNG/Default/arrowCornerSquare.png inflating: cartographypack/PNG/Default/arrowCrossing.png inflating: cartographypack/PNG/Default/arrowEnd.png inflating: cartographypack/PNG/Default/arrowHead.png inflating: cartographypack/PNG/Default/arrowSmall.png inflating: cartographypack/PNG/Default/arrowSplit.png inflating: cartographypack/PNG/Default/arrowStraight.png inflating: cartographypack/PNG/Default/banner.png inflating: cartographypack/PNG/Default/bridge.png inflating: cartographypack/PNG/Default/bridgeRope.png inflating: cartographypack/PNG/Default/bush.png inflating: cartographypack/PNG/Default/cactus.png inflating: cartographypack/PNG/Default/cactusLarge.png inflating: cartographypack/PNG/Default/campfire.png inflating: cartographypack/PNG/Default/castle.png inflating: cartographypack/PNG/Default/castleTall.png inflating: cartographypack/PNG/Default/castleWide.png inflating: cartographypack/PNG/Default/castleWideLow.png inflating: cartographypack/PNG/Default/chest.png inflating: cartographypack/PNG/Default/church.png inflating: cartographypack/PNG/Default/churchLarge.png inflating: cartographypack/PNG/Default/compass.png inflating: cartographypack/PNG/Default/dock.png inflating: cartographypack/PNG/Default/elementCircle.png inflating: cartographypack/PNG/Default/elementCross.png inflating: cartographypack/PNG/Default/elementDiamond.png inflating: cartographypack/PNG/Default/elementShield.png inflating: cartographypack/PNG/Default/elementSquare.png inflating: cartographypack/PNG/Default/fence.png inflating: cartographypack/PNG/Default/flag.png inflating: cartographypack/PNG/Default/gate.png inflating: cartographypack/PNG/Default/graveyard.png inflating: cartographypack/PNG/Default/house.png inflating: cartographypack/PNG/Default/houseChimney.png inflating: cartographypack/PNG/Default/houses.png inflating: cartographypack/PNG/Default/houseSmall.png inflating: cartographypack/PNG/Default/houseTall.png inflating: cartographypack/PNG/Default/houseViking.png inflating: cartographypack/PNG/Default/lake.png inflating: cartographypack/PNG/Default/lakeRound.png inflating: cartographypack/PNG/Default/lighthouse.png inflating: cartographypack/PNG/Default/mill.png inflating: cartographypack/PNG/Default/mine.png inflating: cartographypack/PNG/Default/palm.png inflating: cartographypack/PNG/Default/palmLarge.png inflating: cartographypack/PNG/Default/pathCorner.png inflating: cartographypack/PNG/Default/pathCrossing.png inflating: cartographypack/PNG/Default/pathEnd.png inflating: cartographypack/PNG/Default/pathSplit.png inflating: cartographypack/PNG/Default/pathStraight.png inflating: cartographypack/PNG/Default/pyramid.png inflating: cartographypack/PNG/Default/rocks.png inflating: cartographypack/PNG/Default/rocksA.png inflating: cartographypack/PNG/Default/rocksB.png inflating: cartographypack/PNG/Default/rocksMountain.png inflating: cartographypack/PNG/Default/rocksTall.png inflating: cartographypack/PNG/Default/runis.png inflating: cartographypack/PNG/Default/ship.png inflating: cartographypack/PNG/Default/skull.png inflating: cartographypack/PNG/Default/stable.png inflating: cartographypack/PNG/Default/tent.png inflating: cartographypack/PNG/Default/textureBricks.png inflating: cartographypack/PNG/Default/textureStone.png inflating: cartographypack/PNG/Default/textureWater.png inflating: cartographypack/PNG/Default/tipi.png inflating: cartographypack/PNG/Default/tower.png inflating: cartographypack/PNG/Default/towerLow.png inflating: cartographypack/PNG/Default/towerTall.png inflating: cartographypack/PNG/Default/towerWatch.png inflating: cartographypack/PNG/Default/treePine.png inflating: cartographypack/PNG/Default/treePineLarge.png inflating: cartographypack/PNG/Default/treePines.png inflating: cartographypack/PNG/Default/treePinesSmall.png inflating: cartographypack/PNG/Default/treePineTall.png inflating: cartographypack/PNG/Default/treePineTallLarge.png inflating: cartographypack/PNG/Default/treePineTallLow.png inflating: cartographypack/PNG/Default/treeTall.png inflating: cartographypack/PNG/Default/vulcano.png inflating: cartographypack/PNG/Default/wall.png inflating: cartographypack/PNG/Default/watchtower.png inflating: cartographypack/PNG/Default/waterWheel.png inflating: cartographypack/PNG/Default/well.png creating: cartographypack/PNG/Retina/ inflating: cartographypack/PNG/Retina/arrowCorner.png inflating: cartographypack/PNG/Retina/arrowCornerSquare.png inflating: cartographypack/PNG/Retina/arrowCrossing.png inflating: cartographypack/PNG/Retina/arrowEnd.png inflating: cartographypack/PNG/Retina/arrowHead.png inflating: cartographypack/PNG/Retina/arrowSmall.png inflating: cartographypack/PNG/Retina/arrowSplit.png inflating: cartographypack/PNG/Retina/arrowStraight.png inflating: cartographypack/PNG/Retina/banner.png inflating: cartographypack/PNG/Retina/bridge.png inflating: cartographypack/PNG/Retina/bridgeRope.png inflating: cartographypack/PNG/Retina/bush.png inflating: cartographypack/PNG/Retina/cactus.png inflating: cartographypack/PNG/Retina/cactusLarge.png inflating: cartographypack/PNG/Retina/campfire.png inflating: cartographypack/PNG/Retina/castle.png inflating: cartographypack/PNG/Retina/castleTall.png inflating: cartographypack/PNG/Retina/castleWide.png inflating: cartographypack/PNG/Retina/castleWideLow.png inflating: cartographypack/PNG/Retina/chest.png inflating: cartographypack/PNG/Retina/church.png inflating: cartographypack/PNG/Retina/churchLarge.png inflating: cartographypack/PNG/Retina/compass.png inflating: cartographypack/PNG/Retina/dock.png inflating: cartographypack/PNG/Retina/elementCircle.png inflating: cartographypack/PNG/Retina/elementCross.png inflating: cartographypack/PNG/Retina/elementDiamond.png inflating: cartographypack/PNG/Retina/elementShield.png inflating: cartographypack/PNG/Retina/elementSquare.png inflating: cartographypack/PNG/Retina/fence.png inflating: cartographypack/PNG/Retina/flag.png inflating: cartographypack/PNG/Retina/gate.png inflating: cartographypack/PNG/Retina/graveyard.png inflating: cartographypack/PNG/Retina/house.png inflating: cartographypack/PNG/Retina/houseChimney.png inflating: cartographypack/PNG/Retina/houses.png inflating: cartographypack/PNG/Retina/houseSmall.png inflating: cartographypack/PNG/Retina/houseTall.png inflating: cartographypack/PNG/Retina/houseViking.png inflating: cartographypack/PNG/Retina/lake.png inflating: cartographypack/PNG/Retina/lakeRound.png inflating: cartographypack/PNG/Retina/lighthouse.png inflating: cartographypack/PNG/Retina/mill.png inflating: cartographypack/PNG/Retina/mine.png inflating: cartographypack/PNG/Retina/palm.png inflating: cartographypack/PNG/Retina/palmLarge.png inflating: cartographypack/PNG/Retina/pathCorner.png inflating: cartographypack/PNG/Retina/pathCrossing.png inflating: cartographypack/PNG/Retina/pathEnd.png inflating: cartographypack/PNG/Retina/pathSplit.png inflating: cartographypack/PNG/Retina/pathStraight.png inflating: cartographypack/PNG/Retina/pyramid.png inflating: cartographypack/PNG/Retina/rocks.png inflating: cartographypack/PNG/Retina/rocksA.png inflating: cartographypack/PNG/Retina/rocksB.png inflating: cartographypack/PNG/Retina/rocksMountain.png inflating: cartographypack/PNG/Retina/rocksTall.png inflating: cartographypack/PNG/Retina/ruins.png inflating: cartographypack/PNG/Retina/ship.png inflating: cartographypack/PNG/Retina/skull.png inflating: cartographypack/PNG/Retina/stable.png inflating: cartographypack/PNG/Retina/tent.png inflating: cartographypack/PNG/Retina/textureBricks.png inflating: cartographypack/PNG/Retina/textureStone.png inflating: cartographypack/PNG/Retina/textureWater.png inflating: cartographypack/PNG/Retina/tipi.png inflating: cartographypack/PNG/Retina/tower.png inflating: cartographypack/PNG/Retina/towerLow.png inflating: cartographypack/PNG/Retina/towerTall.png inflating: cartographypack/PNG/Retina/towerWatch.png inflating: cartographypack/PNG/Retina/treePine.png inflating: cartographypack/PNG/Retina/treePineLarge.png inflating: cartographypack/PNG/Retina/treePines.png inflating: cartographypack/PNG/Retina/treePinesSmall.png inflating: cartographypack/PNG/Retina/treePineTall.png inflating: cartographypack/PNG/Retina/treePineTallLarge.png inflating: cartographypack/PNG/Retina/treePineTallLow.png inflating: cartographypack/PNG/Retina/treeTall.png inflating: cartographypack/PNG/Retina/vulcano.png inflating: cartographypack/PNG/Retina/wall.png inflating: cartographypack/PNG/Retina/watchtower.png inflating: cartographypack/PNG/Retina/waterWheel.png inflating: cartographypack/PNG/Retina/well.png
Interesting how the set contains "path" elements in what seems to be a minimal vocabulary:
!ls cartographypack/PNG/Default/path*
cartographypack/PNG/Default/pathCorner.png cartographypack/PNG/Default/pathCrossing.png cartographypack/PNG/Default/pathEnd.png cartographypack/PNG/Default/pathSplit.png cartographypack/PNG/Default/pathStraight.png
from glob import glob
import os
from IPython.display import display, Markdown
src = ""
for i in glob("cartographypack/PNG/Default/path*"):
src += f'![]({i} "{os.path.basename(i)}") '
display(Markdown(src))
from random import choice
pieces = glob("cartographypack/PNG/Default/path*")
src=''
for i in range(100):
piece = choice(pieces)
src += f'![]({piece})'
display(Markdown(src))