Grassy Knoll: The JFK Assassination Simulation

This picture is not real. Nothing is real.

 

This post is going to be embarrassing. It’ll be somewhere between “I dressed like an asshole in High School” and “oh my God I wrote poetry?

Except it’s not poetry. It’s Interactive Fiction.

Right now you’re either saying “what’s the big deal?” or “what is Interactive Fiction?”

People who already know what IF is can skip this section but basically Interactive Fiction is text adventures. AKA, games with all text and no graphics. Go far enough back and it was because text was all computers could do. A little after that it was because computers kinda sucked at graphics. Today the genre still exists as a super niche field that’s still around for the same reason that stop motion animated movies still exist in the day and age of CGI: sometimes it’s just neat to see something done the old way it used to be. There are also those who think the verbose prose and storytelling accomplish something an input-driven game can’t and I can see an argument to be made in that area, but whatever, IF still exists.

There were a few ways to author IF, most of them proprietary. Literal books have been written on the lore of Infocom but essentially it was a text adventure game company in the 80’s that sprang out of a game some MIT grads wrote in a lab called Dungeon. They split it up into a trilogy of games called Zork and over a decade released about thirty or so more games across various genres and settings. Their approach was to invent a fake computer specification called the Z-machine. Then they would write emulators for this computer to run on the hardware of the day (the Apple II, the Commodore 64, etc.) and then write games that could run on the fake computer. Basically the premise behind Java as a platform, just way earlier and focused on the lone task of IF games.

There were a handful of other competitors, both in the game developer sense and also in the tooling sense of the word – development software for writing IF. Sometimes commercial, sometimes freeware, sometimes open source and sometimes not. In the 90’s, the Z-Machine was reverse engineered and this allowed for old Infocom games to run on modern machines, as well as allowed for projects like Inform which could compile down to the format, allowing new games to be written. Today projects like Twine continue the tradition and bring the experience to things like web browsers.

But before most of that, in the mid-to-late 80’s, was a product called the Adventure Game Toolkit, or AGT. It was commercial in nature from its introduction in 1987 to its discontinuation in 1992, wherein the author decided to release it as freeware wherever he could – in this case, downloadable off of AOL.

This is where I enter the picture.

I got introduced to IF when I bought Zork I by kinda-mistake. I was a kid in a toy store during the twilight of the Commodore 64’s life and I was going through their bargain bin software and most of the stuff was crap I didn’t want and had never heard of but then I found Zork I. I had at least read the name in Family Computing Magazine or something. And it was cheap so I bought it. When I fired it up at home it took forever to load off of the floppy and only then do I discover it’s a text-only game, which explained the lack of screenshots on the packaging. But I was a kid and bored so I played it and what followed was one of the legit best gaming experiences of my life. There’s a reason the game was popular.

Flash forward to 1992 and I’m 15, on AOL, likely on someone else’s dime, and I see this thing that will let me make text adventures. I download it to my Packard Bell 486/20 as soon as I can. And I read up on it and learn what I can because, and I can’t remember if I had this thought before or after downloading it, I had this seemingly great idea for a game.

The great idea? The JFK Assassination.

Yeah I was fascinated by the whole story behind the JFK Assassination and the conspiracy theories behind it for probably the same reason everyone was at the time: the 1991 movie JFK. The film was peak Oliver Stone. Although Platoon won him Oscars, JFK is where he called in all his favors, with everyone from Joe Pesci to Tommy Lee Jones acting in it, folks like John Candy and Donald Sutherland doing cameo roles, and an at-the-top-of-his-game Kevin Costner in the lead role. To say nothing of being able to get theaters to agree to show a three hour political thriller for mainstream audiences.

If you’ve seen the movie you know that it’s mostly a vehicle for presenting Oliver Stone’s grand unified theory of who killed JFK, wherein instead of thinking the CIA did it or the Mafia did it or the FBI did it or the Secret Service did it or LBJ did it, he basically suggests they all got together and did it. As a device to make an interesting story for a movie he uses the 1967 investigation done by Jim Garrison to move the plot along, even though Garrison’s theories were different and even more bonkers than what was in the film. The movie was so influential that it got the US government to push up the release date of classified documents from 2029 to 2017, with most of them having been released by now.

