



   #########    ###                         ######   ######
  ###.....###  .###                        ..###### ######
 .###    ...  #######    ######   ########  .###.#####.###   ######   ########
 ..######### ...###.    .....### ..###..### .###..### .###  .....### ..###..###
  ........###  .###      #######  .### ...  .### ...  .###   #######  .### .###
  ###    .###  .### ### ###..###  .###      .###      .###  ###..###  .### .###
 ..#########   ..##### ..######## #####     #####     #####..######## .#######
  .........     .....   ........ .....     .....     .....  ........  .###... 
                                                                      .###
                          (c) 1995 by R.M.M.Glasmacher                #####
                                                                     .....


                   Ein Navigationssystem fr VGA-Planets V3.0



1.) Einleitung
    ----------

Als ich zum ersten Mal VGA-Planets auf meinem Rechner gestartet hatte, war
mir noch nicht bewut, wie viel Zeit ich in dieses Spiel investieren werde. 
Momentan sind wir, nach fast einem Jahr, beim neuzigsten Spielzug und jeder
Zug kostet mich ungefhr drei Stunden.

Anfangs hielt ich das PLANETS.EXE fr vollkommen ausreichend. Mit der Zeit
wurde die Zahl der Schiffe und Planeten aber grer und das Spiel damit
komplexer. Als mich dann noch ein Kommilitone darauf aufmerksam machte, da
ich als Rebel mit dem Falcon Class Escort ein Schiff besitze, welches auf
einmal 350 Lichjahre zurcklegen kann, war klar, da der normale Sichtbereich
von PLANETS.EXE zu klein war, um Hyperraumsprnge ordentlich berechnen zu
knnen. Wie sieht es berhaupt aus, wenn ich zwei Sprnge hintereinander
durchfhren mchte? Gibt es direkte Verbindungen zwischen zwei Planeten?

Weiterhin wurde es auf einmal ntig, Schiffe zu einem Planeten fliegen zu
lassen, der nicht mehr im Sichtbereich liegt. Welchen Punkt mu ich aber nun
ansteuern, so da ich mit minimaler Entfernung mein Ziel erreiche? 

All das habe ich versucht, mit StarMap unter PowerBasic V2.10f zu
realisieren. Nachdem ich StarMap fast ein Jahr fr mich selbst entwickelt
habe und es nur an zwei Mitspielern weitergegeben habe, bin ich nun so weit,
StarMap einer greren Benutzerschar zur Verfgung zu stellen.  

In der folgenden Liste werde ich versuchen kurz die "Features" von StarMap
aufzuzhlen: 

- StarMap arbeitete mit jeder zu VGA-Planets kompatiblen Sternenkarte
  (XYPLAN.DAT).
- StarMap zeigt die ganze Sternenkarte auf dem Bildschirm an. Die Auflsung
  ist variabel, so da auch kleinere Ausschnitte angezeigt werden knnen. 
- Fr normale Flge auerhalb des Sichtbereichs kann ein Zielpunkt innerhalb
  der Grenzen von PLANETS.EXE berechnet und angegeben werden.
- Es besteht die Mglichkeit von jedem Punkt im "Planets-Universum" direkte
  Sprnge zu Planeten berechen zu knnen.
- Sind Start- und Zielpunkt weiter auseinander als 350 Lichtjahre, so kann
  man einen Doppelsprung berechnen lassen, der direkt von vom Startpunkt auf
  den Zielpunkt fhrt (clevere "Rebellen" knnen mit Ihren Falcon sogar
  Dreifachsprnge ausfhren).
- StarMap mte auf jedem MS-DOS kompatiblen 286er-Rechner mit 640KB
  Hauptspeicher und VGA-Karte arbeiten. Unter OS/2 V2.x luft es als
  DOS-Programm im FullScreen-Modus. 

Es gibt auch ein paar Nachteile, die ich hier nicht verschweigen mchte: 

- PowerBasic V2.10f untersttzt keine Grafikfunktionen, die mit dem
  Hintergrund irgendwie logisch verknpft (XOR) werden. Dadurch mu bei jedem
  versetzen des Zielpunktes die komplette Sternenkarte neu gezeichnet werden,
  was auf langsamen Rechnern schon lange dauern kann.
