Hmm… I haven’t come across this, I assumed the interpreter itself shows the location so it’s not game-specific, but if this is common then I’ll take a look at getting the location from the vm.
It’s more than common; some games do pretty fancy stuff with the top bar. They have all sorts of information there.
In that case, how does Zorkmid react to, say, “Interrogation Chamber (strapped to the chair)”? Does it count as different from “Interrogation Chamber”?
It will just be a matter of adding more rules to the way Zorkmid extracts the location, in your example it could be modified to cut the string at the “(” character so that both “Interrogation Chamber (strapped to the chair)” and “Interrogation Chamber” will translate to “InterrogationChamber” and point to the same room.
I guess with time and people making maps we’ll come across some of these name issues and I can find ways to overcome them.
You’re right, best to stop wondering about hypotheticals and get to them as they become actuals.
I know we’re in a show-me-the-stuff world and Zorkmid is great, but just wanted to add (again):
This is exactly the sort of thing a template in fyrevm/ifpress will handle and in fact, the room location name is one of the content types returned from the VM every turn.
Now imagine being able to monitor all the content coming out of the VM and have screen transitions.
Of course Zorkmid is Z-machine and can handle legacy games, which is very cool…I can’t do that.
Is it possible to have certain locations without map images? Or that coincide with another location? Say “Phone Booth” is inside from “Street”, can the map stay on the Street location?
Well it’s already possible now by just duplicating the street image and naming it PhoneBooth.png (for example) but I’ll likely come up with a more elegant alias solution where you would be able to define a list of locations which will all use the same image
EDIT: Yes, it’s possible to have locations without a representation on the map, if an image doesn’t exist Zorkmid will just not load or highlight any location
@DavidC, I’ll have to check that VM out
The actual web VM is glulx-typescript on Github.
Having a list of location names that point to a single image would also help in the case where a room name changes, such as from “Outside a grey building” to “Outside the Post Office”. The game “Dreamhold” has a couple places where a room can have eight colours.
A rare problem I belatedly thought of is the issue of mobile rooms (or at least have rooms with no initial fixed location), for example, in “Domicile” or “Photopia” or “Dreamhold” or “Hell: A Comedy of Errors”. Probably not much that can be done about that, but fortunately, this almost never happens, despite my being able to think of four games that do it.
I see what you mean, maybe for these games a map can be designed where the mobile room is either in its own map (being the only room in the map, like the attic in the demo game) or drawn separately from the fixed rooms in the map, something like how Hawaii is represented in maps sometimes.
The cluster of islands in its own inset is a reasonable solution for all the games I mentioned except “Hell: A Comedy of Errors”. That one is a case where, although a map would be useful, I don’t think any plug-in mapper can help since it’s the player deciding which rooms go where for practically every room other that the starting room. It really is one case where the author either has to create their own in-game mapping solution, or not bother and let the player deal with mapping as usual.
It’s funny when I start thinking of other games with weird maps. Threediopolis is a game where a map would be very easy to make, where all the streets are in a regular grid, with stores and homes connected diagonally to the grid intersections, but such a map would be somewhat misleading for a player to look at.
OK! Let’s get the ball rolling. I made a zorkmid map for Mammal. I chose the game to test this as it has just about enough rooms to justify a map, but not so many that it’d take me ages to work on. For those wanting to follow in my footsteps, here are the steps I took.
Step One: I drew the map of the whole game on a piece of A4 and took a picture of it.
Step Two: I ran it through an online photo-editor to get rid of the jpeg artefacts and smooth it up a bit.
Step Three: From the full map, in a simple paint program, I cut away everything bar the first room. I filled the whitespace with the transparent fill. I saved this as the first room.
Step Four: I repeated Step 3 for all the other rooms.
Step Five: I took the original image and in GIMP I used the smudge tool to blur away all the rooms, just leaving the basic outline of the building. I decided to include a title and some game instructions in the background map. This image I saved as _base.png.
Step Six: I zipped up the images with the original game as described on the Zorkmid website, then I sent the file to roylaza.
My main worry with the process was that there wasn’t guidance on a good size or aspect ratio so I don’t know how good the map will actually look in the zorkmid viewer. I suspect the landscape view might look squashed in the browser.
Thanks Joey! I’ll send you a link as soon as I can.
I took a sneak peek at the files on my phone and you seem to have done an excellent job.
Don’t worry, Zorkmid wont scale your map non-uniformly and we’ll also be able to test map dragging with it in version 2 of Zorkmid.
Thanks for getting the ball rolling!
EDIT: game uploaded and working beautifully, Joey let me know if you want me to publish the link on the Zorkmid website.
As Roy says, the game’s working great with Zorkmid now. Here’s the link. I’ve also updated the Mammal page on IFDB and created an associated news story. Hopefully, this might inspire someone with more illustrative chops to take a shot at this.
Any chance of a zipped, offline playable copy?
Also, what’s with the “delete maps” option available to me as a mere player? Is that wise?
Well that’s just for you to clear your saved map in case you want to play again or let someone else play starting with a blank map.
Makes a lot more sense than what it actually implies that it does.
Version 2 is now live, the visible changes are:
Toggle map between scaled mode and drag mode (being able to drag the un-scaled map around inside the map area) - accessed by the new zoom icon in the top right corner - this is best demonstrated in Mammal.
Click on any word in the story to inject it into the input line
Shift click any word in the story to examine it (injects “examine [word]”)
Ctrl click any word in the story to get it (injects “get [word]”)
More new stuff in v2, hotkeys!, no need to reach for the mouse:
Ctrl+Arrow keys (including diagonals) move in corresponding direction.
Ctrl+Spacebar - inventory
Ctrl+s - Save Game
Also added another button to list all current hotkeys.
And: no more flashing
A suggestion: code/rule hooks, or a true/false switch to -not- display/update the map, say if the PC is temporarily blindfolded, or if the player needs to locate an actual map in game before seeing it.