The movie is masterfully directed, with a brilliant score by John Williams, opening narration by Martin Sheen (who played Kennedy once), and a film editing style that literally won an Oscar. I’ve seen it dozens of times, owned it on every format, and it’s one of my favorite movies of all time.

It’s also almost completely full of shit.

Part of this is intentional – Stone delivered what he called a “counter-fiction” to what he described as the fiction of the Warren Commission Report. But the most influential historians of the modern era are filmmakers because people see a movie and believe it’s real. And parts of the movie are real (or at least they’re accurate to the books they’re using) but lots of the movie is smoke and mirrors.

And yeah, I kinda fell for it too, though in the years since I’ve come to the belief that the official story is largely accurate. Conspiracy theories are fun, we don’t like the idea that someone like a Lee Harvey Oswald with a cheap gun could kill the leader of the free world and change the course of human history, but the idea that government and criminal organizations could conspire together and assassinate a president and keep it a secret for what’s now going on six decades and the only people who figured it out are unhinged crackpots doesn’t hold up to scrutiny. Oswald’s accuracy is due to him being a former Marine. The Magic Bullet theory is based on a misunderstanding of how the limousine was laid out. Jack Ruby’s murder of Oswald two days later was an angry and misguided attempt to redeem the city of Dallas, which was a red pimple in the middle of a then-blue state who for decades after would still be known as “that place that killed Kennedy”

But, going back to the early 90’s, I had this idea – use Interactive Fiction to create a simulation of the events in Dealey Plaza that day. One of the things you can do in IF (and I guess AGT supported this) was to have the passage of time be tied to moves in the game, so I could “time” it such that if you were in the right place at the right time in the game, you would “see” what was happening. So, if you’re in the stairwell of the Texas School Book Depository at the right time you could see Oswald run past you on his way down. If you were in front of the building you could “see” Kennedy getting shot. If you fucked off and went down Main Street you’d hear commotion and wonder what the big deal was. I think I even had some misguided notion that this would help as some sort of “tool” to have some level of interactive ability to simulate everything that happened in the area, sort of like a model of events. Granted, the flaw in that is you have to decide which version of the truth/events you want to show but still.

The JFK Assassination isn’t an unheard of topic in game development, but it is rare. Most of the time it’s just mentioned in a game, or it’s maybe some sort of alternate history timeline. The most prominent example though has to be the 2004 game JFK Reloaded, which let you actually recreate the assassination from Oswald’s perspective. It got a lot of notoriety for the controversy, which I could almost defend as just being an interactive recreation, though the developers did have a cash prize contest for who could get the closest to the official events of what happened. Probably not surprisingly the developer basically vanished after the controversy died down, and outside of the one spokesman who made the news media rounds I’m not sure the identities of anyone involved is known.

The only other commercial game I can find that has anything to do with it is a game called Guardians of Infinity: To Save Kennedy, which recently resurfaced on digital distribution channels like Steam and GOG. I had never heard of it before and the game hails from 1988, years before I tried writing my game and years before the movie JFK. And it’s a text adventure, which kinda sparked my renewed interest in my ancient game I tried to write and that no one had ever heard of.

Because amazingly enough, I still have the game. I called it Grassy Knoll: The JFK Assassination Simulation.

It’s one of those deals where I’m not completely sure how I still have it. Like I said I wrote it in high school and that was several decades, life events, houses and moves ago. Even crazier is the form in which I have it: a floppy disk, a mockup of the packaging, and a three ring finder where I kept the design document and a printout of the source code on notebook paper.

  .  .  

Yeah it’s insane. It looks like the sort of thing you’d mock up to mimic something old, except it really is old. I thought it was important to put the date on there and now I’m glad I did because it answers the question of how old it is, sort of. And back then I had some sort of obsession with printing everything out which was dumb but it worked out well in this case because it preserved the source code and I don’t have another copy of it.