- Eine Maus wird nicht untersttzt.  

Wenn irgendjemand eine Lsung fr diese Probleme hat und sie nicht darauf
hinauslaufen, da ich die Programmiersprache wechseln soll oder mir einfach
die PowerBasic V3.0 holen soll, dann bin ich fr jeden Hinweis dankbar.



2.) Installation und Programmstart
    ------------------------------

Das StarMap-Paket besteht aus vier Dateien:

STARMAP.EXE     Das eigentliche Programm 
STARMAP.TXT     Diese kleine Dokumentation
STARMAP.CHG     Eine kleine Entwicklungsgeschichte von StarMap

Die Installation von StarMap ist einfach. Kopieren Sie die Programmdatei
STARMAP.EXE und die Dateien XYPLAN.DAT und PLANET.NM aus der VGA-Planets
Distribution in ein Verzeichnis Ihrer Wahl. Am besten kopieren Sie die
StarMap-Datei in Ihr VGA-Planets Programmverzeichnis.  

Nun brauchen Sie nur noch in das Verzeichnis zu wechseln, in welches Sie
StarMap kopiert haben. Starten Sie StarMap mit STARMAP [RETURN].
Es erscheint sofort die Sternenkarte. Gedulden Sie sich noch etwas, bis die
notwendigen Daten berehnet worden sind (Kontrollbalken unten rechts). 



3.) Der StarMap-Bildschirm
    ----------------------
            +-------------------+----(Kartenparameter)-----+
            |   S t a r M a p   |                          |
            +-------------------+                          |
            | (Startpunktdaten) |                          |
            +-------------------+                          |
            | (Zielpunktdaten)  |                          |
            +-------------------+      (Sternenkarte)      |
            |                   |                          |
            |                   |                          |
            |                   |                          |
            |                   |                          |
            +-------------------+--------------------------+
            |   (Parameter)     |       (Koordinaten)      |
            +-------------------+--------------------------+

Der Arbeitsbildschirm von StarMap ist unterteilt in fnf Bereiche. Der
wichtigste ist die Sternenkarte. Hier wird das "Planets-Universum" mit Start-
und Zielpunkt dargestellt. Weiterhin knnen, je nach Einstellung der
Parameter, noch die direkten Sprungverbindungen von Start- und/oder
Zielpunkt, ein Hilfskreis und der sichtbare Bereich des PLANETS-Programms
angezeigt werden. 

Darber befinden sich die Kartenparameter. Links wird angezeigt, in welcher
Auflsung (in Lichtjahre pro Bildschirmpixel) man arbeitet, die kleinste
Auflsung ist analog zu VGA-Planets 1 Lj/Pixel. Die grte Auflsung ist
abhngig vom "Planets-Universum". Im Normalfall (Orginale XYPLAN.DAT) sind
dies 5 Lj/Pixel.  
Rechts davon sieht man die Eckpunkte des aktuell sichtbaren Sternenkarten-
ausschnitts. Das erste Koordinatenpaar beschreibt die linke untere Ecke und
das Zweite die rechte obere Ecke.  

In den Feldern Start- und Zielpunktdaten stehen die aktuellen Parameter zu
Start und Zielpunkt. Befindet sich der Punkt auf einem Planeten, so wird
dessen Name und seine Koordinaten angegeben. Im Zielpunktdatenfeld wird auch
noch die Entfernung vom Start- zum Zielpunkt angezeigt. 

Das vierte Feld ist das Parameterfeld. Hier werden die aktuellen Zustnde der
entscheidenden Paramter angezeigt. Dabei bedeutet:

- G: Zustand des Koordinatengitters,
- H: Zustand der Hypersprunganzeige fr den Startpunkt,
- V: Zustand der Anzeige des VGA-Planets-Sichtbereichs,
- S: Schrittweite beim Verschieben des Zielpunktes und beim ndern des 
     Radius vom Hilfskreis,
- K: der Radius des Hilfskreises.

