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!
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).
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.
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.
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.