Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A fully playable, faithful port of the original Zork I (Infocom) to modern C#. This is based on release 119, the last known version of the game.

License

Notifications You must be signed in to change notification settings

jphamilton/zork1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zork 1 in C#

Pull requests are welcome. I would love your help!

This is my ongoing effort to write Zork 1 in C#. The game is complete, but surely has bugs.

I started by downloading the Zork 1 .z3 file (revision 119) from The Obsessively Complete Infocom Catalog and using the Reform 6 Z-Code Decompiler (along with the appropriate symbol files) to create an Inform 6 source file - which, to me is much easier to understand than ZIL (although I did have to refer to the original ZIL source many, many times).

At this time, the game is playable and winnable. Screenshot 1 Screenshot 2

Some Notes

The Parser

The "game code" is 100% from the original game, but the parser is mine. I am not aiming for 1-to-1 parity, where I capture every bizarre nuance of the parser. But the parser should work very similar to the original (complex input, multiple commands, partial responses, etc., etc.) and this version of the game should be playable, complete and feel very much like the original Zork.

Bugs

The original Zork contains many bugs (in addition to mine :)) and there is a list of them that is at The Infocom Files. I have tried to go through and fix as many of them as possible.

Tests

Most of the unit tests are centered around the parser. At this time, I have only manually tested the various scenarios in the game.

Dead Code

There is some dead code in the original game and I have mostly left that in. Noteably, combat messages for the cyclops. As far as I can tell, you can never actually fight the cyclops.

Newlines/Whitespace

I have added newlines and whitespace in many places to make the game easier...on my eyes. There will surely be differing opinions here.

Object Describers

I have made many changes to the various "describers" in the game. For instance, the initial description of the objects in the kitchen looks like this:

A bottle sitting on a table.
The glass bottle contains:
  A quantity of water
On the table is an elongated brown sack, smelling of hot peppers.

I prefer a more Inform-like describer so that is what I am doing:

On the table is an elongated brown sack, smelling of hot peppers.
A bottle (which contains a quantity of water) is sitting on the table.

About

A fully playable, faithful port of the original Zork I (Infocom) to modern C#. This is based on release 119, the last known version of the game.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages