2019-04-11 15:04:24 -04:00
|
|
|
|
.. -*- mode: rst; coding: utf-8 -*-
|
2020-12-29 18:56:27 -05:00
|
|
|
|
.. role:: filename(literal)
|
|
|
|
|
.. default-role:: filename
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
============================================
|
|
|
|
|
Star Traders: A Game of Interstellar Trading
|
|
|
|
|
============================================
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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 browse the `Star Traders Git repository`__ on `The ZAP Group web
|
|
|
|
|
server`__.
|
|
|
|
|
|
2019-11-07 19:12:59 -05:00
|
|
|
|
__ https://www.zap.org.au/git-browser/trader.git
|
2019-04-11 15:04:24 -04:00
|
|
|
|
__ https://www.zap.org.au/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. contents::
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
|
|
|
|
|
2021-01-11 19:22:40 -05:00
|
|
|
|
Version 7.15 (12th January, 2021)
|
|
|
|
|
---------------------------------
|
2020-01-08 18:22:15 -05:00
|
|
|
|
|
2021-01-07 07:19:41 -05:00
|
|
|
|
Changed the default location where game files are saved from `~/.trader`
|
|
|
|
|
to `~/.local/share/trader`, so as to follow the `XDG Base Directory
|
2021-01-11 17:16:53 -05:00
|
|
|
|
Specification`__. If set to an absolute path, the ``XDG_DATA_HOME``
|
|
|
|
|
environment variable will override this location. If the `~/.trader`
|
|
|
|
|
directory is already present, it will continue to be used. Updated the
|
|
|
|
|
manual page to suit.
|
2021-01-07 07:19:41 -05:00
|
|
|
|
|
|
|
|
|
__ https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
|
|
|
|
|
2021-01-07 08:16:20 -05:00
|
|
|
|
Updated the Russian translation to use the uppercase polite singular
|
|
|
|
|
forms «Вы» and «Ваш», as is customary in written documents.
|
|
|
|
|
|
2021-01-07 07:17:44 -05:00
|
|
|
|
Updated to GNU Gettext 0.20 or later. Updated to the latest snapshot of
|
|
|
|
|
the Gnulib GNU Portability Library. Also updated the `INSTALL` file to
|
|
|
|
|
list the latest tested versions of operating systems, including a new
|
|
|
|
|
listing for Haiku R1/beta2.
|
2020-01-08 18:22:15 -05:00
|
|
|
|
|
|
|
|
|
|
2020-01-08 15:56:19 -05:00
|
|
|
|
Version 7.14 (9th January, 2020)
|
|
|
|
|
--------------------------------
|
2019-11-12 17:32:15 -05:00
|
|
|
|
|
2019-11-18 20:36:07 -05:00
|
|
|
|
Added the Brazilian Portuguese translation, with thanks to Rafael
|
2020-01-01 23:50:39 -05:00
|
|
|
|
Fontenelle. Updated the French, Hungarian and Esperanto translations, in
|
|
|
|
|
that order, with thanks to Frédéric Marchal, Balázs Úr and Felipe Castro.
|
2019-11-12 17:32:15 -05:00
|
|
|
|
|
2020-01-08 16:01:59 -05:00
|
|
|
|
Updated to the latest snapshot of the Gnulib GNU Portability Library.
|
|
|
|
|
Also updated the `INSTALL` file to list macOS 10.15 (Catalina) and the
|
|
|
|
|
64-bit version of Cygwin under Microsoft Windows 10 as being tested
|
|
|
|
|
platforms.
|
|
|
|
|
|
2019-11-12 17:32:15 -05:00
|
|
|
|
|
2019-11-12 16:07:01 -05:00
|
|
|
|
Version 7.13 (13th November, 2019)
|
|
|
|
|
----------------------------------
|
2018-03-29 20:44:55 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Converted all text files to reStructuredText (ReST) format. This format
|
|
|
|
|
is still quite readable as raw text, and is much more capable than the
|
|
|
|
|
myriad all-slightly-incompatible variants of Markdown.
|
|
|
|
|
|
|
|
|
|
Modified the source code to work more reliably on non-GNU C Library
|
|
|
|
|
(``glibc``) platforms, particularly FreeBSD, Solaris and Cygwin, when
|
|
|
|
|
using the standard POSIX locale. Extensively tested the build procedure
|
|
|
|
|
on multiple operating systems and compilers, and submitted code upstream
|
|
|
|
|
to the Autoconf Archive project to make this work more robustly. Listed
|
|
|
|
|
tested operating system and compiler combinations in the `INSTALL` file.
|
2018-08-21 07:55:21 -04:00
|
|
|
|
|
2018-07-26 16:02:54 -04:00
|
|
|
|
Updated the Esperanto translation, with thanks to Felipe Castro.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Updated one string in the game for consistency with other labels; updated
|
|
|
|
|
all PO translations to suit. Also added strings from obsolete versions
|
|
|
|
|
of the GNU C Library so that Star Traders can provide translations for
|
|
|
|
|
them.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Updated to the latest snapshot of the Gnulib GNU Portability Library. In
|
|
|
|
|
addition, updated the list of prerequisites in the `INSTALL` file and
|
|
|
|
|
listed some more command line options for the ``configure`` script.
|
2018-03-29 20:44:55 -04:00
|
|
|
|
|
|
|
|
|
|
2017-08-24 01:04:59 -04:00
|
|
|
|
Version 7.12 (24th August, 2017)
|
|
|
|
|
--------------------------------
|
2017-08-07 04:33:57 -04:00
|
|
|
|
|
|
|
|
|
Updated the Serbian translation, with thanks to Мирослав Николић.
|
|
|
|
|
|
|
|
|
|
|
2017-06-17 16:06:25 -04:00
|
|
|
|
Version 7.11 (18th June, 2017)
|
|
|
|
|
------------------------------
|
2017-06-14 21:40:24 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Bug fix: some architectures (such as ARM, PowerPC and S390) treat
|
|
|
|
|
:code:`char` as :code:`unsigned char`, and this caused
|
|
|
|
|
:code:`b64decode()` to fail while loading a saved game. Changed the
|
|
|
|
|
relevant type from :code:`char` to :code:`int` to fix this.
|
2017-06-14 21:40:24 -04:00
|
|
|
|
|
|
|
|
|
|
2017-06-01 15:22:35 -04:00
|
|
|
|
Version 7.10 (2nd June, 2017)
|
|
|
|
|
-----------------------------
|
2016-03-10 17:27:51 -05:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Added a `data` directory that contains a desktop file and appropriate
|
|
|
|
|
icons. Adjusted the game constants for more dynamic play: allow the
|
|
|
|
|
share prices and returns to change a bit more frequently and more
|
|
|
|
|
rapidly. Tweaked the colours in the example monochrome retro-computing
|
|
|
|
|
command lines, including adding an amber monitor version.
|
|
|
|
|
|
|
|
|
|
Added a Serbian translation, with thanks to Мирослав Николић. Updated
|
|
|
|
|
the Danish, French, Swedish, Hungarian, Norwegian Bokmål and German
|
|
|
|
|
translations, in that order, with thanks to Joe Hansen, Frédéric Marchal,
|
|
|
|
|
Anders Jonsson, Balázs Úr, Johnny A. Solbu and Philipp Thomas
|
|
|
|
|
respectively.
|
|
|
|
|
|
|
|
|
|
Updated translatable strings to overcome a limitation of ``msgfmt``\(1):
|
|
|
|
|
if a string starts or ends with a new-line character, its translation
|
|
|
|
|
must do so as well. This has an impact on labels in particular. Also
|
|
|
|
|
changed the help text string “Page *N* of *M*” to allow translations of
|
|
|
|
|
the form “Of *M* pages, this is page *N*”, and all quoted strings using
|
|
|
|
|
the obsolete GNU form ```like this'`` to ``'this'``. In addition, newer
|
|
|
|
|
versions of `lib/getopt.c` have different strings. All translations have
|
|
|
|
|
been updated as a result.
|
|
|
|
|
|
|
|
|
|
Removed the obsolete Gnulib ``gettext`` module and updated to the latest
|
|
|
|
|
Git snapshot of Gnulib. Updated the dependency version numbers for
|
|
|
|
|
Autoconf, Automake and Gettext. Also updated all macros from the
|
|
|
|
|
Autoconf Archive.
|
|
|
|
|
|
|
|
|
|
Migrated the source code repository from Subversion to Git. Updated the
|
|
|
|
|
documentation to suit, and also listed specific required version numbers
|
|
|
|
|
for the Autoconf and Automake tools in the `INSTALL` file.
|
2017-05-19 21:48:33 -04:00
|
|
|
|
|
2016-03-10 17:27:51 -05:00
|
|
|
|
|
2016-01-04 17:54:20 -05:00
|
|
|
|
Version 7.9 (5th January, 2016)
|
|
|
|
|
-------------------------------
|
2015-09-29 19:49:29 -04:00
|
|
|
|
|
2015-09-29 19:53:28 -04:00
|
|
|
|
Updated the Danish translation, with thanks to Joe Hansen.
|
2015-09-29 19:49:29 -04:00
|
|
|
|
|
|
|
|
|
|
2015-09-09 18:05:26 -04:00
|
|
|
|
Version 7.8 (10th September, 2015)
|
|
|
|
|
----------------------------------
|
2015-08-17 22:29:44 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Changed the name of the seventh company from “Gemeni Inc” to “Gemini
|
|
|
|
|
Inc”: a spelling mistake that has been present since 1990! Special
|
|
|
|
|
thanks to Anders Jonsson for pointing this out.
|
2015-08-26 05:11:14 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Added the Swedish translation, with thanks to Anders Jonsson. Minor code
|
|
|
|
|
changes were made to accommodate this language. Incorporated changes
|
|
|
|
|
made by the translators for German, French and Norwegian Bokmål, in that
|
|
|
|
|
order, with thanks to Philipp Thomas, Frédéric Marchal and
|
|
|
|
|
Johnny A. Solbu. Also updated all references to GNU Gettext to version
|
|
|
|
|
0.19.5.
|
2015-08-17 22:29:44 -04:00
|
|
|
|
|
|
|
|
|
|
2015-08-17 19:10:05 -04:00
|
|
|
|
Version 7.7 (18th August, 2015)
|
2015-08-17 17:27:22 -04:00
|
|
|
|
-------------------------------
|
2014-10-02 15:51:48 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Added the Hungarian translation, with thanks to Balázs Úr. Minor code
|
|
|
|
|
changes were made to accommodate this language. Also added documentation
|
|
|
|
|
in the file `INSTALL` to translate Star Traders into another language.
|
2014-10-02 15:51:48 -04:00
|
|
|
|
|
|
|
|
|
|
2014-08-12 21:56:20 -04:00
|
|
|
|
Version 7.6 (13th August, 2014)
|
|
|
|
|
-------------------------------
|
2014-06-18 06:55:15 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
A minor release to fix compilation bugs under Cygwin: the ``libiconv``
|
|
|
|
|
library must be listed *after* the GNU Portability Library on that
|
|
|
|
|
platform.
|
2014-06-18 06:55:15 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
In addition, the minimum and maximum share return values were changed
|
|
|
|
|
from -10% to -15% and 20% to 25% respectively. This gives more incentive
|
|
|
|
|
to borrow money from the Interstellar Trading Bank, whose interest rate
|
|
|
|
|
can reach a maximum of 20%.
|
2014-08-12 21:36:35 -04:00
|
|
|
|
|
2014-06-18 06:55:15 -04:00
|
|
|
|
|
2014-05-23 17:34:15 -04:00
|
|
|
|
Version 7.5 (24th May, 2014)
|
|
|
|
|
----------------------------
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
2013-02-21 04:10:04 -05:00
|
|
|
|
GNU Portability Library and the GNU Autoconf project.
|
2012-11-05 04:14:33 -05:00
|
|
|
|
|
|
|
|
|
|
2012-05-08 16:51:50 -04:00
|
|
|
|
Version 7.4 (9th May, 2012)
|
|
|
|
|
---------------------------
|
2012-03-22 19:40:44 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
2012-03-31 00:55:29 -04:00
|
|
|
|
Perl before being implemented in C.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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).
|
2012-03-31 00:55:29 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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.
|
2012-03-22 19:40:44 -04:00
|
|
|
|
|
|
|
|
|
|
2012-03-15 19:49:25 -04:00
|
|
|
|
Version 7.3 (16th March, 2012)
|
2011-08-29 18:13:28 -04:00
|
|
|
|
------------------------------
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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.
|
2011-08-29 18:13:28 -04:00
|
|
|
|
|
|
|
|
|
|
2011-08-28 03:17:10 -04:00
|
|
|
|
Version 7.2 (29th August, 2011)
|
|
|
|
|
-------------------------------
|
2011-08-01 01:10:17 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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!
|
2011-08-28 03:17:10 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
2011-08-28 03:17:10 -04:00
|
|
|
|
Traders will not load under this release.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The program now better handles terminal resizing events (for versions of
|
|
|
|
|
Curses supporting such events). It also tries to restore the terminal
|
2011-08-28 03:17:10 -04:00
|
|
|
|
environment correctly when receiving a terminating signal.
|
2011-08-01 01:10:17 -04:00
|
|
|
|
|
|
|
|
|
|
2011-07-28 22:17:16 -04:00
|
|
|
|
Version 7.1 (29th July, 2011)
|
|
|
|
|
-----------------------------
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
2011-07-28 22:17:16 -04:00
|
|
|
|
extended.
|
|
|
|
|
|
|
|
|
|
|
2011-07-25 03:02:16 -04:00
|
|
|
|
Version 7.0 (25th July, 2011)
|
|
|
|
|
-----------------------------
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
|
|
|
|
80×24 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.
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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.
|
2011-07-25 03:00:59 -04:00
|
|
|
|
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
|
|
|
|
Early history
|
|
|
|
|
-------------
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
2011-06-14 02:55:20 -04:00
|
|
|
|
released on 7th March, 1988.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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.
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
In 1992, it was recompiled for the NEC Advanced Personal Computer (with
|
2019-11-07 04:17:31 -05:00
|
|
|
|
8-inch floppy drives!) running CP/M-86 on an 8086 processor, using Turbo
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Pascal 2.0. This version had colour added to it in the form of ANSI
|
2011-07-25 03:00:59 -04:00
|
|
|
|
escape sequences; version 4.4 was released on 2nd August, 1993.
|
2011-06-14 02:55:20 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
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
|
2011-06-14 02:55:20 -04:00
|
|
|
|
on 15th September, 1995.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Star Traders was then to languish until almost 16 years later…
|