I was apparently going with the company name Reptilian Software, which I’m not sure but I think I got the idea from the “Reptilian” being the name of one of the remixes of “Reptile”, a song by Nine Inch Nails. As near as I can tell the font is Staccato 555, which either came with my PC or I got it from somewhere. I especially love how the label for the floppy disk is printed up like I figured it would be on the final product, but then I broke out a sharpie or something and wrote “BETA 1-NFS”, you know just in case someone were to grab this thing and try and sell it.

The title at the top of the packaging was probably inspired by the “first and last letters hang down” school of design popularized by Stephen King novels. The actual packaging itself is a comic book sleeve – the poly-based things you’d buy to put your comic books in with the card backing to protect them. I was briefly into comic books at the end of high school, so that’s probably what inspired that. There were these stories I had read on companies like Infocom making copies of their games, putting them in baggies or other similar low rent packaging, and then working deals with Screwdriver Shops (companies that manufactured PCs for customers, pre-Dell) or small software stores to sell them and things took off from there. I have no idea if these places still even existed in 1995 or if I had any ability whatsoever to even get that far, but I guess I romanticized the idea and decided to mock up packaging.

In any event, at some point in the last several months after rediscovering the folder I got the idea to recreate the source code using the printed copy. From there I could do a few different things with it, including either recompiling the game again, or translating it to something else.

But then it occurred to me that there’s a floppy disk included here – maybe the source code is on there, in addition to the compiled game. Assuming I could even read the disk that is. What are the odds it would work three decades later? And that’s before you get to the bigger question – how do I even read a floppy disk any more?

Before I turned to The Apple Side, I had a fairly regular schedule of PC upgrades, but the main PC that I’m using today I built in 2012 and the video card is from 2016. I used to upgrade every three years or so but my last two or three computer purchases have been Macs, plus for a while there video cards were stupid expensive, a side effect of the cryptocurrency fad and the supply chain issues caused by the pandemic. But more important to our current topic: this was the first PC I had ever built without a floppy disk drive. There used to be a saying – you almost never need a floppy disk drive but when you need one you really need one, an oblique reference to the now ancient practice of motherboard BIOS updates and other things requiring the floppy disk drive. So I had this one floppy disk drive that I would carry from machine to machine. My first PC was in a beige box and later machines were black or grey or some other dark color so it was this running gag that behind the plastic door I had this hideous beige floppy disk drive. But the most recent (2012) motherboard no longer had the floppy disk IDE connector so that was the end of that era.

Being a horrible packrat I still have multiple old tower machines in various states of existence in my closet, so I’m sure I still have something with a floppy disk drive, but nothing that will boot up. I debated whether or not to go down the side quest of getting one of these machines to boot up but ultimately I decided it was a better idea to go spend $27 on a USB floppy disk drive off of Amazon, naturally from some company name I have never heard of. It even had a USB-A to USB-C adapter, not that I needed it.

When it arrived, I opened it up and as I’m flipping through the manual, written in thorough but broken English, I noticed it had a phrase in there to the effect of “plug this into the USB ports on the back of your PC, not the ports on the front or any USB hub” and I thought… well that’s silly. I mean a hub I can understand maybe, power draw and all (unless it’s a powered hub) but the ports on the front of my PC are probably fine. The manual also had something to the effect of trying to explain to the end user that yes floppy disks were slower than your hard drive and to just sit back and enjoy the sounds while your files copied, which was just precious.

So I plug it in and after some amount of preparation, Windows 10 recognizes it as a floppy disk drive, on “A:” no less. Which it’s not really surprising that Windows still recognizes floppy disks, but I’m curious what it’s like to be the person at Microsoft who has to make the up to date icons for everything, including things most people will never use or see these days. After I insert the floppy disk I’m suddenly looking at the file listing. Which means I’ve cleared the first hurdle – the disk is readable.

