Spannende Internet-Mofarennen mit Rasterbike

Dieses Spiel stellt eine besondere Perle dieses Herunterlade-Archivs dar: ein vollwertiges Netzwerkspiel, dass Sie direkt über das Internet zusammen mit Ihren Freunden spielen können! Darüber hinaus besitzt dieses Spiel auch eine schnelle Scrollgrafik.

Über das Spiel selber

Rasterbike ist auch unter dem Namen Tron bekannt, die Idee stammt aus dem gleichnamigen Kinofilm. Auf einem 50×50 Einheiten grossen Spielfeld können bis zu 10 Spieler gleichzeitig daran teilnehmen. Die Startposition und -richtung wird dabei durch den Zufallsgenerator bestimmt. Jeder Spieler steuert ein Mofa, welches weder beschleunigt noch abgebremst werden kann, Sie können also nur lenken. Beim Fahren hinterlässt jedes Motorrad eine farbige Spur, deren Überfahrung den sofortigen Spielertod bedeutet, dasselbe mit dem Spielfeldrand. Sieger ist derjenige Spieler, welcher am längsten herumkurvt.

Bildschirm-Schnappschuss einer 5er-Runde, alle noch im Rennen
Ein regelrechtes Gerangel zwischen dem roten, grünen und türkisblauen Mofa, welches sicherlich einige Opfer hinterlassen wird

Ihr eigenes Mofa sehen Sie im grossen, rechten Hauptfenster, während Ihre Mitspieler in den kleinen Kameraausschnitten links erscheinen. Zugleich ist noch in der Spielerlegende ersichtlich, was jedes Mofa im Moment gerade tut.

Bildschirm-Schnappschuss einer 5er-Runde, alle noch dabei
Das rote, grüne und violette Mofa liefern einander ein Kopf-an-Kopf-Rennen

Bildschirm-Schnappschuss einer 5er-Runde, bereits 3 Opfer
Ein spannendes Duell zwischen den letzten beiden Mofas. Wer wird wohl gewinnen?

Die gelben Zahlen geben bereits den Siegesrang an.

Installation und Inbetriebnahme

Dieses Spiel läuft als sog. Client/Server-Anwendung, wobei der Client in QuickBASIC geschrieben ist und der Server aufgrund des fehlenden SI_BIND/SI_LISTEN und SI_ACCEPT von DOSISODE (siehe Internet mit QuickBASIC) unter Linux/UNIX in C entwickelt wurde.

Inbetriebnahme Server

Für den Server benötigen Sie also einen Rechner unter Linux, FreeBSD oder einem kommerziellen UNIX. Dazu laden Sie sich das Rasterbike-Serverpaket herunter, entpacken es mit gunzip und tar und übersetzen es mit dem C-Compiler:

/home/user> gunzip RasterbikeServer.tar.gz
/home/user> mkdir rasterbike
/home/user> cd rasterbike
/home/user/rasterbike> tar xvf ../RasterbikeServer.tar
DigitalULTRIX4.5/
DigitalULTRIX4.5/rasterbike_autopilot
.
. (weggelassen)
.
Linux_K2.2.14/rasterbike_autopilot
rasterbike_autopilot.c
rasterbike_server.c
/home/user/rasterbike> cc -o rasterbike_server rasterbike_server.c
/home/user/rasterbike> _

Falls Sie wie später beschrieben auch Computergegner als Ersatz für menschliche Mitspieler verwenden möchten, sollten Sie auch den Auto-Piloten übersetzen:

/home/user/rasterbike> cc -o rasterbike_autopilot rasterbike_autopilot.c
/home/user/rasterbike> _

Falls Sie auf Ihrem Linux/UNIX-System keinen C-Compiler installiert haben, finden Sie bereits vorcompilierte, ausführbare Dateien für folgende Linux/UNIX-Dialekte:

Der Server ist dabei als Einwegserver konzipiert; Sie müssen ihn also vor jedem Spiel manuell starten:

/home/user/rasterbike> rasterbike_server
Rasterbike-Server V1.01 © 2000 by Andreas Meile, CH-8242 Hofen SH
Server auf Port 11971 gestartet - Einladungsphase

Für eine abweichende Portnummer geben Sie diese als Parameter beim Aufruf an:

/home/user/rasterbike> rasterbike_server 7700
Rasterbike-Server V1.01 © 2000 by Andreas Meile, CH-8242 Hofen SH
Server auf Port 7700 gestartet - Einladungsphase

Der Server gibt Ihnen während eines Spielverlaufs alle wichtigeren Meldungen jeweils aus:

/home/user/rasterbike> rasterbike_server
Rasterbike-Server V1.01 © 2000 by Andreas Meile, CH-8242 Hofen SH
Server auf Port 11971 gestartet - Einladungsphase
Verbindung aufgenommen von Spieler 1
Spieler 1 verbunden
Verbindung aufgenommen von Spieler 2
Spieler 2 verbunden
Einladungsphase beendet -> Bereitmachungsphase
Spieler 1 hat Bereitschaft bestätigt
Spieler 2 hat Bereitschaft bestätigt
Alle Spieler sind bereit
Spielrunde gestartet
Spieler 2 ausgeschieden
Spieler 1 ausgeschieden
Spielrunde beendet.
Rangliste übermittelt
Spieler 1 durch Server getrennt
Spieler 2 clientseitig getrennt
Rasterbike-Server beendet
/home/user/rasterbike> _

Inbetriebnahme Clientanwendung

Als TCP/IP-Stack kommt DOSISODE zum Einsatz, welcher für lokale Netzwerke (LAN) mit Ethernet oder Token Ring sowie normalen Einwählkonten über ein Modem oder ISDN-Terminaladapter geeignet ist. Dazu verweise ich Sie auf den Artikel Internet mit QuickBASIC, wo die gesamte Netzwerk-Installation sehr ausführlich beschrieben ist. Dabei sollten Sie auch den Test mit TCPIP_D.BAS wie dort beschrieben durchführen, um die einwandfreie Funktion sicherzustellen. Läuft Ihr unter MS-DOS erstelltes DOSISODE-Netzwerk erst einmal richtig, so können Sie sich das Rasterbike-Clientpaket herunterladen und nach dem Entpacken mit

C:\BASICPRG>qb /l qb rastbike

IP-Adresse des Rasterbike-Servers (z.B. 192.168.0.2)? 212.185.216.211
Portnummer (Standard= 11971 )? Enter <= Leereingabe

das Programm starten. Für Nicht-Compiler-Besitzer befindet sich noch die vorcompilierte Version RASTBIKE.EXE in diesem Archiv.

Wichtig ist hierbei, die IP-Adresse immer numerisch einzugeben, also DNS-Hostnamen sind nicht möglich.

Selbstverständlich sind das obige nur Beispielwerte, so dass Sie als IP-Adresse diejenige Ihres UNIX/Linux-Rechner angeben, auf welchem Sie den Server gestartet haben. Wenn alles geklappt hat, so kommt der Spielbildschirm und Sie befinden sich in der Einladungsphase.

Spielablauf

Nach dem Server- und Clientstart befinden Sie sich zunächst in der Einladungsphase, in welcher sich die Spieler zusammentreffen. Der erste Spieler übernimmt dabei die Rolle des Spielverwalters (Meister) und bestimmt per Tastendruck, wann die Einladung für das Rasterbike-Rennen zu Ende ist, worauf der Server niemand weiteres mehr hereinlässt. Jeder Spieler bekommt daraufhin eine akustische Meldung, dass das Rennen sogleich losgeht, was jeder mit Tastendruck bestätigen muss. Sie sehen dies am B in der Spielerlegende. Sobald alle Spieler ihre Bereitschaft bestätigt haben, geht das Vergnügen nach »Achtung! Fertig! Los!« los. Gesteuert wird mit den Pfeiltasten, wobei eine absolute Steuerung zur Anwendung kommt. Das Spiel endet, sobald auch der letzte Spieler gestürzt ist.

Falls einer der Spieler seine Netzwerk-Verbindung mitten im Spiel verliert (beispielsweise aufgrund einer schlechten Analogmodem-Verbindung), so erscheint er bei den übrigen Spielern mit #.

Der Autopilot als Spielerersatz

Falls Sie einmal zuwenig Mitspieler zusammenfinden können, so dient Ihnen der Autopilot als Ersatz für einen menschlichen Spieler. Der Autopilot läuft ebenfalls unter UNIX/Linux und bietet Ihnen insgesamt 6 Spielstufen an:

Beschreibung des Spielstufen-Parameters
ParameterBeschreibung
1nur ausweichen, wenn nötig
2unberechenbarer Fahrstil mit plötzlichem Abbiegen
3langsamer Hinterherläufer
4anderen Spieler nachhetzen
5Zufälliges Herumtorkeln
6am Rand entlang schleichen

Vor einer Spur sowie dem Spielfeldrand weichen jedoch alle Autopiloten aus. Den Autopiloten können Sie beliebig im Netzwerk starten, also beispielsweise auf dem selben Linux-Rechner mit

/home/user/rasterbike> rasterbike_autopilot 3 localhost
Rasterbike-Autopilot V1.01 © 2000 by Andreas Meile, CH-8242 Hofen SH
Verbindung mit Server aufgenommen, Handshake läuft...
Handshake beendet - Übernehme Rolle von Spieler 2
Einladungsphase läuft...

Verwenden Sie einfach eine andere Shell (xterm) oder benützen Sie ein nachgestelltes & um den Auto-Piloten als Hintergrundprozess zu starten. Der Autopilot kommuniziert also auch direkt über das Netzwerk wie RASTBIKE.BAS für menschliche Mitspieler. Im Gegensatz zum QuickBASIC-Client können Sie hier ohne weiteres DNS-Hostnamen verwenden, also beispielsweise

