I am looking to create a text-based map in which a player could (hypothetically) move through out infinitely. I was thinking I could do this through class objects defining towns / dungeons / etc. and placing them randomly through out the world. I was hoping this to be tile based, and for the tiles to have specific properties, i.e. water, dirt, grass, forest, town, dungeon, etc.
How could I go about doing this in Python 2.7?