yes, please copy that floppy

But when I try and copy the files, it not only takes forever but it also fails. I can’t remember the exact message but it was basically that the disk needed to be formatted which, no, if the disk wasn’t formatted I wouldn’t even be able to get this far. So I’m bummed but I kinda expected this.

And then I remembered the “plug into the back of the PC” thing, which seemed like it wouldn’t make a difference but I tried it anyway. Now when I tried to copy the files – it worked perfectly and only took a few seconds to do so. OK, so that was two holy shits for the price of one: first that I’ve gone my whole life not realizing that the motherboard USB ports provide more power than even the direct-to-the-motherboard ports on the front of the machine (I assume this is related to how this floppy disk drive doesn’t have an external power source), and second that this almost 30 year old floppy disk still works.

I zipped up the files and backed both the files and the zipped files to Dropbox then I tried to run the game… which failed, with the sort of message that basically means “yes of course this 16-bit DOS executable won’t run in 64-bit Windows 10” so I was going to have to explore some other way of trying to get the game to run. But also I needed to see if any of these files were the source code. The short version is, no, none of these were the source code. Most of them were binary, either literally just binary bytes or binary blobs with the occasional text string in there. It occurred to me if I ever wanted to try and reconstruct the source code, the text strings might be useful. Some were text files, but they were things like word lists or the instructions displayed to the user.

One file, though, was a PCX file, which I recognized to be an ancient graphics format analogous to a BMP or in modern terms, a JPG or PNG file. And I remember making this thing in Microsoft Paint in Windows 3.1, which was the operating system my computer used (this whole thing predates lots of things, like Windows 95). However, Microsoft Paint in Windows 10 no longer supports PCX, and the support was likely pulled years ago.

And as it turns out, nothing else on my computer supports PCX either. Photoshop probably does but I don’t have that. There’s a few different ways to view them but the first thing that came up on a Google search was IrfanView. Yeah, anyone who has worked with Windows a long time probably recognizes that name. It’s literally this ancient program dating back to the Windows 95 era written by one dude and it’s still being updated today. There’s a handful of utilities out there like this – often in the world of graphics – where someone wrote them, and still works on them and still sells licenses to them, and unlike Winamp they didn’t sell them to some corporation and the program got discontinued and the name bought and sold a dozen times, it’s still just one person making them and selling licenses, presumably not as a full time job but still.

So after downloading IrfanView in 2023, and downloading and installing the zip file of optional plugins I was able to load up the PCX and suddenly I am staring at the 1995 title screen in all its black and white 640×480 glory. It was equal parts awesome, creepy, and cringe inducing.

ph3ar my l33t M$ paint skillzzz

At this point it’s worth discussing the age of these things, namely how it’s not clear when things occurred. I know for a fact that everything involved in this was in high school and predated college. When I went to college in the fall of 1995 I was in the Corps of Cadets at Texas A&M and that’s its own long story but the short version is there’s no way I worked on this once I got there, so this has to be in high school. Which jives with the Avery label on the front and side of the folder of “May/June 1995”, that would have basically been the summer between high school and college. And it jives with the date on the title screen. However when I fire up the disk in Windows, all the filenames but one have a date of 1993, which would make these 30 years old (instead of just 28).  The AGT software got released as freeware in 1992 and JFK came out in 1991 so it’s feasible 1993 was when I worked on it. However, everything else says 1995 and the “Reptilian” song/remix didn’t come out until 1995 so I’m at a loss as to why the dates on the filenames says 1993 other than maybe being some sort of Epoch-like quirk with how Windows 3.1 and a FAT16 disk handle filenames. Of course, one of the things I have never really understood is the exact nature and relationship of the “Created”, “Modified” and “Accessed” dates. Maybe I started work on these things in 1993 and didn’t finish until 1995? But then I don’t know why I would have put 1995 down as the dates I worked on it. Dunno.

