@DATABASE "athrust.guide" @NODE "main" "aThrust-Dokumentation" @TOC "MAIN" aThrust v2.09, Copyright © 1994,1995 by Carsten Gerlach @{" Überblick " LINK "Überblick"} @{" Disclaimer " LINK "Disclaimer"} @{" Systemanforderungen " LINK "Systemanforderungen"} @{" Installation " LINK "Installation"} @{" Das Hauptfenster " LINK "Hauptfenster"} @{" Konfiguration " LINK "Preferences"} @{" Das Spiel " LINK "Spiel_Allgemeines"} @{" Spielen über Modem " LINK "Modem_Allgemeines"} @{" Sonstiges " LINK "Sonstiges"} @{" Author & Credits " LINK "Author & Credits"} Sorry, no english documentation (yet). See the file "ReadMe.txt" for some hints. @ENDNODE @NODE "Überblick" "Überblick" @TOC "MAIN" aThrust (= Amiga-Thrust) ist ein Zwei-Spieler-Schwerkraft Shoot 'em up - wie Gravity Force (TM), X-Pilot und wie sie alle heißen ... aThrust bietet aber einige Features, die andere Thrust-Spiele nicht haben: . 100% systemkonform. aThrust benutzt das Betriebssystem, läuft auf einem Intuition-Screen und im Multitasking. Mein A3000/25 ist bei laufendem aThrust zu ca. 25% ausgelastet. Man könnte also während des Spiels noch einige JPGs konvertieren ;-) . Echtzeit-2-Spieler-Modus über die serielle Schnittstelle. Ab 2400 bps sind sie dabei ;-) . Zwei Spieler können an einem Keyboard spielen . Fontsensitives GUI-Frontend (*ohne* MUI :-) . Jede Menge Extrawaffen . Eigene Screens können erstellt und eingebunden werden . Maximale Screengröße ist 1024x1024, 32 Farben . Splitscreen/Fullscreen - Modus . Soundeffekte . Amigaguide - Dokumentation aThrust ist Giftware. Schickt mir ein Geschenk, wenn ihr es mögt. @ENDNODE @NODE "Systemanforderungen" "Systemanforderungen" @TOC "MAIN" . aThrust benötigt mindestens Kickstart 3.0 (V39) und einen 68020-Prozessor (oder besser). . Die reqtools.library v38 wird benötigt. . aThrust-Screens können relativ viel Chip-Memory verbrauchen. Ein normaler aThrust-Screen braucht ungefähr 160 KByte Chip-Memory, extrem große Screen (1024x1024) können bis zu 512 KByte benötigen. Normalerweise sollte das aber kein Problem sein (wer einen 68020 hat, hat auch 2 MB Chip-Memory - oder ?). aThrust wurde auf einem A3000/25 mit V40 und einem A1200 mit V39 erfolgreich getestet und läuft Enforcer-Hit-frei. @ENDNODE @NODE "Installation" "Installation" @TOC "MAIN" Kopieren sie einfach die Datei 'aThrust' in ein Verzeichnis, das ihnen gefällt. Das Unterverzeichnis 'screens' sollte sich im gleichen Verzeichnis wie das Programm befinden. Andernfalls müssen sie den @{"Screen-Path" LINK "Preferences_Screen path"} im @{"Konfigurationswindow" LINK "Preferences"} ändern. Das Programm wird durch Aufruf von 'aThrust' aus dem CLI oder von der Workbench gestartet. Wenn aThrust ohne weitere Fehlermeldung einfach nicht startet, haben sie entweder keine Kickstart-Version >=3.0 (V39.x) oder keine reqtools.library mit einer Version >=V38. @ENDNODE @NODE "Hauptfenster" "Hauptfenster" @TOC "MAIN" Nach dem Start von aThrust erscheint ein Window, in dem aThrust konfiguriert und das Spiel gestartet werden kann. Sie können alle Gadgets entweder mit der Maus oder mit der Tastatur bedienen. In ihrem Amiga-Handbuch können sie im Zweifelsfall nachlesen, wie man Gadgets bedient :-) Zu den normalen Shortcuts können sie mit das Spiel starten (wie mit dem @{"Play-Gadget" LINK "Hauptfenster_Play"}) und mit ESC das Programm verlassen (wie mit dem Closewindow- Gadget). @{" Screen " LINK "Hauptfenster_Screen"} @{"Get" LINK "Hauptfenster_Get"} @{" Extras" LINK "Hauptfenster_Extras"} @{" I am" LINK "Hauptfenster_I am"} @{" Sound" LINK "Hauptfenster_Sound"} @{" Modemlink" LINK "Hauptfenster_Modemlink"} @{"Splitscreen" LINK "Hauptfenster_Splitscreen"} @{" Screen info" LINK "Hauptfenster_Screen Info"} @{"Preferences" LINK "Preferences"} @{"Chat" LINK "Hauptfenster_Chat"} @{"Play" LINK "Hauptfenster_Play"} @ENDNODE @NODE "Hauptfenster_Screen" "Hauptfenster/Screen" @TOC "Hauptfenster" In diesem Stringgadget können sie die Screen eingeben, mit dem sie spielen wollen. Bitte geben sie den vollen Pfadnamen an. Mit dem @{"Get-Gadget" LINK "Hauptfenster_Get"} können sie einen Screen über einen Filerequester auswählen. aThrust-Screendateien haben üblicherweise das Suffix ".raw". @ENDNODE @NODE "Hauptfenster_Get" "Hauptfenster/Get" @TOC "Hauptfenster" Wählen sie dieses Gadget an, erscheint ein ReqTools-Filerequester, in dem sie einen Screen auswählen können. Der ausgewählte Screen wird dann in das @{"Screen-Gadget" LINK "Hauptfenster_Screen"} übertragen. @ENDNODE @NODE "Hauptfenster_Extras" "Hauptfenster/Extras" @TOC "Hauptfenster" Hier können sie wählen, ob sie aThrust mit oder ohne @{"Extras" LINK "Spiel_Extras"} spielen wollen. @{"Extras" LINK "Spiel_Extras"} können z.Z. noch nicht über @{"Modem" LINK "Modem_Allgemeines"} gespielt werden. Deswegen ist dieses Gadget ausgeschaltet, wenn sie das @{"Modemlink-Gadget" LINK "Hauptfenster_Modemlink"} angewählt haben. @ENDNODE @NODE "Hauptfenster_Sound" "Hauptfenster/Sound" @TOC "Hauptfenster" Hier können sie die Soundeffekte ein- und ausschalten. aThrust öffnet das audio.device nur bei angewähltem Gadget und schließt es, wenn das Gadget nicht angewählt ist. Dann werden die Audiokanäle freigegeben, und sie können z.B. Soundtracker-Module mit einem Moduleplayer hören während sie spielen. aThrust alloziiert Audiokanäle immer mit der Priorität +127. @ENDNODE @NODE "Hauptfenster_Modemlink" "Hauptfenster/Modemlink" @TOC "Hauptfenster" Schalten sie dieses Gadget ein, können sie aThrust über @{"Modem" LINK "Modem_Allgemeines"} spielen. Das serial.device wird geöffnet, wenn das Gadget angewählt ist und geschlossen, wenn es nicht angewählt ist. @ENDNODE @NODE "Hauptfenster_I am" "Hauptfenster/I am" @TOC "Hauptfenster" Hier können sie auswählen, welcher Spieler sie sein wollen, wenn sie über @{"Modem" LINK "Modem_Allgemeines"} spielen. Da dieses Einstellung nur wichtig ist, wenn sie über @{"Modem" LINK "Modem_Allgemeines"} spielen, ist das Gadget ausgeschaltet, wenn sie das @{"Modemlink-Gadget" LINK "Hauptfenster_Modemlink"} nicht angewählt haben. Einigen sie sich vor dem Spiel mit ihrem Partner, wer welche Farbe haben will, da sonst kein @{"Connect" LINK "Modem_Connect"} zustandekommt. @ENDNODE @NODE "Hauptfenster_Splitscreen" "Hauptfenster/Splitscreen" @TOC "Hauptfenster" Wenn sie über @{"Modem" LINK "Modem_Allgemeines"} spielen, können sie entweder mit Splitscreen spielen, d.h. sie sehen immer, wo sich ihr Gegner befindet, oder ohne. Dann spielen sie auf einem großen Screen und sehen ihren Gegner nur wenn er in ihrer Nähe ist (was viel spannender ist ;-) Da sie ohne @{"Modem" LINK "Modem_Allgemeines"} immer nur mit Splitscreen spielen können, ist dieses Gadget ausgeschaltet, wenn sie das @{"Modemlink-Gadget" LINK "Hauptfenster_Modemlink"} nicht angewählt haben. Wenn beide Spieler hier einen anderen Modus eingestellt haben, kommt kein @{"Connect" LINK "Modem_Connect"} zustande. @ENDNODE @NODE "Hauptfenster_Screen Info" "Hauptfenster/Screen info" @TOC "Hauptfenster" Hier werden Informationen über den aktuellen Screen ausgegeben. Befindet sich kein Screen im Speicher, versucht aThrust den eingestellten Screen zu laden. @ENDNODE @NODE "Hauptfenster_Chat" "Hauptfenster/Chat" @TOC "Hauptfenster" aThrust bietet einen einfachen, eingebauten Online-Chat, damit sie sich mit ihrem Partner verständigen können, wenn sie über @{"Modem" LINK "Modem_Allgemeines"} spielen. Daher können sie den Chat nicht aktivieren, wenn sie das @{"Modemlink-Gadget" LINK "Hauptfenster_Modemlink"} nicht angewählt haben. Wenn sie den Chat aktiviert haben, erscheinen zwei Fenster, das eine mit dem Titel "aThrust-Chat Remote", das andere mit dem Titel "aThrust-Chat Host". Im Host-Window können sie Eingaben tätigen. Alle ihre Eingaben erscheinen im Host-Window und werden an die serielle Schnittstelle geschickt. Alles was von der seriellen Schnittstelle kommt, erscheint im Remote-Window. Im Remote-Window können natürlich keine Eingaben getätigt werden. Der Chat wird durch Schließen des Host-Windows verlassen. Verläßt ihr Partner den Chat, erscheint in ihrem Remote-Window eine Meldung "*** remote chat closed". Öffnet ihr Partner in den Chat erscheint in ihrem Remote-Window die Meldung "*** remote chat opened". Im Chat können sie natürlich auch Kommandos an das Modem senden. Z.b. zum Anwählen von Nummern "+++ATDT". @ENDNODE @NODE "Hauptfenster_Play" "Hauptfenster/Play" @TOC "Hauptfenster" Mit diesem Gadget können sie das @{"Spiel starten" LINK "Spiel_Allgemeines"}. Haben sie den @{"Modemlink" LINK "Hauptfenster_Modemlink"} aktiviert, wird jetzt versucht, einen @{"Connect" LINK "Modem_Connect"} herzustellen. @ENDNODE @NODE "Preferences" "Preferences" @TOC "MAIN" Im Preferences-Fenster können sie aThrust konfigurieren. Beim Start versucht aThrust ein Konfigurationsfile namens 'thrust.prefs' erst aus ENV: zu lesen, dann aus dem Verzeichnis, in dem sich das Programm selbst befindet ("PROGDIR:"). Wird kein Konfigurationsfile gefunden, verwendt aThrust interne Default-Einstellungen. Im Konfigurationsfile werden auch die Einstellungen gespeichert, die nur im Hauptfenster vorgenommen werden können. aThrust merkt sich von jedem Fenster die Positionen, die es zuletzt hatte. Diese werden ebenfalls abgespeichert (siehe auch @{"Save" LINK "Preferences_Save"}). @{" Screen path " LINK "Preferences_Screen path"} @{" Get" LINK "Preferences_Get"} @{" Max. Shoot " LINK "Preferences_Max. Shoot"} @{" Task-Priority " LINK "Preferences_Task priority"} @{" Mines at start " LINK "Preferences_Mines at start"} @{"Display mode" LINK "Preferences_DispMode"} @{"Serial" LINK "Preferences_Serial"} @{"Keyboard" LINK "Preferences_Keys"} @{"Use" LINK "Preferences_Use"} @{"Save" LINK "Preferences_Save"} @{"Cancel" LINK "Preferences_Cancel"} @ENDNODE @NODE "Preferences_Screen path" "Preferences/Screen path" @TOC "Preferences" In diesem Gadget können sie den Pfad eingeben, in dem sich ihre aThrust- Screens befinden. Dieser Pfad wird beim Start von aThrust in das @{"Screen-Gadget" LINK "Hauptfenster_Screen"} kopiert, ansonsten hat er keine Bedeutung. Default ist 'PROGDIR:screens'. @ENDNODE @NODE "Preferences_Get" "Preferences/Get" @TOC "Preferences" Wählen sie dieses Gadget an, erscheint ein ReqTools-Filerequester, in dem sie den entsprechenden Pfad auswählen können. @ENDNODE @NODE "Preferences_Max. Shoot" "Preferences/Max. Shoot" @TOC "Preferences" Hier können sie einstellen, wieviele Schüsse sich maximal gleichzeitig auf dem Bildschirm befinden können. Ist der Wert zu hoch, kann auf langsamen Rechnern der obere Bildschirm zu ruckeln anfangen. Default ist 80, unter normalen Bedingungen reichen aber 40 Schüsse vollkommen aus. @ENDNODE @NODE "Preferences_Task priority" "Preferences/Task priority" @TOC "Preferences" aThrust setzt während des Spiels seine Priorität auf den hier eingestellten Wert. Default ist 1. @ENDNODE @NODE "Preferences_Mines at start" "Preferences/Mines at start" @TOC "Preferences" Wenn sie mit @{"Extras" LINK "Spiel_Extras"} spielen, können sie hier die Anzahl der @{"Minen" LINK "Spiel_Extras"} einstellen, die jeder Spieler zu Anfang bekommt. @ENDNODE @NODE "Preferences_Use" "Preferences/Use" @TOC "Preferences" Damit verlassen sie das Preferences-Window und benutzen die eingestellten Werte, auch evtl. veränderte Einstellungen für die @{"serielle Schnittstelle" LINK "Preferences_Serial"} und die @{"Tastatur" LINK "Preferences_Keys"}. @ENDNODE @NODE "Preferences_Save" "Preferences/Save" @TOC "Preferences" Wenn sie dieses Gadget anwählen, erscheint ein ReqTools-Requester, in dem sie den Pfad auswählen können, in dem die Preferences gespeichert werden sollen. Default-Pfad ist 'PROGDIR:', eine andere sinnvolle Möglichkeit wäre 'ENVARC:'. Haben sie einen Pfad gewählt, werden die eingestellten Werte in der Datei 'thrust.prefs' gespeichert. Wenn sie den Filerequest abgebrochen haben, werden die Preferences nicht gespeichert. Die eingestellen Werden werden @{"benutzt" LINK "Preferences_Use"} (auch wenn sie den Filerequest abgebrochen haben). Auch die im @{"Hauptfenster" LINK "Hauptfenster"} gemachten Einstellungen (@{"Extras" LINK "Hauptfenster_Extras"}, @{"Sound" LINK "Hauptfenster_Sound"}, @{"I am" LINK "Hauptfenster_I am"}, @{"Splitscreen" LINK "Hauptfenster_Splitscreen"}) werden gespeichert. Zusätzlich werden die letzen Positionen aller Windows gespeichert. @ENDNODE @NODE "Preferences_Cancel" "Preferences/Cancel" @TOC "Preferences" Damit verlassen sie das Preferences-Window ohne die aktuellen Einstellungen zu benutzen. Veränderte Einstellungen für @{"Tastatur" LINK "Preferences_Keys"} und @{"serielle Schnittstelle" LINK "Preferences_Serial"} werden nicht benutzt. @ENDNODE @NODE "Preferences_Serial" "Preferences/Serial" @TOC "Preferences" In diesem Window können sie die Parameter für die serielle Schnittstelle einstellen. . Device name Das Device mit dem sie die serielle Schnittstelle ansprechen. Default ist "serial.device". . Device unit Die Device-Unit mit der sie die serielle Schnittstelle ansprechen. Default ist "0". . RTS/CTS-Handshake Mit diesem Schalter können sie das Hardware-Handshake (RTS/CTS) deaktivieren, falls es ihr Modem nicht unterstützt. Default ist an. . Baudrate Hier können sie die zur Übertragung benutze Baudrate einstellen. @ENDNODE @NODE "Preferences_Keys" "Preferences/Keyboard" @TOC "Preferences" In diesem Window können die Tasten für die @{"Tastatursteuerung" LINK "Spiel_Taste"} im Spiel umdefiniert und angezeigt werden. +----------------+ | Player | |----------------| | Left | | Right | | Thrust | | Fire | | Mine | |----------------| | Define | +----------------+ Das Player-Gadget ----------------- Mit diesem Gadget können sie auswählen, für welchen Spieler die Tasten angezeigt bzw. umdefiniert werden sollen. Zur Auswahl stehen: . Player 1 (blau) . Player 2 (grün) . Single player (Einzelspieler beim @{"Modemlink" LINK "Hauptfenster_Modemlink"}) Die Tastenanzeige ----------------- Hier werden die Tasten für die entsprechenden Aktionen angezeigt. Nähere Informationen dazu stehen unter @{"Spiel/Tasten" LINK "Spiel_Taste"}. Die Anzeige ist z.Z. noch etwas unausgereift, da sie sich nur auf die deutsche Tastatur bezieht ("öäü" etc. werden ausgegeben, auch wenn die entsprechende Taste ein anderes Zeichen liefert). Tasten auf dem Zehnerblock werden nicht gesondert gekennzeichnet. Das Define-Gadget ----------------- Mit diesem Gadget starten sie die Tastendefinition für den ausgewählten Spieler. In der Tastenanzeige erscheinen der Reihe nach Aufforderungen, eine Taste für die entsprechende Aktion zu drücken. Auch wenn aThrust eine andere Bezeichnung oder 'unknown' ausgibt, als auf der von ihnen gedrückten Taste steht, "merkt" sich aThrust immer die richtige Taste. Die ESC-Taste darf nicht verwendet werden. Während einer laufenden Tastendefinition kann das Window nicht geschlossen werden. @ENDNODE @NODE "Preferences_DispMode" "Preferences/Display mode" @TOC "Preferences" Hier können sie den Screenmode des Spiel-Screens einstellen. Sie bekommen je nach Einstellung einen "PAL:Low Res" oder einen "NTSC:Low Res" - Screen. Beim PAL-Screen ist die maximale Screenhöhe 120 Zeilen im @{"Splitscreen" LINK "Hauptfenster_Splitscreen"}-Modus, 240 ohne Splitscreen. Beim NTSC-Screen ist die maximale Screenhöhe 92 Zeilen im Splitscreen-Modus, 184 ohne Splitscreen. Sorry, kein Screenmoderequester. Ich sehe keinen Sinn darin, aThrust auf einem 640x512-Screen (oder größer :-) zu spielen. Der Reiz liegt doch gerade darin, daß man nicht sieht, was auf einen zukommt. Vielleicht hat ja ein Grafikkartenbesitzer ein paar überzeugende Argumente parat ;-) @ENDNODE @NODE "Spiel_Allgemeines" "Spiel/Allgemeines" @TOC "MAIN" Nach Anwahl des @{"Play-Gadgets" LINK "Hauptfenster_Play"} versucht aThrust bei aktiviertem @{"Modemlink" LINK "Hauptfenster_Modemlink"} einen @{"Connect" LINK "Modem_Connect"} herzustellen. Wurde ein erfolgreicher @{"Connect" LINK "Modem_Connect"} gemacht oder ohne Modem gespielt, wird der eigentliche Spiel-Bildschirm geöffnet. aThrust wartet jetzt darauf, daß beide Spieler ihre @{"Feuer-Tasten" LINK "Spiel_Taste"} drücken. Eine entsprechende Meldung steht in der @{"Statuszeile" LINK "Spiel_Statuszeile"}. Haben beide Spieler Feuer gedrückt, beginnt das Spiel. Sie können dieses Warten mit der ESC-Taste abbrechen. Während des Spiels wird das input.device blockiert (aThrust installiert einen Inputhandler mit höchster Priotität und gibt nichts an das System weiter). Auf diese Weise können sie nicht versehentlich den Screen umschalten. Wenn sie das @{"Spiel unterbrechen" LINK "Spiel_Unterbrechung"}, wird das input.device selbstverständlich freigegeben. -> @{"Spiel/Tasten" LINK "Spiel_Taste"} @ENDNODE @NODE "Spiel_Taste" "Spiel/Tasten" @TOC "MAIN" aThrust wird z.Z. komplett über die Tastatur bedient. Eine Joystickunter- stützung ist in Planung. Im normalen 2-Spieler-Modus (ohne @{"Modemlink" LINK "Hauptfenster_Modemlink"}) sind die Tasten per Default (sofern sie nicht @{"umdefiniert" LINK "Preferences_Keys"} wurden) wie folgt belegt: blauer Spieler: . ALT links - links drehen . AMIGA links - rechts drehen . x - Schub geben . c - Feuer . v - Mine setzen grüner Spieler: . AMIGA rechts - links drehen . ALT rechts - rechts drehen . 0 (Zehnerblock) - Schub geben . 2 (Zehnerblock) - Feuer . 3 (Zehnerblock) - Mine setzen Bei aktiviertem @{"Modemlink" LINK "Hauptfenster_Modemlink"} gilt per Default folgende Belegung: . ALT links - links drehen . AMIGA links - rechts drehen . SHIFT rechts - Schub geben . RETURN - Feuer . SPACE - Mine setzen Mit der ESC-Taste kann das Spiel jederzeit @{"unterbrochen" LINK "Spiel_Unterbrechung"} werden. -> @{"Spiel/Unterbrechung" LINK "Spiel_Unterbrechung"} @ENDNODE @NODE "Spiel_Unterbrechung" "Spiel/Unterbrechung" @TOC "MAIN" Mit der @{"ESC-Taste" LINK "Spiel_Taste"} können sie das Spiel unterbrechen. Der Screen wird dann umgeschaltet und es erscheint ein kleines Window mit folgenden Gadgets: +----------+ | Continue | Spiel fortsetzen | Chat | @{"Chat" LINK "Hauptfenster_Chat"} (nur wenn @{"Modemlink" LINK "Hauptfenster_Modemlink"} aktiviert) | Abort | Spiel abbrechen +----------+ Wird das Spiel unterbrochen, wird die @{"Taskpriorität" LINK "Preferences_Task priority"} wieder auf Null gesetzt und das @{"Hauptfenster" LINK "Hauptfenster"} aktiviert. -> @{"Spiel/Statuszeile" LINK "Spiel_Statuszeile"} @ENDNODE @NODE "Spiel_Statuszeile" "Spiel/Statuszeile" @TOC "MAIN" In der Statuszeile werden unheimlich wichtige Informationen angezeigt ;-) Player 1: 9 25 3 ^ ^ ^ | | Anzahl Minen (nur wenn @{"Extras" LINK "Spiel_Extras"} aktiviert sind) | +-- verbleibende Extra-Zeit (nur wenn @{"Extras" LINK "Spiel_Extras"} aktiviert sind) +------ Anzahl Leben -> @{"Spiel/Extras" LINK "Spiel_Extras"} @ENDNODE @NODE "Spiel_Extras" "Spiel/Extras" @TOC "MAIN" Sind @{"Extras aktiviert" LINK "Hauptfenster_Extras"}, erscheint von Zeit zu Zeit ein rotes 'Extra', das nach einiger Zeit wieder verschwindet. Berühert ein Spieler das Extra, bekommt er eines von folgenden Attributen: . Back Shoot - einen zusätzlichen Schuß rückwärts. Langweilig. . Triple Shoot - Schrotflinte :-) . Bouncing Shoots - Schüsse werden an den Wänden reflektiert . Guided Shoots - Schüsse suchen und verfolgen den Gegner (kix butt !) . Gravity Shoots - 'schwere' Schüsse, auf die die Schwerkraft wirkt . Luftminen - vier zusätzliche Minen, evtl. aktive Attribute wirken weiter Jedes Attribut wirkt ca. 30 Sekunden. Die noch verbleibende Zeit wird in der @{"Statuszeile" LINK "Spiel_Statuszeile"} angezeigt. Man kann nur ein Attribut auf einmal besitzen, abgesehen von den Minen. Bekommt man zusätzliche Minen, wirkt ein eventuell aktives Attribut weiter. Luftminen werden bei entsprechendem @{"Tastendruck" LINK "Spiel_Taste"} direkt hinter dem Spieler abgesetzt. Sie explodieren nach ca. fünf Sekunden in alle Richtungen. Hat der Spieler beim Setzen einer Mine das Attribut 'bouncing shoots', werden auch die Schüsse der Mine reflektiert. Explodieren viele Minen direkt nacheinander, kann es vorkommen, daß nicht alle Schüsse dargestellt werden. Das liegt daran, daß das @{"Maxshoot-Limit" LINK "Preferences_Max. Shoot"} erreicht ist. @ENDNODE @NODE "Modem_Allgemeines" "Modem/Allgemeines" @TOC "MAIN" Eine der interessantesten Möglichkeiten von aThrust ist das Spiel über Modem. Das Spiel ist in Echtzeit sogar mit 2400 Baud spielbar. Für den @{"Modemlink-Modus" LINK "Hauptfenster_Modemlink"} gelten einige Besonderheiten. Einige Einstellungen im @{"Hauptfenster" LINK "Hauptfenster"} gelten speziell für diesen Modus. Außerdem ist es z.Z. leider noch nicht möglich, @{"Extras" LINK "Spiel_Extras"} über Modem zu benutzen. Das Übertragungsprotokoll ist extrem robust. Treten Übertragungsfehler, Pausen, Unterbrechungen, Fallbacks etc. auf, bleibt der entsprechende Spieler auf dem Bildschirm des anderen stehen und spielt danach wie gewohnt weiter. Wenn einer der beiden Spieler im Spiel mit @{"ESC" LINK "Spiel_Taste"} das Spiel @{"unterbricht" LINK "Spiel_Unterbrechung"}, wird automatisch eine entsprechende Steuersequenz übertragen, so daß beim anderen Spieler ebenfalls unterbrochen wird. Treten irgendwelche besonderen Unregelmäßigkeiten auf (z.B. wenn für eine längere Zeit keine Daten übertragen werden, die RXD-LED am Modem still ist), unterbrechen beide Spieler am Besten das Spiel und treffen sich im @{"Chat" LINK "Hauptfenster_Chat"}. -> @{"Modem/Connect" LINK "Modem_Connect"} @ENDNODE @NODE "Modem_Connect" "Modem/Connect" @TOC "MAIN" Vor dem @{"Start des Spiels" LINK "Hauptfenster_Play"} wird bei aktiviertem @{"Modemlink" LINK "Hauptfenster_Modemlink"} versucht, einen Connect zu bekommen. Dabei tauschen sich beide Seiten automatisch über Modem aus und vergleichen u.a. ihre Einstellungen. Beide Spieler sollten ungefähr gleichzeitig das Spiel mit @{"Play" LINK "Hauptfenster_Play"} starten. Während des Connect-Vorgangs erscheint ein kleines Fenster: +---------+ | Try #3 | Anzahl der Connect-Versuche | Abort | Klicken sie hier um den Connect abzubrechen +---------+ Nach neun erfolglosen Versuchen wird der Connect abgebrochen. Beim Connect können mehrere Fehler auftreten: . Timeout - nach neun Versuchen hat sich der Partner noch nicht gemeldet. Evtl. hat er nicht Connect angewählt. . He wants to be green/blue - ihr Partner wollte die gleiche Farbe wie sie haben. Sprechen sie sich im @{"Chat" LINK "Hauptfenster_Chat"} ab und ändern sie ggf. ihre @{"I am" LINK "Hauptfenster_I am"} - Einstellung. . He has splitscreen on/off - ihr Partner hat eine andere Splitscreen-Ein- stellung als sie. Sprechen sie sich ab und ändern sie ggf. ihre @{"Splitscreen-Einstellung" LINK "Hauptfenster_Splitscreen"}. . Wrong screen - beide Spieler müssen natürlich den gleichen @{"Screen" LINK "Hauptfenster_Screen"} gewählt haben. Jeder aThrust-Screen hat eine Prüfsumme, so daß verschiedene Screens erkannt werden. Nach erfolgreichen Connect erscheint wie im normalen Spiel der Bildschirm und es wird auf Feuer von beiden Spielern gewartet. @ENDNODE @NODE "Sonstiges" "Sonstiges" @TOC "MAIN" aThrust unterstützt mehrfarbige Screens (bis zu 32 Farben). Zur Zeit hat sich allerdings noch niemand gefunden, der einen mehrfarbigen Screen gezeichnet hat. Späteren Version werden bestimmt einige mehrfarbige Screens beiliegen. Zum Spiel existiert ein Konvertierprogramm, mit dem man IFF-Screens als aThrust-Level einbinden kann. Das Programm bekommen 'registrierte' Benutzer. Was noch geplant ist: . Bugfixes :-) . Extras über Modem . Joysticksteuerung . englische Anleitung . neue Extras, z.B. Magnete . XPK-Support für Screens Bekannte Bugs ------------- . wenn während des Spiels ein Programm den Screen umschaltet können Enforcerhits auftreten (mir ist ein solcher Fall noch nicht unter- gekommen, s.u.). Der Bug tritt auf, weil Intuition es nicht mag, wenn man mit Screens ScrollVPort() macht, während Intuition auf seinen View zugreifen will. Das passiert seltsamerweise nur, wenn Screens mit Amiga-N umgeschaltet werden, nicht wenn sie mit Amiga-M umgeschaltet werden oder wenn andere Programme den Screen umschalten. Einen Workaround habe ich noch nicht gefunden. Wenn jemand eine Möglichkeit hat, systemkonform schnell zu scrollen, möge er mir diese bitte mitteilen. Ich habe keine Lust, Double-Buffering einzubauen, und normalerweise sollte das nicht nötig sein, da die Screens komplett im Speicher liegen und zum Scrollen nur die Bitmappointer umgesetzt werden müssen (war da nicht mal ein Thread in de.comp.sys.amiga. ? :-) Da man während des Spiels normalerweise nicht Amiga-M o.ä. benutzen kann, ist dieser Bug IMHO nicht allzu gewichtig. @ENDNODE @NODE "Author & Credits" "Author & Credits" @TOC "MAIN" Programmierung: Carsten Gerlach Grafik (Spieler, Explosionen) : Markus Siegel Leveldesign: Carsten Gerlach, Felix 'HCl' Braun Bugreports, Ideen, Verbesserungsvorschläge, Geschenke etc. an: Post: Carsten Gerlach Falkentaler Steig 95a 13467 Berlin Germany Phone: (030) 4049763 E-Mail: gerlo@lbcmbx.in-berlin.de @ENDNODE @NODE "Disclaimer" "Disclaimer" @TOC "MAIN" Copyright (C) 1994,1995 Carsten Gerlach No program, document, data file or source code from this software package, neither in whole nor in part, may be included or used in other software packages unless it is authorized by a written permission from the author. No guarantee of any kind is given that the programs described in this document are 100% reliable. You are using this material on your own risk. This software package is freely distributable. It may be put on any media which is used for the distribution of free software, like Public Domain disk collections, CDROMs, FTP servers or bulletin board systems. @ENDNODE