Im Koordinatenfeld werden die Sprungparameter fr Einfach- oder Doppelsprnge
angezeigt. Sollte auch der Sichtbereich von VGA-Planets eingeschaltet sein,
so wird hier der aktuelle Setzpunkt angegeben, den man noch mit VGA-Planets
verwenden kann.  



4.) Zielpunktsteuerung und Optionen
    -------------------------------

Da heute fast jeder Computer einen numerischen Tastenblock besitzt, habe ich
die Steuerung auf eben diesen gelegt.  

                          +---+---+---+---+
                          |   | / | * | - |
                          +---+---+---+---+
                          | 7 | 8 | 9 |   |
                          +---+---+---+ + |
                          | 4 | 5 | 6 |   |
                          +---+---+---+---+
                          | 1 | 2 | 3 |   |
                          +---+---+---+ C |
                          | 0     | , | R |
                          +-------+---+---+

Dabei drfte klar sein, da die Tasten [1], [2], [3], [4], [6], [7], [8] und
[9], den Zielpunkt um eine bestimmte Schrittweite in die jeweilige Richtung
bewegen. Die Schrittweite wird mit der Taste [S] festgelegt und variiert
zwischen 1 und 90 Lichtjahre.

Den restlichen Tasten auf dem Tastenblock sind auch mit Funktionen belegt,
die ein stndiges Wechseln zum alphanumerischen Block verhindern sollen. 

Da wre zuerst die [Enter]-Taste mit ihr besteht die Mglichkeit, den
Zielpunkt auf den nchstgelegenen Planeten zu verschieben. Es ist also nicht
ntig, den Zielpunkt genau zu positionieren. Bewegen Sie ihn in die Nhe und
mit [Enter] befindet sich der Zielpunkt auf dem gewnscheten Planeten. Die
gleiche Funktion erhlt man auch durch Drcken der Taste [ ] (Leertaste). 

Mit [+] und [-] knnen Sie die aktuelle Auflsung der Sternenkarte verndern.
Normalerweise hat die Sternenkarte nach dem Start die kleinste Auflsung bzw.
den grten Mastab. Und zwar wird das gesamte "Spiel-Universum" angezeigt.
Im Normalfall entspricht dies dann einer Auflsung von 5 Lichtjahren pro
Bildschirmpixel. [+] vergrert und [-] verkleinert den Mastab mit dem die
Sternenkarte angezeigt wird. 

Haben Sie den Hilfskreis eingeschaltet (s.u. [K] und [R]), besteht die
Mglichkeit mit den Tasten [*] und [/] den Radius des Hilfskreises um die
aktuelle Schrittweite zu vergrern bzw. zu verkleinern.  

Die Taste [5] positioniert den Zielpunkt wieder auf den Startpunkt.

Mit der [0] hat man die Mglichkeit, den aktuellen Zielpunkt zum
Ausgangspunkt (Startpunkt) fr die nchsten Operationen zu machen, der alte
Startpunkt geht verloren. Ein Druck auf die Taste [A] hat die gleiche Wirkung. 

[,] dagegen wechselt Start- und Zielpunkt aus. Das ist z.B. Hilfreich, wenn
man einen Pendelverkehr zwischen zwei Planeten einrichten mchte. Diese
Funktion ist auch mit der Taste [W] durchfhrbar. 

Zusammengefat gilt fr die Tastenbelegung auf dem numerischen Tastenblock:
- [0] macht den Zielpunkt zum Startpunkt (s.u. [A]). 
- [1] verschiebt Zielpunkt nach links unten. 
- [2] verschiebt Zielpunkt nach unten.
- [3] verschiebt Zielpunkt nach rechts unten.
- [4] verschiebt Zielpunkt nach links.
- [5] verschiebt Zielpunkt auf den Start. 
- [6] verschiebt Zielpunkt nach rechts.
- [7] verschiebt Zielpunkt nach links oben. 
- [8] verschiebt Zielpunkt nach oben.
- [9] verschiebt Zielpunkt nach rechts oben.
- [,] vertauscht Startpunkt und Zielpunkt (s.u. [W]).
- [Enter] setzt den Zielpunkt auf den nchstgelegenen Planeten (s.u. [ ]).
- [-], [+] vergrert bzw. verkleinert den Mastab der Sternenkarte.
- [*], [/] vergrert bzw. verkleinert den Radius des Hilfskreises.


