Automapping for TADS3?

I thought my game’s geography was so simple that players wouldn’t need/want to map it. I thought wrong! :smiley:

I’ve poked around for documentation on an automapping feature, but I’ve come up empty.

Is there a way to build automapping into a TADS3 game?


I once built an automap for an I7 game. They’re different systems but the logic is probably the same…

I had a separate window for the map. I used simple --, |, /, \ symbols for the connections between rooms, and the first letter of each room’s name to represent the actual room. Every time the player entered a room with the attribute “unmapped”, I would change it to “mapped” and print the text accordingly - the letter, the connections. Every time the player moved at all, I would update the map to put brackets around the room they were in, and somehow I managed to remove the brackets from where they were before. It was a while ago, I forget the details.

It worked quite well, but it was everything but automated. Every placement of every character was manual and pre-arranged. The advantage is, it sang entirely to my tune. Making connections appear and disappear as doors closed and opened was trivial. If my map was not grid-shaped, that was fine - I would just draw it the way I needed it to be drawn.

I suppose you could take this logic and apply it to TADS, somehow…?

Also - there are lots of great mapping utilities, some of which (Trizbort and IFMapper) do some automapping of their own. So maybe you don’t have to worry yourself TOO much about it.

An alternative is an actual drawn map - either in-game, or separate as a feelie. Depending on your game, it may be possible to design a map that shows the player a significant part of the geography without actually spoiling anything.

Finally, consider that if you wish your game to be easily playable on smaller devices (granted, this is not really an issue at present, given the current state of the TADS interpreters) then you can’t afford to waste screen space on a map permanently, so you may want it to be toggleable.