Hack

In 1985 I distributed a game called hack with a copyright
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
Now that CWI has allowed free redistribution of this game, I have made an attempt to reconstruct the original sources.

There is a tape but nobody seems to have functioning tape readers anymore.

Hack 1.0

In December 1984 I distributed Hack 1.0 in the newsgroup net.sources. The sender was play@mcvax.UUCP (funhouse). The announcement promised 10 parts but in fact there were 15 pieces, all sent out on 17-Dec-84.

net.games.hack

The game was very popular - a newsgroup net.games.hack was created by Gene Spafford, who announced:

There has been an incredible amount of traffic generated by users
(and abusers) of the "hack" game recently posted to the net.  I have
just created the newsgroup "net.games.hack" for that traffic.  Please stop
posting articles about "hack" to "net.games" and "net.games.rogue"
and use this new group instead.

We now resume the disaster, already in progress.

Hack 1.0.1

In January 1985 a patch was sent out adding a few features. The sender was play@turing.UUCP. The resulting version was called Hack 1.0.1.

Hack 1.0.2

The 1.0 distribution had been sent out on a single day, but many sites had not been able to cope with that much (about 400 kB) on a single day. And the 1.0.1 patch used the program patch that was not universally available. So, when the time came for version 1.0.2, an entirely fresh copy of the source was sent out, this time spread out over two weeks (1-Apr-85 to 14-Apr-85). The sender was aeb@mcvax.UUCP (Andries Brouwer). Here are the announcement, and nine of the ten parts: p1, p3, p4, p5, p6, p7, p8, p9, p10. I have not succeeded in locating a copy of part2 (but see below). It contained the data files hack.6 hack.sh help hh Makefile Original_READ_ME READ_ME rumors. Good approximations to these files are given here in the subdirectory 1.0.2-part2-missing.

In fact, missing parts were not uncommon, witness several stories and poems. Here a fragment of the Case of the missing Part 10

        THE CASE OF THE MISSING HACK SOURCE PART 10

The time was 483625902.  The place was BCU (University California -
Backwards).  Ed and I has just finished sorting through our $HOME
directory when suddenly she entered the room  -- a tall dark blond
carrying a portable UNIX system.

        "I've lost it." she blurted out.  I suppressed a laugh as I noticed
that Ed's tty's were suddenly becoming enabled.

        "Baby", I said, "We've all lost it, otherwise we wouldn't be here."

        She cast a cryptic glance at Ed, then turned her attention to me
as she said, "Oh no.  I mean I've lost IT.  My only source to HACK1.0.2, 
part 10."

        What a cruel and vicious thing to have happened to a lady.  Of all the 
parts for a lady to lose -- part 10 was the worst.  "You've got to be nice 
and help me find it before it's too late."
...

Part 2 found

Ray Chason writes:
Subject: Lost Part 2 of Hack 1.0.2 found
Date: Fri, 9 Sep 2005 21:52:34 +0000

An almost complete distribution of Hack 1.0.2, including Part 2 (which is
missing from Google), has turned up at:

http://vmsone.com/~decuslib/unixsig/uni87a/hack/
I put a copy of this in the directory uni87a, files part1., part2., part3., part4., part5., part6., part7., part8., part9., part10., hack.doc. This agrees with the parts 1, 3-10 given above, except that part8. here was repackaged, part1. has a different #define for WIZARD, and some whitespace damage was fixed.

Hack 1.0.3

The last distributed version is Hack 1.0.3, sent out on 23-Jul-85 as an edscript. This version has been well preserved, it was easy to locate copies all over the net. A source tar, including the new copyright is given here. Note that this is a historical distribution only. Versions adapted to modern systems and compilers are found in most *BSD distributions.

Quest

Hack used boring rectangles for the rooms in its cave. Much more interesting shapes were used by Quest, a game that I never distributed, but that nevertheless magically found its way to many places. I know that people at the Free University in Amsterdam at one time had a (stolen) copy, and in Bruce Sterling's The Hacker Crackdown I read
Richard Andrews found himself in deep trouble, thanks to the E911 document. Andrews lived in Illinois, the native stomping grounds of the Chicago Task Force. On February 3 and 6, both his home and his place of work were raided by USSS. His machines went out the door too, and he was grilled at length (though not arrested). Andrews proved to be in purportedly guilty possession of: UNIX SVR 3.2; UNIX SVR 3.1;UUCP; PMON; WWB; IWB; DWB; NROFF; KORN SHELL '88; C++ and QUEST.
Hack and Quest had large parts of their source in common - the main difference was that Quest used its own level generator quest.mklev.c. I no longer have my copy - sent it optimistically by email from Amsterdam to Denmark and then deleted the Amsterdam copy, but the email never arrived: being larger than 100 kB, the message was discarded by some gateway.

Hack copyright

Hack was originally written by Jay Fenlason (at lincolnsudbury: 29 East St., Sudbury Mass., 01776) with help from Kenny Woodland, Mike Thome and Jon Payne. Basically it was an implementation of Rogue, however, with 52+ instead of 26 monster types.

Hack 1.0.3 is more than three times as large, with important additions like the dog, the shops, long worms, the endgame, and contains very little if anything from the original sources.

This source is now freely distributable under a BSD-type license: First of all, Jay Fenlason allows distribution of all code he wrote:


I wish to place all of the hack source code I wrote under the following license.

> /*
>  * Copyright (c) 1982 Jay Fenlason 
>  * All rights reserved.
>  *
>  * Redistribution and use in source and binary forms, with or without
>  * modification, are permitted provided that the following conditions
>  * are met:
>  * 1. Redistributions of source code must retain the above copyright
>  *    notice, this list of conditions and the following disclaimer.
>  * 2. Redistributions in binary form must reproduce the above copyright
>  *    notice, this list of conditions and the following disclaimer in the
>  *    documentation and/or other materials provided with the distribution.
>  * 3. The name of the author may not be used to endorse or promote products
>  *    derived from this software without specific prior written permission.
>  *
>  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
>  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
>  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
>  * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
>  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
>  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
>  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
>  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
>  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
>  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>  */
>
                                Jay Fenlason

and secondly, CWI (the present name for the older "Mathematisch Centrum") states:
Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica,
Amsterdam
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

- Neither the name of the Stichting Centrum voor Wiskunde en
Informatica, nor the names of its contributors may be used to endorse or
promote products derived from this software without specific prior
written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Dick Broekhuis, controller CWI

Comments, missing parts, etc. to aeb@cwi.nl.