Alle weiteren Funktionen sind nur auf der alphanumerischen Tastatur
erreichbar. Als wichtigstes Hilfsinstrument sei auf die [F1]-Taste
verwiesen, die eine kurze Hilfestellung zum Programm anzeigt. 

Wie die [Enter]-Taste positioniert [ ] den Zielpunkt auf den Planeten mit der
geringsten Entfernung. 

[A] macht wie [0] den Zielpunkt zum Startpunkt.

Mit der Taste [D] wird ein Doppelsprung berechnet. Dazu ist es notwendig, da
der Startpunkt vom Zielpunkt mindestens 1 Lichtjahr entfernt ist und der
Abstand zwischen beiden nicht grer ist als die maximale Entfernung, die man
mit zwei Sprngen zurcklegen kann. (Dies ist bei VGA-Planets eine Entfernung
von 716 Lichtjahre.) Im Koordinatenfenster werden dann die Parameter des
ersten und des zweiten Sprunges angegeben. 
Nehmen wir an Sie fliegen von Planet A nach B. Die Planeten haben einen
Abstand von 670 Lichtjahre. Nun liegt ein Planet C so gnstig, da er von A
und von B direkt angesprungen werden kann. StarMap gibt Ihnen dann diese
Route an. Sollten Sie mit der Route nicht zufrieden sein, weil der Zwischen-
punkt vielleicht in einem fremden Minenfeld liegt. Dann sollten Sie mal
Start- und Zielpunkt mit [W] oder [,] vertauschen und nachprfen, ob der neue
Zwischenpunkt besser ist. Sie haben dann die Mglichkeit durch direktes
Anwhlen von Start- und Zielpunkt mit [P] bzw. [Z] die Sprnge einzeln zu
berechnen.  

[G] schaltet ein Koordniatengitter wechselweise ein und aus. Dieses
Koordinatengitter soll bei der Orientierung helfen, hat aber sonst keinerlei
Auswirkungen. 

Die direkten Hypersprungverbindungen werden mit [H] wechselweise ein oder
ausgeschaltet. Ist die Funktion in Betrieb, so werden im Koordinatenfenster
die notwendigen Sprungkoordinaten angegeben. Dabei unterscheidet StarMap noch
zwischen Normal- und Direktsprung. Der Unterschied zwischen den beiden
Sprngen ist, da bei einem Normalsprung das Schiff nicht direkt auf dem
Zielsprung landet. Es kann noch mehrere Zge dauern, bis man den Zielpunkt
erreicht.

Eine weitere Funktion ist der Hilfskreis. Er wird mit [K] ein- bzw.
ausgeschaltet oder [R] eingeschaltet. Der Radius kann mit [R] eingegeben
werden, dazu erscheint im Parameterfenster ein Eingabefeld. Sie haben die
Mglichkeit die Eingabe mit [ESC] abzubrechen. Der Radius ist begrenzt von
einem Lichtjahr bis dreitausend Lichtjahre. Schalten Sie den Hilfskreis mit
[K] ein, so wird automatisch ein Radius von 350 Lichtjahren gewhlt. Mit [*]
und [/] knnen Sie den Radius um die eingestellte Schrittweite vergrern
bzw. verkleinern. 

Die Funktion, die mit [L] angewhlt werden kann ist der Funktion unter [H]
hnlich, mit zwei Unterschieden:
1.) Die Direktsprungverbindungen werden vom Zielpunkt aus errechnet.
2.) Die Verbindungen werden nur bis zur nchsten Aktion angezeigt, d.h. wenn
    Sie z.B. den Zielpunkt versetzten, mssen Sie erneut [L] drcken, um die
    Direktverbindungen angezeigt zu bekommen.  