OK, so I have the source code on paper, I have the compiled game on disk, and I want the source code on disk if for no other reason then it might be a good blueprint to recreate the game in something more modern like Inform or TWINE. But I also want to see if I can run the game somewhere. I eventually got there, but I did the equivalent of flying from New York to California by flying east and crossing oceans – the long way in other words.

I thought – OK, I can’t run a 16-bit DOS program in Windows 10, but I bet I could run it in Windows XP. So I find an XP ISO off of the Internet Archive (because, while I have multiple discs and keys for Windows XP, they’re buried in the same closet as those floppy disk drives) and fire up VirtualBox and make an XP VM. I go through the whole song and dance of getting it working with the VirtualBox extensions and I get the game copied over to the VM and I fire it up and… I get “Runtime Error 200”. I have no idea what this means and Googling doesn’t help. But I figure it either means Windows XP can’t run this program after all or it means the files are corrupt. Like, I would think if the files are corrupt the copy would have failed but it’s a floppy disk in 2023 who the hell knows.

So my next thought was – I wrote the game in Windows 3.1, maybe a Windows 3.1 virtual machine is the key. So I get one of those going. It’s a straightforward if quaint process but you basically wind up downloading .IMG files of the floppy disks and then “inserting” them into the VM and then watching them take a split second to install and prompt you for the next disk. It takes longer to click on the menu items than it does to install its contents. And afterwards you’re in Windows 3.1 and it occurs to you – there’s no easy way to get these files onto the VM. The VirtualBox extensions don’t work with Windows 3.1 or DOS, and I’m not even sure Windows 3.1 has any sort of networking (Windows for Workgroups 3.11 did but naturally I didn’t install that one). I tried to make an .IMG file of my floppy disk but the software I found to do it was sketchy and also failed. I did find what worked was actually having the virtual floppy disk drive just use my actual floppy drive (the USB one) and the copying took forever but it finally did work. I’m old enough to have run Windows 3.1 when it was new and I know it’s jarring to go back to older computers and software that’s not as mature as what you’re used to but the whole time I’m using Windows 3.1 I’m amazed they were able to charge money for this thing and that they all became billionaires as a result.

So then I tried to run the game and… it crashes Windows so hard that the resulting dialog box tells me I just need to reboot and try again.

Do not past go. Don’t even think about that $200.

Like even if I go to the DOS prompt in Windows it says no, screw you, start over. At multiple times in the process of trying to get this thing to run I hit a wall at a late hour and was just crestfallen but I did have the idea to boot the VM into DOS and try it without Windows and when I run it… nothing happens. Like, no runtime error, no crash, it just… sits there. Once again I’m stuck wondering if the problem is that the files are corrupt and don’t work (with the added wrinkle that this is now at least the second time I’ve tried to get the files off of this disk, it could be like using an old cassette in that it gets flakier every time) or if it’s in the layers of emulation/virtualization and some problem there.

A few days later I’m driving to a LAN party when I suddenly have the “pencil in outer space” epiphany: maybe I should try DOSBox. It’s commonly used by gamers and places like GOG to get old games running, so I’m not sure why I didn’t think of it first. Once I got set up at the LAN party and remembered to try it, I downloaded it and ran it. I’ve actually never used it as a standalone thing so I had to get up to speed on mounting drives and whatnot but then I fired up the game and… hoooly shit it actually ran.

 

So the files weren’t corrupt, or at least from that first copy they weren’t.

One thing I’d wondered over the years is how far along I got in the game. Like, in my mind it was never finished but I wasn’t sure how far along it was. The glorious opening page of that folder’s information says I had planned a launch/release date of July 4, 1995, so if I was working on this I had some notion that it was nearly done, but the opening screen of this thing declares it as being 95% finished, so I guess I really thought it was almost done.

