I’m working on a collaborative project with a lot of rooms. Most of the map connects in very straightforward ways, but one room has exits that lead to unexpected places. This room seems to be throwing the entire index map into disarray, rendering it virtually unreadable.
Is there a way to affect where the troublesome room is mapped and hopefully salvage the index map?
You want §25.18, Improving the Index Map.
In particular, you can say “index map with Alpha east of Beta” to control where a room is placed.
Another hack you can use is to not define the irregular exits until later. This is probably best used only if Draconis’s solution (which I use a lot because, well, it works) can’t get things in order.
Then you can have a rule like so:
when play begins:
now study is mapped northwest of conservatory;
now conservatory is mapped southeast of study;
now kitchen is mapped southwest of lounge;
now lounge is mapped northeast of kitchen;
About general bug-fixing with indexing the map: often I get Inform in trouble when I try to map two things east of one room, but I also get in trouble if I, say, map room B to be north then east then south of A, but C is east of A. That’s when Inform’s compiler seems to really start speculating.
And I generally only try to fix one room at a time before re-compiling.