Eine Funktion, die nur zum Stauen da ist, wird mit der Taste [M] aktiviert.
Es werden alle Verbindungen angezeigt, die man vom Startpunkt aus mit
Hypersprngen direkt erreichen kann, ohne in den offenen Weltraum springen
zu mssen. Es ist teilweise Interessant zu sehen, wie komplex die Planeten
miteinander verbunden sein knnen. Leider ist das Sprungnetz auch ziemlich
unberschaulich und somit kaum reell nutzbar.  

Mit [P] und [Z] haben Sie die Mglichkeit Start- bzw. Zielpunkt direkt
einzugeben. Dazu gibt es drei Mglichkeiten: 
1.) die Eingabe einer Planetennummer,
2.) die Eingabe eines Planetennamens und 
3.) die Eingabe eines Koordinatenpaares.
Die Eingabeform ist sehr umfangreich und damit etwas gewhnungsbedrftig. Als
erstes werden Sie nach einer Planetennummer (ID=Indentifikationsnummer)
gefragt. Wollen Sie keine Eingeben, so drcken Sie einfach [Enter].
Danach erscheint das Eingabefeld fr den Planetennamen. Wenn Sie hier einen
Buchstaben eingeben, wird in der Namensliste PLANET.NM nach dem ersten Namen
gesucht, auf dem dieser Anfangsbuchstabe zutrifft. Mit der [Tab]-Taste haben
Sie die Mglichkeit, auf den nchsten Namen der die Suchbedingung erfllt
zuzugreifen. Mchten Sie die Suche etwas einengen, so geben Sie einfach einen
zweiten und/oder einen dritten Buchstaben ein. Nun werden nur noch die Namen
ausgegeben, die mit dieser Buchstabenkombination anfangen. Ist die Suche
erfolglos, so wird Ihnen das Eingabefeld mit Ihrer Eingabe angezeigt. Habe
Sie sich vertippt, so knnen Sie mit [Backspace] Ihre Eingabe rckgngig
machen. Das gilt brigens fr alle Eingabefelder. Mchten Sie direkt die
Koordinaten eingeben, so drcken Sie im Planetennamen-Eingabefeld [Enter]
ohne etwas einzugeben.  
Nun habe Sie die Mglichkeit ein Koordinatenpaar einzugeben. Als erstes die
X-Koordinate und dann die Y-Koordinate. Liegt die Koordinate auerhalb des
Spielbereichs, so wird automatisch der Rand der Sternenkarte genommen.
Drcken Sie auch hier [Enter] ohne etwas einzugeben, so beenden Sie die
Eingabe ohne eine nderung des Start- oder Zielpunktes. Das gleiche knnen
Sie auch mit [Esc] in jeder Eingabesituation erreichen. 
Allgemein gilt fr die Eingabefelder:
- Sie knnen mit [Esc] jederzeit abbrechen.
- Ein [Enter] ohne Eingabe bricht entweder ab oder fhrt zur nchsten
  Eingabemglichkeit.  
- Mit [Backspace] knnen die letzten Eingaben rckgngig gemacht werden.
- Alle Eingabefelder werden automatisch beendet, wenn Sie am Ende angelangt
  sind. 
- Bei Eingabe des Planetennamens knnen Sie mit [Tab] auf den nchsten
  gefundenen Namen weiterschalten.
- Wurde kein Name gefunden und die Namenseingabe mit [Enter] abgebrochen,
  werden Sie nach den Koordinaten gefragt. 

In vielen Abschitten vorher, wurde von Schrittweite gesprochen. Mit der Taste
[S] knnen Sie sie einstellen. Da StarMap keine Mausuntersttzung hat und das
Verschieben des Zielpunktes auf langsamen Rechner etwas langwierig werden
kann. Knnen Sie durch ndern der Schrittweite schneller durch die
Sternenkarte navigieren. Die Schrittweite wechselt von 1 auf 10 und dann in
Zehnerschritten bis 90 und dann wieder auf 1.

Mit [T] rufen Sie eine Funktion auf, die eigentlich nur fr Leute interessant
ist, die sich mit TeX oder LaTeX auskennen. StarMap erzeugt hier von der
aktuellen Sternenkarte (mit oder ohne Koordinatengitter) eine LaTeX-Datei,
die Sie dann mit einem TeX-Compiler bersetzten und dann ausdrucken knnen.
Es wird immer der aktuell sichtbare Bereich gewhlt. Die Ausgabedatei heit
STARMAP.TEX. 

Da StarMap einen z.T. erheblich greren Kartenausschnitt zeigen kann als
VGA-Planets kann man mit [V] den Sichtbereich von PLANETS.EXE in die
StarMap-Karte einblenden. Im Koordinatenfenster erscheint noch der Setzpunkt.
Das ist die Koordinate, die man in VGA-Planets gerade noch ansteuern kann. 

Die Belegung der Taste [W] ist identisch mit der Taste [,]. Sie wechselt
Start- und Zielpunkt aus. 

Durch drcken der Tasten [X] oder [Esc] beenden Sie das Programm ohne
Rckfrage.  

Alles in allem stehen folgende Tasten fr Zusatzfunktionen zur Verfgung:
- [F1]  zeigt diese Hilfe an.
- [ ] verschiebt den Zielpunkt zum nchstgelegenen Planeten (s.a. [CR])
- [A] versetzt den Startpunkt auf den Zielpunkt (s.a. [0]).
- [D] berechnet einen doppelsprung vom Start- zum Zielpunkt.
- [G] schaltet das Koordinatengitter ein bzw. aus.
- [H] schaltet die Hypersprunganzeige ein oder aus.
- [K] schaltet den Hilfskreis ein oder aus.
- [L] berechnet die Direktsprnge vom Zielpunkt aus.
- [M] baut ein Direktsprungnetz vom Startpunkt aus auf.
- [P] eingeben von PlanetenID, -name oder Koordinaten fr den Startpunkt.
- [R] schaltet den Hilfskreis ein und erlaubt die Eingabe des Radius.
- [S] stellt die Schrittweite 1, 10, 20, 30, 40 oder 50 Lj ein.
- [T] macht aus der aktuellen Sternenkarte ein LaTeX-Picture-Dokument
- [V] schaltet die Berechnung fr VGA-Planets konforme Setzkoordinaten ein.
- [W] tauscht den Start- mit dem Zielpunkt aus (s.a [,])
- [X] oder [ESC] beendet das Programm.
- [Z] eingeben von PlanetenID, -name oder Koordinaten fr den Zielpunkt
  


5.) Abschluss
    --------- 
Ein Programm ist nie fertig, heit es. Dem kann ich nur zustimmen. Ich habe
schon weitere Ideen, was man an StarMap ergnzen und verbessern knnte, aber
vielleicht gibt es jemanden, der auch noch so einiges vermit. Dann wre es
schn, wenn Sie Ihre Ideen als E-Mail bzw. NetMail zu mir schicken wrden. 
Und zwar an:

FidoNet: Rene Glasmacher (2:2433/1401.3 bzw. 2:2440/401.3 [Classic])
UseNet : glasmach@hp817s.rz.uni-duesseldorf.de



6.) Verlautbarung
    -------------
StarMap ist FreeWare, d.h. Sie knnen es ohne Gebhr nutzen und es an andere
KOSTENLOS (!!!!) weitergeben. Ich sehe es nicht ein, da sich PD-Verlage oder
auch komerzielle BBS an meiner Arbeit bereichern. Jede Art von Debuggen o..
ist untersagt. Das Copyright liegt beim Autoren.

Nun noch der notwendige Schluspruch:
DIE BENUTZUNG VON StarMap GESCHIEHT AUF EIGENEM RISIKO. DER AUTOR BERNIMMT
KEINERLEI HAFTUNG FR DIE ORDNUNGSGEMSSE FUNKTION DES PROGRAMMS IN
IRGENDEINER WEISE, DESWEITEREN BERNEHME ICH KEINE GARANTIE AUF
FEHLERFREIHEIT. FR DATENVERLUST ODER BESCHDIGUNGEN DIE DURCH StarMap
VERURSACHT WERDEN KNNTEN IST DER BENUTZER SELBST VERANTWORTLICH.  

VGA-Planets, PLANETS.EXE, XYPLAN.DAT und PLANET.NM sind Dateien und Namen,
des VGA-Planets-Programmpaketes von Tim Wisseman.