So then I got to just sit there and actually play the game. It’s a surreal experience since I’m playing the game and remembering very little about how it worked and it’s like playing someone else’s game – but I wrote it. Time does elapse in the game and there’s a clock, it’s about one minute per turn. Eventually I wind up in jail in the game since once the police swarm they start taking everyone in because it’s so chaotic that it’s not clear who is a suspect. I get to a small handful of locations – the School Book Depository, the Grassy Knoll, the Triple Underpass, etc. The first time I end the game I see a message from the interpreter telling me I discovered 10 of 51 locations… so clearly there’s more places to explore than I got to.

For the last ten years I’ve worked in Downtown Dallas, on Elm street no less where the SBD is located, which is now the Dallas County Administration Building with the top two floors operating as the Sixth Floor Museum. The place I work is a decent ways away but I still walk down there and check it out from time to time, and I’ve been in the museum and its gift shop a few times. So it’s interesting to see how I laid out the locations in this game since at the time I was likely working from a theoretical vantage point. The difference between someone who has read about a place versus actually visiting that place. At one point in the game you’re in the grassy field across from the pergolas and the grassy knoll and you can go North to cross Elm Street and my first thought was – wait that isn’t right. But then I realized – no it’s actually right, if you’re considering north as an actual cardinal direction due to how the central business district is laid out. I don’t know if there’s a way in AGT or other systems to say “cross Elm Street” instead of “go north” but since the cardinal direction concept was set in place with the Zork games might as well stick with that.

.  

AGT actually had some graphical abilities – pretty much the extent of which was to say “this location has a scene” and then you could type something and see the image. I just said most of my exposure to Dealey Plaza was theoretical but I do now remember I went there once with some buddies to take photos to use in the game. And by take photos I mean – with a film camera, and then later we would scan them to use in the game. We also took some other photos, I remember one of me sitting behind a desk looking flustered, my thought was to use those for the office worker/manager in the game. Being high school teenagers before the Internet I remember we were total idiots about the whole thing. For some reason I had decided that the images in the game would be black and white so my logic was – buy black and white film, it’ll be cheaper to develop and that will save money. Yeah, we discovered the hard way that black and white film was actually more expensive to develop because it wasn’t used nearly as often, so some sort of economy of scale didn’t kick in. I do remember we got them developed though because the next thing was the quest to get them scanned in. In the early 90’s, flatbed scanners were one of those “Ten Richest Kings of Europe” sorts of things so we didn’t have one or access to one or knew anyone who owned one. Down one particularly lengthy trail I remember we wound up in the office of the mothers of one of the people I had roped into this bullshit because they had a fax machine you could use to send a faxed image as a file to someone via… hell I don’t remember any more but I do remember it didn’t work either.

Unfortunately the folder did not contain any of these developed photographs, but when I realized that some of the files on the floppy disk were renamed images I wondered if perhaps some of those photos had made it into the “95% final” game. Long story short, no, they didn’t. The five images were of Dealey Plaza, one of which was the assassination in progress. Given how difficult it was to get any sort of photograph into the PC, I find myself wondering where in the heck I got these images from, or the ones for the packaging. It’s not like I was on the Internet much.

           

So then I had a few avenues available for where to go from here. With some googling I discovered the AGT section of the Interactive Fiction Archive, which is an Internet-based archive of all things IF that’s been going since 1992, so it predates the web but it’s now being run by the Interactive Fiction Technology Foundation which is one of those things where I just love that it exists. Since 1995 there has been an annual IF competition whose initial goal was to spur interest in IF and today more or less continues just for shits.

In any event at the IF Archive they have the original AGT compilers, complete with newer versions than what I used, and there’s also an open source thing called AGiliTy, a modern interpreter for AGT games, which has the advantage that it runs on modern machines and compiles on basically anything with a C++ compiler (which is everything). This is in contrast to the original AGT, which was written using Turbo Pascal, and although it was never officially open sourced, the source code is also out there because it leaked out at some point and the authors presumably no longer cared. And, a little late, I discovered something on the IF Archive site: a utility to patch Turbo Pascal programs and fix the Runtime Error 200 which occurs when they run on a computer that’s too fast. So, that explains that. If I had known that I’d probably have been able to run the game on XP. It also explains why it runs on DOSBox – because DOSBox goes out of its way to simulate the lower speeds of an older computer, or at least it can.

