Archive
Navigation QA: Checking the Map
It’s been a while since the last update, as I’ve had several projects eat into my time both for work and for my dissertation. As it turns out, the dissertation is giving me the excu–uh, reason to reapply some focus on the Historical Williamsburg Living Narrative. I’ll need to have a simple version of the game up and running to provide to instructors willing to use the game in the classroom. That means I need to work on it.
I’ve gone back and forth and back again on the development tool to use for the project, from Inform 7 to Adrift to LiveCode, and right now I’m settled on LiveCode for the amount of control I have in building the interface and interaction framework for the game. Currently I’ve developed a simple version of the program that does nothing but navigate through the map, currently 199 separate locations, using abbreviated compass directions: n, ne, e, se, s, sw, w, and nw. The map is below, and you can access a PDF version: Logical Map – Nav Test.
Of course, you will need to actual program to run as well, if you’re interested in checking out the navigation. You may obtain that by accessing it by clicking this link. The file is a Windows version program Zip compressed for faster download. If you’re interested in a Mac version, leave a comment and I’ll compile a version for download.
If you intent to perform quality assurance testing and provide feedback, simply leave comments in response to this post. Be sure to list the error you found, how you encountered the error, and what the error does or doesn’t do. Most likely, errors at this stage will be discrepancies between the visual map and the navigational structure within the program. The visual map (above) is correct; the program will need to be corrected if any discrepancies are found.
One final note: anyone finding errors in the program will be listed as QA testers, being listed in the release version credits. So have at it!
Rapid Map Development in Adrift 5.0
One of the challenges of developing Interactive Fiction based on historical locations is in creating maps that are both geographically and architecturally accurate as well as not too complex or redundant from a navigational perspective. In previous entries I have outlined the process of building maps for the layout of the Williamsburg community as well as the buildings and structures within the community. To date, I have been using a combination of both Inform 7 as well as custom coding within the LiveCode environment for the maps (as well as for work on the game structure).
In September this year (about a month ago as of this writing), a new version of Adrift (another Interactive Fiction IDE) was released, and I started exploring it. The feature that immediately caught my attention was the ability to build navigational maps on a visual grid, so that I could lay out the relative positions of locations very closely to the logical map I had constructed earlier this year. Below are two images; the first is of the logical map, and the second is of the functional map in I built within a few hours using Adrift 5.0 (click image to view full size).
LOGICAL MAP
ADRIFT 5.0 FUNCTIONAL MAP
You can see how both map views are very similar. The pleasure of the Adrift system is that I could position my location points on the grid visually, referring back to my logical map, and then make the direction linkages using simple drop down menus. While I’m certainly not opposed to hard-coding the game (and I eventually will because of the opportunities for customization and fine control), Adrift has allowed me to get a working navigation system up and running very quickly, and based on the IDE functionality, I’ll be able to add elements including character interaction relatively quickly. Which, in fact, is one of the next tasks after I add some detailed location descriptions.
The George Wythe House and Map
One of the Founding Fathers of the United States, George Wythe is considered to be the first American law professor having taught Thomas Jefferson, Henry Clay, and James Monroe (among others) at the College of William and Mary. In fact, the College is in easy walking distance of his home, shown in this photograph (the steeple of the Bruton Parrish Church can be seen in the background):
Wythe’s home (located just a few hundred yards away from the Governor’s Palace) was pivotal in the years leading up to the signing of the Declaration of Independence. Key historical figures would often stay at the house as Wythe’s guest, and George Washington even used the house as a field headquarters for a few weeks in September of 1781.
The house itself is two stories with a relatively simple interior architecture. The architectural documents I have been able to research make reference to a basement, but the information is not clear enough, nor are there any diagrams, so I’m leaving the basement out of the navigational map for purposes of the game. The floor plan to be used in the game is below.
The first floor of the home, depicting three points of entrance/exit:
And below is the second floor of the house:
Conversion of the actual physical layout into the game map format was not difficult, largely due to the lack of architectural complexities. There are ample materials in the research literature to indicate what the interiror of the house was like, and that material will make its way into game descriptions that come up as the player moves from location to location.
Existing Structure Location Maps
In the last entry, I discussed the challenges of producing logical text adventure maps based on real geography; in this case, the physical geography of the city of Williamsburg in the late 1700s. The good news is that the streets and main building locations have been preserved, which helps in map development. But the challenges of using a real place that needs to be reproduced in the context of an adventure game map are even more challenging when using exisitng building architecture. The constraints of walls, doors, hallways, rooms, and stairs along with their comparative physical location relationships don’t leave much room for “adventure navigation license.” The biggest challenge is in using the compass rose as a foundation for navigation, where you have 8 directions of movement from any particular point (north, northeast, east, southeast, etc.). Add “up” and “down” for a total of 10 basic commands that can be typed to specify movement. Consider the following diagram:
The player location can represent anywhere in physical space: a forest clearing, a small cave chamber, a grand ballroom. Adding the “up” and “down” directions provides a good deal of movement options including 3-dimensional flexibility, for a total of 10 choices for player movement from any given location in the game. However, particular real locations can be difficult to reproducing using the compass rose navigational framework without making overly compromising game navigation decisions. For example, suppose we’re dealing with a long hallway with many doors on both sides, like a hotel hallway:
We can see here that a single “location” representing the hallway is not a practical solution to get to the individual hotel rooms; there four north directional choices and four choices for going south. While creative programming can help (“enter room 101,” “enter room 103,” “enter room 105,” etc.), that approach tends to add to the command complexity for what should be one of the easier tasks in Interactive Fiction play: moving from one spot to another. A different approach might be to segment the hallway:
Using this approach, we see that using the compass rose commands are sufficient for us to navigate to any location on the map without any amiguity. But there’s a tradeoff in that getting from Hall Location 1 to the room in the far northeastern corner would take five steps in the game. The can be tediuos for the player, especially if there is not a particularly great amount of game content to be discovered in each of those Hallway locations.
It is this navigation design issue that is driving the development of the building interior set of game maps. Some creativity allows us to “bend” the compass rose directions to suit our needs, for example:
Here we have a location that could be a hallway, with accesssibility to three doors on the northern face of the hall and three doors on the southern face. We would need to address this layout in the text description of the location, something like, “You are in an east-west running corridor with six doors total on the northern and southern walls. North of you is a single door, and you likewise see doors on the northwest corner as well as the northeast corner of the corridor. The southern wall has the same arrangement of doors.”
As work progresses on developing the Williamsburg buildings’ intererior maps, it is this interpretation of the compass rose that allows us to achieve an acceptable level of architectural fidelity. The Governor’s Palace is easily one of the most complex structures being reproduced within the game, and it is also one of the key narrative locations. There are four floors to the Palace, and the maps are displayed below:
First Floor (source map here):
Second Floor (source maps here, here, here, and here):
Third Floor (source here):
Basement (source here):
This mapping structure gives a total of 44 separate player locations for the game, but remember that these 44 locations are at the single Governor’s Palace location on the overall physical map. There are still quite a few buildings to map (which means researching all the architectural plans from the Colonial Williamsburg Library. Lots of fun in the days ahead!
Game Environment Cartography
Developing a map for an Interactive Fiction environment can be challenging especially if the game is based on real-world geography, as is the Historical Williamsburg Living Narrative. A large part of the value of this game is the historical accuracy–which not only includes the events of the time but the geography and architecture as well. In designing the game map, I am considering external landscape and building floor plans separately, and here I describe the process by which the external landscape portion of the game map was developed.
I started working from the map provided by the Colonial Williamsburg Foundation for guests visiting the city. Below is a scanned version of that map, already partially “cleaned up” (that is, much of the extraneous information–modern buildings, bus route lines, restroom symbols, etc.–have already been removed). After working with this map for a brief period of time, I found a few characteristics I didn’t like. Most significantly, there wasn’t a sufficient level of detail regarding building shapes and grounds, and the relative sizes, locations, and distances between buildings wasn’t accurate enough for me to use in creating descriptions.
At this point I changed my approach. In order to ensure fidelity to the actual physical layout of Williamsburg, I decided to use satellite imagery for the initial layout work. Google Maps provided excellent resolution from the Governor’s Palace in the north to the Public Hospital in the south, and the College of William and Mary in the west to Christiana Campbell’s Tavern in the east. The city’s overall layout was depicted quite clearly.
Once I had an accurate map from which to work, I was able to select the significant buildings, associated grounds, and pathways between that the player would be using. I superimposed this image on top of the map, and this gave me the level of detail I wanted for development.
Peeling away the city map, this is what the initial pass at the game map looks like. While this map contains all the information needed to create accurate location descriptions (for example, it will be important to note the distance of the College of William and Mary from the city proper), this version of the map is a bit difficult to work from in building the Interactive Fiction navigation scheme. For that task, a logical map is more appropriate.
This logical map was built from the physical line map (above), connecting locations using only the eight compass directions, and not taking into consideration the sizes of buildings or their actual distance from each other. Also, no assumptions can be made between “nodes” in the map below if they are not connected by a direction line. In other words, if a node is to the west of another node, but they are not connected by an east-west line, they may not be precisely east and west of each other. This map simplifies and compresses the physical map information for ease of navigation programming. The yellow nodes represent place locations where the player may go, while the blue nodes represent buildings or structures that have additional rooms or internal locations not depicted here. Those additional locations will be represented in further mapping exercises.
By using this logical map along with the visual information obtained from the line map superimposed from the Google satellite image, I will be able to create rich in-game descriptions of the physical Williamsburg environment. For example, an east-west running path on the logical map may actually be a long, curved road on a hilly slope, and that level of detail will be captured in the game for a rich and hopefully satisfying experience.
142…
… is the number of external location “nodes” in the Historical Williamsburg game map. Locations are defined simply as anyplace the player character is able to stop and examine the surroundings during the game. These locations include spots such as doorways, gardens, and street intersections.
This number does not include any building interior room locations. Expect that the total number of game locations will be significantly higher.
Location, Location, Location!
The map is the thing.
While the colonial Williamsburg environment will be accurately portrayed, some locations will get a more thorough treatment than others. As construction of the game environment moves forward, these are the historic sites that will receive focused attention:
- The Governor’s Palace
- The Randolph House
- The Wythe House and Gardens
- The Courthouse
- The Magazine and Guardhouse
- The Capitol
- King’s Tavern
Additionally, there will be game activity on the Duke of Gloucester Street, and one other (very large) location that, for now, will remain unnamed–and quite essential to the core storyline.