mirror of
https://git.zap.org.au/git/trader.git
synced 2024-10-27 18:20:13 -04:00
65601ce683
We finally release today, after a two-year hiatus!
153 lines
7.2 KiB
Plaintext
153 lines
7.2 KiB
Plaintext
**************************************************************************
|
|
* *
|
|
* Star Traders: A Game of Interstellar Trading *
|
|
* Copyright (C) 1990-2014, John Zaitseff *
|
|
* *
|
|
**************************************************************************
|
|
|
|
Star Traders is a simple game of interstellar trading, where the objective
|
|
is to create companies, buy and sell shares, borrow and repay money, in
|
|
order to become the wealthiest player (the winner).
|
|
|
|
The following history is presented in reverse chronological order. If you
|
|
would like to see a list of detailed changes to this project, you should
|
|
consult the Subversion repository for "trader" on The ZAP Group web server
|
|
at http://www.zap.org.au/services/svn/.
|
|
|
|
|
|
Version 7.5 (24th May, 2014)
|
|
----------------------------
|
|
|
|
Rewrote the file input and output routines so that saved games are now
|
|
stored in a much more reliable (scrambled) ASCII format. However, saved
|
|
games from older versions will no longer load: the workaround is to start
|
|
the older version of Star Traders with the "--dont-encrypt" command line
|
|
option, load the relevant game and save it again straight away, change the
|
|
second line in the game file from "File API 7.2" to "File API 7.5", then
|
|
run the new version of Star Traders.
|
|
|
|
Added translations for Norwegian Bokmål, Danish and Esperanto (in that
|
|
order), with thanks to Johnny A. Solbu, Joe Hansen and Felipe Castro.
|
|
Updated auxiliary files to the latest versions available from the Gnulib
|
|
GNU Portability Library and the GNU Autoconf project.
|
|
|
|
|
|
Version 7.4 (9th May, 2012)
|
|
---------------------------
|
|
|
|
For the first time since the CP/M-80 version of Star Traders, the game
|
|
algorithms have been carefully reviewed and revised. In particular,
|
|
companies may now have negative returns, making players lose money on such
|
|
shares. This may encourage players to use the "Sell shares" option at
|
|
appropriate times... In addition, changes in share prices, returns and
|
|
bank interest rates have been made much "smoother", less prone to wild
|
|
variations. These new algorithms were first modelled using Gnuplot and
|
|
Perl before being implemented in C.
|
|
|
|
The "configure" script now prints a prominent warning if a wide-character
|
|
version of Curses, such as NcursesW, is not available when compiling the
|
|
game. It is a warning and not an error as single-byte locales (such as
|
|
US-ASCII and ISO8859-1) do not require NcursesW, even if the compilation
|
|
environment itself is a multibyte one (such as UTF-8).
|
|
|
|
The Russian translation has been updated, with thanks to Vladimir Tsarkov
|
|
and Pavel Maryanov. Translations for French, German, Finnish and Croatian
|
|
have been added (in that order), with thanks to Frédéric Marchal, Philipp
|
|
Thomas, Jorma Karvonen and Tomislav Krznar. Special thanks also to the
|
|
Translation Project, which brings free (open-source) software developers
|
|
and translators together.
|
|
|
|
|
|
Version 7.3 (16th March, 2012)
|
|
------------------------------
|
|
|
|
Star Traders has been translated into Russian. In addition, a number of
|
|
bugs with internationalisation have been fixed. The "default value" key
|
|
(originally "=" or ";" as the first key-press in any input field) has been
|
|
incorporated into the language translation files.
|
|
|
|
|
|
Version 7.2 (29th August, 2011)
|
|
-------------------------------
|
|
|
|
Star Traders has been internationalised! As part of this update, all
|
|
input and output routines have been rewritten to handle multibyte strings.
|
|
English (Australian, British, Canadian and US) translations have been
|
|
included. Translations for other languages (and corrections to existing
|
|
languages) are more than welcome!
|
|
|
|
Game files are now stored in UTF-8 format (once decrypted!) and can be
|
|
loaded under any locale with automatic character set translation. This
|
|
does mean, however, that game files from versions 7.0 and 7.1 of Star
|
|
Traders will not load under this release.
|
|
|
|
The program now better handles terminal resizing events (for versions of
|
|
Curses supporting such events). It also tries to restore the terminal
|
|
environment correctly when receiving a terminating signal.
|
|
|
|
|
|
Version 7.1 (29th July, 2011)
|
|
-----------------------------
|
|
|
|
A minor updated release to fix configuration problems on some platforms.
|
|
In particular, some systems could not find the Curses libraries or header
|
|
files, so the Autoconf macro that performed the search was rewritten and
|
|
extended.
|
|
|
|
|
|
Version 7.0 (25th July, 2011)
|
|
-----------------------------
|
|
|
|
Released the first version of Star Traders for Unix-like operating systems
|
|
such as Linux. It requires a text console or window of at least 80x24 in
|
|
size. The code is written in the C99 programming language as a learning
|
|
exercise for a number of software tools and libraries; the algorithms in
|
|
the original Pascal and Visual Basic versions are reused for the game
|
|
logic.
|
|
|
|
Note that versions 7.0 and 7.1 of Star Traders did NOT handle locales with
|
|
multibyte character sequences (such as UTF-8) correctly. Each byte in a
|
|
such a sequence was treated as a separate character. Eight-bit locales
|
|
(such as US-ASCII, ISO8859-1, etc.) worked correctly.
|
|
|
|
|
|
Early history
|
|
-------------
|
|
|
|
The original (and very primitive) Star Traders game was written by S. J.
|
|
Singer in 1984 using Altair Basic. This was modified for Microsoft Basic
|
|
(MBASIC) running under the CP/M-80 operating system by John Zaitseff and
|
|
released on 7th March, 1988.
|
|
|
|
Star Traders was then completely rewritten in 1990 for the Australian-
|
|
designed 8-bit MicroBee computer running CP/M-80 on a Zilog Z80 processor,
|
|
using Turbo Pascal 3.01a. Essentially, only the name of the game and some
|
|
of the ideas were retained in this version. Version 4.1 of Star Traders
|
|
was released on 1st August, 1991.
|
|
|
|
In 1992, it was recompiled for the NEC Advanced Personal Computer (with
|
|
8-inch floppy drives!) running CP/M-86 on an 8086 processor, using Turbo
|
|
Pascal 2.0. This version had colour added to it in the form of ANSI
|
|
escape sequences; version 4.4 was released on 2nd August, 1993.
|
|
|
|
The next version came in 1993, when the program was recompiled to run on
|
|
IBM-compatible machines running MS-DOS and ANSI.SYS. Turbo Pascal 6.0 was
|
|
used for this. The ANSI escape sequences were slightly different under
|
|
MS-DOS than under the NEC, in that the NEC supported a number of extra
|
|
character attributes. In other words, the MS-DOS version looked worse
|
|
than the one running under CP/M-86!
|
|
|
|
Star Traders was recompiled again in 1994 for IBM-compatible machines with
|
|
VGA/EGA/CGA video graphics adapters. The output routines were recoded to
|
|
use a "windowed" look. Borland Pascal 7.0 was used for this purpose,
|
|
along with a number of text window manipulation modules. Version 5.4 was
|
|
released on 1st June, 1994.
|
|
|
|
In 1995, Star Traders was completely rewritten for the 16-bit Microsoft
|
|
Windows 3.1 graphical environment. Microsoft Visual Basic 3.0 was used
|
|
for this purpose. Although completely rewritten, the original algorithms
|
|
were reused from previous versions. Version 6.0 of the game was released
|
|
on 15th September, 1995.
|
|
|
|
Star Traders was then to languish until almost 16 years later...
|