Anyway, AGiliTy runs the game too, but it doesn’t look like the images work, but oh well.

Around this time I decided I needed to scan in the folder. I used the PDF document scanner that’s built into the iOS Notes app these days and it mostly worked, although it limits you to 24 pages at a time for some reason so I had to scan it into multiple documents. Also I thought I was scanning it in at the two tone black and white like you’d do when Xeroxing a document but instead it’s mostly full color photographs and I didn’t feel like going back and doing it again. I was able to combine the PDFs into one document on the Mac but for some reason it did different resolutions for the three documents and, again, I didn’t feel like hammering this out. But similar to how the Avery label on the folder almost feels like something you’d make up to make something look old, the scanned documents wound up having this “declassified document” feel to them which seems right at home given that there’s tens of thousands of declassified documents related to the JFK Assassination.

.

There’s a utility on there that claims to dump and recreate the source code for a compiled game, but it errors out when I tried to dump the game. It enumerates things like the Nouns and the Rooms and the Creatures, etc. but it craps out a few steps in. Strictly speaking I used AGT 1.56 and an AGT 1.6 and 1.7 came out at some point, so it could be that the decompiler can’t handle something the old 1.56 version did. That or it’s just an imperfect utility.

I had hoped I could use the scans of the source code papers to reconstruct the source code using the OCR capabilities of iOS and/or PDF but it didn’t work. It might be because the papers scanned a little bit crooked, or it could be because of the weird narrow-assed font that I must have chosen to fit everything in a notebook paper’s width but that look like the credits on a movie poster (and this was a dot matrix printer so it was probably chosen on-device, plus just the constant feeding of paper versus the modern ink/laser printers that expect discreet sheets).

I did find a second utility on the IF Archive site that could dump the contents of the files into something closer to being human-readable, and that actually worked, do between that and some amount of manual GREP and replace work, I hacked away at it for a few days but eventually had the source code reconstructed. There was even one thing in the final game which wasn’t in the printout, and my best guess is that after printing the source I fixed/added one more thing and didn’t re-print out everything, which makes sense.

In the course of going through the source code – which for an IF game is more like reading the script to a TV show or something – it’s interesting to see what all is in the game, because like I said it’s more elaborate and closer to being “done” than I realized. And it goes places. Some of this may be spoilers in case you’re one of the five people on earth who want to play the game so just skip to the two paragraphs ahead if you’re wanting to go in blind, but in addition to the locations in and around Dealey Plaza, which in more than one spot I misspelled, you can follow Oswald as he heads to Oak Cliff and shoots J.D. Tippit (I think I have it rigged such that you can’t be there when it happens but you discover the aftermath). You can get in the limo as it speeds by (why the SS lets you is not explained) and go to Parkland. You get points (oh yeah, there’s points and a score and everything) for giving Jackie a handkerchief to cry on (handkerchief being another word I didn’t know how to spell apparently), you can ride a bus to… I can’t remember where but there’s this quarter you can find in the game and you can either use it to buy a sandwich from a vending machine (which makes you sick and you die), or you can use it to pay for the bus fare (which, if you used it in the vending machine – and, I guess, don’t eat the sandwich – then you can’t ride the bus, which is some classic Infocom motherfuckery). You can witness the attempts to save Kennedy (which probably came from this book since that doctor’s name is used, one of the ones cashing in with a book right after JFK came out). There’s multiple paths that end up in jail, with a few of the police officers being named after high school friends of mine, and there’s a couple of crude jokes in there, either in the source code I thought no one would ever see or in the form of jokes in the game, which 1990’s high school me though were funny but 2023 adult me would never include. I was tempted to change or remove them but I left them in, warts and all in the name of game preservation. If I translate this thing to something else that’s the time to do some editing.

