c5b182eda923fb2c7ad303c63328d4fa0bec42d4
[vms-empire.git] / NEWS
1                         vms-empire news
2
3 1.10:
4         Fix core dump wehen a satellite bounced off the world edge.
5         Full ANSIfication of function prototypes (which fixed the 
6         sat bug - the code appeasrs to have been tickling some obscure
7         bug in the compilation of function calls with K&R-style prototypes).
8
9 1.9: 2012-02-16T02:49:47
10         Drop RPM packaging. Documentation cleanups.
11
12 1.8: 2010-10-21T12:47:33Z
13         Joe Wells's patch to enable different-sized worlds.  Minor fixes to
14         map functions by Andrew Morrow. More on the history of the game.
15         Enable arrow keys in edit mode.
16         License changed from Chuck Simmons's cosmetically tweaked clone
17         of the GPL to GPL proper, so the classifier systems that forge
18         and archive sites use will be less confused.
19
20 1.7: 2004-09-27T21:53:41Z
21         Documentation fixes.  The old empire.doc file has been replaced
22         by the man page.
23
24 1.6: 2003-12-29T11:11:53Z
25         Source RPMs can be built by non-root user.
26
27 1.5: 2003-12-29T11:06:21Z
28         Cleanup release with new build machinery.
29
30 1.4: 2002-08-01T20:04:09Z
31         Packaging tweaks.  RPM spec fixes.  READ.ME broken up into
32         READ.ME and NEWS.  Obsolete bug notes removed.  Option -f to
33         set savefile added.  I'd like to move the documentation to XML, 
34         but can't yet because db2man doesn't render tables.
35
36 1.3: 2002-04-19T10:25:43Z
37         Walt Stoneburner's cleanup patch addressing all compiler errors and 
38         warnings, both in debug and in production mode; works with GCC v3.0.3.
39
40 1.2: 2000-07-28T16:04:26Z
41         The victory-odds table in previous versions was seriously buggy.
42         I folded in corrections from Michael Self.  I also took changes
43         from James T. Jordan <kermyt@earthling.net>, who wrote some
44         speedups, added ANSI prototypes, and cleaned up code.
45
46 1.1: 1995-12-06T14:02:31
47         Packaging tweaks.
48
49 1.0: 1994-12-01T17:15:43Z
50         I colorized and speed-tuned this and added a
51         save-interval option. 
52
53 The rest of this history is Chuck Simmons's original notes.  Because
54 there are so many other Empire games out there now (all descended from
55 this one!), I've reverted to the VMS Empire name.
56
57                                         -- Eric S. Raymond
58
59 History
60
61         Apparently, this game was originally written outside of Digital,
62         probably at a university.  The game was ported to DEC's VAX/VMS
63         from the TOPS-10/20 FORTRAN sources available around fall 1979.
64         Ed James got hold of the sources at Berkeley and converted
65         portions of the code to C, mostly to use curses for the screen
66         handling.  He published his modified sources on the net in
67         December 1986.  Because this game ran on VMS machines for so
68         long, a previous version is known as VMS Empire.
69
70         In early 1987 I reverse engineered the program and wrote a
71         version completely written in C.  In doing this, I used lots
72         of structures and defined constants, and I attempted to make
73         the code flexible and easy to modify.  The algorithms used
74         in this C version are completely new, the names of the commands
75         have been changed to be more mnemonic, and new commands have
76         been implemented.  Only the format of the display is the same.
77         I suspect that many of my changes are slower and less
78         intelligently implemented than the originals.  Also, I have
79         not implemented some of the original functionality.
80         However, my hope is that the commented C sources I have written
81         will prove far easier to modify and enhance than the original
82         FORTRAN sources.  If you make changes for the better, by
83         all means send Ed James and I a copy.
84
85         The basic game has been heavily modified.  I've changed the
86         types of objects built, modified the parameters on others,
87         and added lots of new kinds of movement functions.  Read
88         the man page for a complete description.
89
90         The file 'bugs' contains lots of ideas for enhancements,
91         and describes the bugs I haven't been able to find.
92
93 Final Notes
94
95         Unfortunately, I have a rather powerful mainframe at my
96         disposal which is somewhere between 10 and 40 times as
97         fast as a 68020 based computer.  This means I can afford
98         to use extremely inefficient algorithms.  I suspect that
99         running this program on a smaller machine, such as a Sun
100         workstation or Vax will not be overly rewarding.  In particular,
101         the computer will take a very long time to move its pieces,
102         and it may not be desirable to save the game after every move.
103         (You mean your system doesn't write out 1/2 megabyte files in a
104         few milliseconds?)  This second problem is easily fixed, but
105         I don't yet have any good ideas for fixing the first problem.
106
107         The size of a saved file can be easily tuned by reducing the
108         LIST_SIZE constant in empire.h.  The only current simple tweak
109         for making the computer move faster is to reduce the size
110         of a map.
111
112 Chuck Simmons
113 amdahl!chuck
114
115 Ed James
116 edjames@ic.berkeley.edu
117 ucbvax!edjames
118
119         The low-end PCs of 2002 are more powerful than Chuck's 1987 mainframe.
120         Performance tuning isn't the issue it once was. :-)
121
122         My changes enable color on machines with terminfo color support, for
123         a dramatic improvement in appearance and readability of the display.
124         Color support, if present, will be auto-detected at compilation time.
125
126         They also implement and document a `save-interval' option, addressing
127         one of the misfeatures noted in the bugs file.
128
129         I've also tweaked the sources so they compile clean under GCC -- they
130         assumed the older K&R model of forward reference, causing many warning
131         references.
132
133         Finally, I've sped up expand_perimeter by cutting down on the
134         number of array references it has to compute. This eliminates several
135         multiplies from the inner loop, and is a technique that could be
136         applied much more widely in the code.  If efficiency matters that much
137         to you, maybe you need to get outside more.
138
139 Eric S. Raymond
140 esr@thyrsus.com
141 (home page: http://www.catb.org/~esr/)