/home/user/rasterbike> rasterbike_autopilot 3 pD4B9D8D3.dip.t-dialin.net
Rasterbike-Autopilot V1.01 © 2000 by Andreas Meile, CH-8242 Hofen SH
Verbindung mit Server aufgenommen, Handshake läuft...
Handshake beendet - Übernehme Rolle von Spieler 1
Einladungsphase läuft...
Rolle vom Master erhalten - Einladungsphase mit Tastendruck beenden!

Bei der Spielverwalter-Rolle müssen Sie mit Enter die Einladephase beenden, alles übrige läuft automatisch ab. Auch hier werden alle wesentlichen Meldungen ausgegeben:

/home/user/rasterbike> rasterbike_autopilot 3 localhost
Rasterbike-Autopilot V1.01 © 2000 by Andreas Meile, CH-8242 Hofen SH
Verbindung mit Server aufgenommen, Handshake läuft...
Handshake beendet - Übernehme Rolle von Spieler 3
Einladungsphase läuft...
Einladungsphase beendet - Spielerliste: GGE
Legende: E=eigener Spieler, G=Gegner, _=Netzwerkverb. verloren
Beginn Bereitmachungsphase
Ende Bereitmachung
Spiel gestartet
Autopilot gestürzt! :-(
Spieler 2 gestürzt
Spieler 1 gestürzt
Spiel beendet.
Verbindung getrennt und Autopilot beendet.
/home/user/rasterbike> _

Praktische Tips für Modembesitzer

Aufgrund der Tatsache, dass DOSISODE eben nur unter reinem DOS läuft, welches im Gegensatz zu Windows kein Multitasking bietet, besteht für Sie im Falle eines einfachen Einzel-PCs mit Modem den Umstand, dass Sie einen allfälligen Online-Chat (beispielsweise über ICQ geführt) mit Ihren Kollegen jeweils solange unterbrechen müssen, um Ihren PC ins DOS herunterzufahren. Die ideale Infrastruktur ist daher ein lokales Netzwerk (LAN) aus mehreren Rechnern mit Ethernet-Netzwerkkarten, so dass Sie auf einem Computer nebenan weiterhin Ihr Chat-Fenster geöffnet lassen können. Daher versuche ich Ihnen einige Ratschläge hier auf den Weg zu geben, dass Sie auch ohne LAN in den vollen Spielgenuss kommen.

Modemnetzwerk aus privaten Haushaltungen

Schema eines über drei Haushaltungen übergreifenden Netzwerkes
Beispielnetzwerk über drei Haushaltungen

Wie Sie daraus erkennen können, kann man Rasterbike auch ohne LAN spielen. Hardwaremässig genügt also ein Modem und PC wie überall vorhanden. Falls der Spielverwalter selber nicht mitspielt, genügt auch für ihn ein einzelner PC. Ansonsten richtet er sich lokal eine PPP-Verbindung über ein Nullmodemkabel ein (siehe Serielle Schnittstelle) und setzt auf seinem Linux-PC zwei PPP-Daemons (pppd) auf; einen zu seinem Provider, der andere zu seinem DOS-PC mit dem Clientprogramm. Der wichtige Punkt ist hierbei, dass er vorher den übrigen Mitspielern seine vom Provider zugewiesene dynamische IP-Adresse per Chat mitteilt:

/home/user/rasterbike> ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:212.185.216.211  P-t-P:212.185.216.1 Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10

/home/user/rasterbike> _

Analog für eine ISDN-Karte:

/home/user/rasterbike> ifconfig ippp0
ippp0     Link encap:Point-to-Point Protocol
          inet addr:195.141.233.4  P-t-P:195.141.233.1 Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:2128 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3067 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:30

/home/user/rasterbike> _

Genau diese unter inet addr angezeigte Adresse muss dann jeder Spieler eingeben, ausgenommen der Spielverwalter selber, denn dieser richtet sich üblicherweise beim Nullmodemkabel zwei private Adressen nach RFC 1597/1918 ein, so dass er beispielsweise 192.168.0.1 zu verwenden hat.

Zukünftige Pläne bei diesem Projekt

Die aktuelle Version ist ein Stück weit gesehen erst einmal ein erster Versuch, da im wesentlichen noch eine Spielerverwaltung fehlt. In einer künftigen Version ist daher einmal eine Login-Schnittstelle ähnlich wie beim FICS-Schachserver vorgesehen zusammen mit einem permanenten Server, also einem Server, welcher im Prinzip nur noch beim Hochfahren des UNIX/Linux-Rechners via /etc/inittab aktiviert wird und dann rund um die Uhr läuft.

Ausserdem hoffe ich noch sehr, dass mir jemand im Zusammenhang mit INT 2Fh weiterhelfen kann (siehe Internet mit QuickBASIC, unterster Abschnitt), denn dadurch könnte DOSISODE durch das in jedem Windows vorhandene WINSOCK.DLL ersetzt werden, womit alle Chat-Unterbrechungsprobleme für Nicht-LAN-Besitzer gelöst sind.


Rasterbike-Clientpaket herunterladen

Umfang: 40 KB


Rasterbike-Serverpaket herunterladen

Umfang: 165 KB


Zurück ins Downloadmenü


© 2000 by Andreas Meile