And the “Jack Dawson” part of the whole thing was the premise of why you’re allegedly in Downtown Dallas in the first place – you’ve reconnected with your old high school crush and you’re supposed to meet her for lunch, and if you find her you get like 100 points. It’s not much of a plot and it’s not much in the way of character development or anything but in looking back at how I wrote it, it’s very clear that 1990’s high school me didn’t have much of a dating life or much of a clue of how to interact with women. Also at some point there’s a knife and you can try and kill just about anyone from your crush to Abraham Zapruder and if you do it goes all “Grand Theft Auto” on you and you have like a 90% chance of being arrested in the next turn or two.

So after I reconstructed the source code, what followed was a series of events to tedious for details but essentially once I figured out I could run the original AGT executables in DOSBox, I ran the source through it and it would either get hung up, give me error messages which I would need to study AGT again to understand, or in some cases it would produce a series of game files that appeared to be correct, but there were fewer of them than on the floppy disk and when I ran the game I was in a room where I couldn’t see anything and any movement (i.e., “NORTH”) would result in my death and I had scored zero of zero points. So… yeah something’s up. I did find, in that IF Archive folder, a second compiler someone has made over the years called Magx which compiles AGT source code into a new format, “Agx”, which AGiliTy can also play, but it wouldn’t compile there either. I was able to use it to find several typos in the code, usually of the find-and-replace failed variety. One error appeared to be in the printed source code which either means the printout I have isn’t the latest, or the DOS AGT compiler was more forgiving than Magx. But then I got it down to a number of errors that appear to be legit AGT source, so either this is a glitch in Magx or it’s requiring I change some code which is not what I want to do.

So at this point I could hunt down what the issues are, but personally I’m less interested in trying to continue to mess with this 90’s era IF compiler and I’d rather see if I could translate it to something more modern like Inform. Of course, there’s a trick there too.

Basically in the 90’s, long after Infocom ceased, an academic named Graham Nelson reverse engineered the Z-Machine and wrote up the specifications as well as wrote some reference interpreters. He then went the next step and created a programming language called Inform that compiled to the Z-Machine. It went through several incarnations, the last of which was Inform 6. He then created Inform 7, but he went a completely different direction with it. Whereas Inform 6 was a regular programming language with brackets, semicolons, etc., Inform 7 was more a “natural language” approach.

So for example this is Inform 6 setting up a room

Object Kitchen "Kitchen";Object Front_Door "Front Door";
Object Living_Room "Living Room"
with
description "A comfortably furnished living room.",
n_to Kitchen,
s_to Front_Door,
has light;

This is Inform 7 setting up that same room

The Living Room is a room. "A comfortably furnished living room."

The Kitchen is north of the Living Room.

The Front Door is south of the Living Room.

The Front Door is a door. The Front Door is closed and locked.

It’s pretty neat. It would be easier for a writer who is not also a programmer to work with. It’s an interesting academic exercise.

I’m pretty sure it would also drive me goddamned insane. So I think I’ll stick with Inform 6.

I think it would be probably not too hard to translate the game over, the one thing I’m concerned about is the passage of time. That said, I haven’t had time to redo it so I’ll have to update this page in the future when I do. There’s actually interpreters that can run as browser plugins, I think, so I may be able to make it such that you could run the game without having to download anything.

In the meantime I’ve done the modern thing and added the files to GitHub. You can find the repository here:

https://github.com/tomkidd/gknoll

It includes a downloadable release that consists of the floppy disk’s contents (you’ll need to run it through DOSBox, perhaps later I’ll put up a preconfigured thing).

If you want to read the reconstructed source code you can find it here. If you want to see the scanned in contents of the folder, you can find that here.

In the time since I started this process and now, the 2023 IF Competition concluded and second place was a game someone finished in 2020 that they started in 1993 when they were a kid. Kinda like me, but I think they were younger. I don’t see myself entering this thing into anything but it’s interesting to know that I’m not even the only one who does weird shit like go back and find something they worked on and resurrects it. There’s probably a few more things I should do like upload it to the IFDB and stuff but for now here it is.

Categories: