
                       Planets Command Center II
                      ---------------------------


WHAT IS PCC2?
==============

  PCC2 is a re-write of the semi-popular VGA Planets 3 client PCC 1.x.

  VGA Planets is a play-by-email space-combat strategy game for DOS,
  written by Tim Wisseman. Planets Command Center (PCC) 1.x is a
  closed-source DOS program written and maintained by Stefan Reuther
  since 1995. PCC 1.x is quite feature-rich and stable, its main
  problem being that it runs on an obsolete operating system only.

  PCC2 is a re-write of that DOS program. Although it recycles much of
  the old experience, it is too different to be called a "port". In
  many areas, PCC2 surpasses PCC 1.x in terms of features and speed.

  PCC2 is currently based on the SDL game library. Therefore, it runs
  as native code on Windows, Linux, Solaris, and probably other
  systems as well.

  The program suite consists of the following programs:
  - pcc-v2, the client
  - playvcr, a VCR player and simulator (replaces CCBSim)
  - command-line utilities replacing various command-line utilities
    previously offered with PCC 1.x or separate (un-trn, c2unpack,
    c2sweep, c2mgrep) or which are completely new (c2export, c2mkturn,
    c2dump).

  The source code also allows building the FLAK multi-ship combat
  system. The combat simulator supports FLAK and NuHost combat in
  addition to regular HOST/PHost combat.



Target Audience
----------------

  PCC2 is a complete, playable client, open for all audiences. It runs
  on modern 32-bit and 64-bit operating systems and therefore does not
  require you to mess with emulations for older 16-bit software.

  Probably everyone will have a use for PlayVCR, PCC2's combat viewer
  and simulator. Its graphics are a little nicer than those of the
  others, and its simulator runs faster than all other simulators
  known to me. Hosts might find Un-TRN useful, especially its ability
  to "sanitize" turns.



Tasty Features
---------------

  PCC2 is considered to be the most advanced client to date.

  + You can play a turn without having to unpack it. PCC2 can read RST
    files directly, and writes out TRN files. (Classic play, with
    "Unpack" and "Maketurn" steps, is supported, and respective
    utilities are included.)

  + The combat player (VCR) includes smooth display, optional sound,
    and full controls (forward/rewind). It supports all kinds of
    Winplan replacement pictures to make it look cool. The VCR player
    is also available as a standalone application (under the brand
    name "PlayVCR") and features optional Winplan integration.

  + Auto tasks. Give commands four your ships in advance.

  + Scripting. Use it to customize keybindings, automate computations
    and actions.

  + Hi-res support. You can run PCC2 in any resolution you want. The
    control screens don't yet adapt perfectly, but it should be quite
    usable. At 800x600, you have a 480x440 map window; that's almost
    the same size as in VPA.

  + The playing-style imitates that of PCC 1.x (control screens), but
    map-centric play is possible as well.

  + PCC2's combat simulator is probably the most extensive, fastest
    simulator you can get. It supports setups with multiple ships.

  + Since VGAP'ers tend to argue about programming languages: this is
    the first C++ client, and the first one which runs *natively*
    under Win32, Linux, etc. (if you don't count the Java guys); and
    to my knowledge the only completely playable one of this type.

  + PCC2 laid the foundation for the auto-host and web client at
    <https://planetscentral.com/>.



What PCC2 is not
-----------------

  Although PCC2 runs on X11, it is not a native X11 application per
  se. Like most games, it does not use X11 widgets; it uses its own
  bitmap graphics. Its performance over a network will be very poor.
  It will easily saturate a Fast Ethernet link. Don't even try to run
  it across a 64kbit link. PCC2 feels best when it can talk directly
  to your graphics board, that is, when it's running on the same
  machine as the X server and can use shared memory. If you wish a
  native X11 client able to run remotely, try 'xk' or 'GWP'.

  PCC2 does not come with its own registration key. You need a
  registered original front-end (planets.exe, Winplan) to use PCC2 in
  registered mode. This is a gentlemen's agreement in the VGA Planets
  universe. You need to run that program at least once so it writes
  out its registration key in a format usable by PCC2.

  PCC2 does not include hosting (game server) software. To actually
  play, you need a "master" program to create a game, and a "hosting"
  program to run it. The recommended portable versions here are
  'AMaster' and 'PHost'. PCC2 does not include an AI, so you also need
  some other players to play. The best way is to join a game on one of
  the many internet VGAP hosting services, which will do all this for
  you.

  Despite being newer than PCC 1.x, PCC2 already shows some age and
  does not make use of modern GPUs and multi-core processors, nor does
  it relieve you from having to transfer files from and to a server. A
  "Next Generation" version is in the works, and will probably take
  over in the foreseeable future.



Platforms known to support PCC2
--------------------------------

  Current versions are known to compile and run under
  - Debian 8 x64
  - Debian 12 x64
  - Windows 7 x64
  - Windows 10 x64

  Previous versions are known to compile and run under
  - Ubuntu 10.4 x86
  - Ubuntu 14.4 x64
  - OpenSuSE 10.1 and 11.4 x86
  - Debian 3.0 x86
  - Windows 95
  - Windows 2000
  - MacOS X 10.6 for x64
  - Windows XP x86 using Visual Studio 2005 (VC8)
  - Windows XP x86 using MinGW g++

  Ancient versions were run under
  - SuSE Linux 5.1 (libc5-based) on x86, with upgraded compiler and
    SVGAlib, manually-installed SDL. Its X libraries seem not to be
    thread-safe, but SVGAlib works. This is the platform I work(ed) on.
  - Debian 2.1 (libc6-based) on x86. The version of SDL included in
    this distribution is too old, so install a new one. X works fine.
  - Windows 9x/XP using the Borland C++ 5.5.1 compiler
  - Solaris 2.7 on Sparc (with g++, not Sun CC), manually-installed SDL.



Interoperation with Other Clients
----------------------------------

  PCC2 aims to be a successor to PCC 1.x, supporting most file formats
  and features PCC 1.x has. Switching between is possible, but some
  features cannot be shared:

  + The starchart database, "chartX.cc", is essentially handled
    identically by PCC2 and PCC 1.x. Currently, PCC2 processes all
    information written by PCC 1.x, and vice versa.

  + The PCC 1.x score database, "stat.cc", is converted into PCC2's
    file format and named "score.cc" upon PCC2's first start. From
    then on, both clients will use their own file. PCC 1.x cannot
    display "score.cc", and I'm unsure whether it ever will.

  + The PCC 1.x virtual machine database, "vmX.cc", which contains
    active scripts (auto tasks) is not supported by PCC2 due to
    the completely different implementation of PCC2 scripts. PCC2
    stores auto tasks in its own file, "scriptX.cc". The old file is
    NOT imported.

  + PCC 1.x's configuration file "config2.cc" is ignored; PCC2 uses
    "pcc2.ini" instead. Whereas PCC 1.x always uses the configuration
    file from the game directory after creating it, PCC2 will allow
    you to have a mixture of game-specific and user-specific
    (=effectively global) settings.

  Mixing PCC2 with a different client should also be fine. PCC2
  maintains all checksum files required by Winplan or DOS Planets.
  Remember to not run two clients in parallel, though.

  To generate registered turns, PCC2 needs a "fizz.bin" file created
  by a registered client in the game directory, just like PCC 1.x.
  If you do not have one, PCC2 will play unregistered; many other
  programs will refuse to open game directories without a fizz.bin
  file. As a hint, PCC2 displays the registration status on the game
  selection screen.



URLS FOR PCC
=============

  PCC 1.x: <https://phost.de/~stefan/pcc.html>
  PCC 2.x: <https://phost.de/~stefan/pcc2.html>
  PCC2 Web: <https://planetscentral.com/>
    (also offering games!)

  PCC2ng: <http://phost.de/~stefan/pcc2ng.html>
    (possible successor/variant of PCC2)

  SDL: <http://www.libsdl.org/>

  SDL_image: <http://www.libsdl.org/projects/SDL_image/>

  libjpeg: <http://www.ijg.org/>

  libpng: <http://www.libpng.org/>

  Zlib: <http://www.gzip.org/zlib/>

  libtiff: <ftp://ftp.sgi.com/graphics/tiff/>

  NSIS: <http://nsis.sourceforge.net/>

  ...or ask the friendly Debian mirror near you.


RELATED URLS
=============

  xk: <http://www.yagibdah.de/> (dead?)
    (a native X11 front-end for Linux/x86)

  GWP: <http://gwp.lunix.com.ar/> (dead?)
    (a native Gnome front-end in-the-making)

  VGA Planets: <http://www.planets4.com/> (dead?)
    (site of the original game. You want version 3.x.)

  PHost: <https://phost.de/>
    (the Portable Host [game server], binary-only for political reasons)

  AMaster: <https://phost.de/~vagabond/tools/>
    (portable game initialisation [master] program)
    (older URL: <http://torstatus.blutmagie.de/~h3s/vagabond/tools/>)
    (older URL: <http://www.geocities.com/the_vagabund/tools/>)

  PDK: <http://phost-contrib.sourceforge.net/>
    (open-source host-side development kit; needed by AMaster)

  James Heinrich: <https://www.vgaplanets.ca/>
    (links and tools)

  Matthias Kühl: <http://www.vgaplanets.de/>
    (assorted information, in German)

  Donovan's: <http://www.donovansvgap.com/>
    (lots of information, mostly about the original host)
    (older URL: <http://www.xs4all.nl/~donovan/>)
    (older URL: <http://donovan.circus-maximus.com/>)

  Newsgroup: alt.games.vga-planets
    (everything about Planets)

  Gaming server 'PlanetsCentral': <https://planetscentral.com/>
    (PHost, run by yours-truly, back-ends based on PCC2)

  Gaming server 'RCWorld': <http://rcworld.de/>
    (PHost and HOST, dead)

  Gaming server 'Circus Maximus': <http://www.circus-maximus.com/>
    (PHost and HOST, status unclear?)

  Gaming server 'Robomaster': <http://robomaster.ca/>
    (PHost and HOST, status unclear?)

  Gaming server 'Planetsserver': <http://planetsserver.com/>
    (PHost only, dead)



-eof-
