Willkommen auf der Wormhole Projekt Homepage !
(Let us see what's out there.... - Jean Luc Picard, Captain
of the U.S.S. Enterprise)
To the english version of this page
Was in aller Welt ist überhaupt Wormhole?
Wormhole ist ein Science Fiction Strategiespiel ähnlich Master
of Orion oder The Ascendancy. Wie diese Programme spielt auch
Womhole in der fernen Zukunft, in der mehrere interstellare Imperien um
die Vorherschaft in der Galaxis kämpfen. Die Aufgabe des Spielers
ist hierbei die Gründung neuer Kolonien, die Erforschung neuer Technologien,
der Kampf gegen die anderen Imperien und natürlich zu gewinnen.
Was gibt's Neues?
Wo gibt's die aktuellsten Neuigkeiten? Ganz einfach, besuche doch mal das
Wormhole Diskussionsforum bei parsimony.net/forum/forum1216/
Wie wir gedenken, Wormhole zu realisieren
Das
Betriebssystem: Linux
Wir benutzen Linux als Plattform, weil wir ein komplexes Spiel mit einem
guten Konzept entwickeln wollen, nicht eines mit guter 3DFX Grafik (Tatsächlich
ist momentan niemand im Entwicklungsteam vertreten, der ein brauchbares
künstlerisches Talent in dieser Richtung besitzt). Mit Linux haben
wir eine Plattform ohne "Mega-Games", und außerdem bietet es die
perfekte Grundlage für stabile und/oder netzwerkfähige Applikationen.
Die Programmiersprache: C++
Es ist einleuchtend das die komplexen Konzepte von Wormhole am einfachsten
in einer objektorientierten Programmiersprache realisieren lassen. Also
habe ich als Initiator des Projektes beschlossen, C++ zu benutzen. Durch
die Ähnlichkeit zu C haben wir außerdem die Möglichkeit,
ohne große Umwege die Systemfunktionen und Bibliotheken von Linux
benutzen zu können.
Die GUI : Qt
Qt's a toolkit similar to XForms or Motif. It's very powerful, easy to
use and looks real good (If ya wanna get some first impressions of Qt-Style
widgets, look at the KDE-Desktop Enviroment (www.kde.org)
. It's based on Qt).
WICHTIG: Qt 1.4 ist draußen. Vielleicht
sollten wir uns das mal ansehen... ;-)
WICHTIG: QtEZ ist ein mächtiges Entwicklungswerkzeug
für Qt und KDE. Auch das sollten wir uns einmal näher begucken...
(Zu finden bei qtez.commkey.net )
Spielkonzepte
(... soon to come ... )
Programmierkonzepte
Durch die Benutzung von C++ zur Implementierung ist der gesamte Code (natürlich)
objektorientiert.
Die Wormhole Klassen- Hierarchie
'Tschuldigung, bin nochnich dazu gekommen, das hier zu übersetzen....
Since there is a strictly seperation of the client and the server modules
of Wormhole, we have two seperate class hierarchies. For the
server it is:
CServMain: The main class of the server application.
It controls every aspect of the game and holds the instances of all other
important server classes:
CNetConnection: A class that holds all the
information about a wormhole client. It's also responsible for all networking
aspects that are used for in-game client-server-communication. CServMain
should hold a list of CNetConnection-Instances, one for each client in
game.
CNetInit: This class is responsible for the
network initialisation. It generates all relevant data structures and should
initialise each client-connection, too.
CStartUp: CStartUp should display a dialog
window where the server operator can manipulate several global game variables
(e.g. galaxy-size, computer-players or simply reload a saved game) before
the game itself begins.
CInitGame: This class also displays a dialog.
Here the player clients could enter the game and simple pre-game chatting
should be possible.
CGameRules: Holds all the rules used for the
game itself. This class should implement all the methods that are needed
to evaluate incoming data and process it using the game rules.
CGameData: Will be used to hold all the game-relevant
data structures (possibly those of the last turn and the calculated next
turn, too). Extended communication between CGameData and CGameRules is
needed to provide functionality.
CRunGame: This class controls the whole game,
gets info from the CNetConnection objects, takes it to CGameRules and provides
the data flow back to all clients (in the next game turn). It also displays
a dialog window for chatting, saving games, killing players and manipulate
game data.
And for the client(s):
The wormhole client will also have a main class named CClientMain
and a CNetInit and a CNetConnection
(though it only needs one instance of CNetConnection). Although
the net classes of the client have quite different tasks to perform than
the server classes, both possibly could share the same abstract base classes.
Like the server the client has a CStartUp
class that displays a pre-game dialog. Here the player can "log" onto a
server game sending his player name and IP- adress.
After that, the player will be taken to the CRunGame
class of the client application.
The clients are stupid, that means they are only responsible for data
interchange with the player, all data evaluation is made in the server
application.
There are also hundreds of instances of Qt-Classes, but these are primerly
used for displaying so I didn't mentioned them here.
Das Client/Server-Koncept von Wormhole
Wormhole wird mit einem Server- und mehreren Client-Applikationen gespielt.
Diese Module kommunizieren mittels TCP/IP sockets und können somit
sowohl lokal auf einem Rechner (durch ein Loopback-Device) oder auf mehreren
Workstations in einem lokalen Netz oder gar dem Internet laufen. Der Client
is das Interface zu einem einzelnen Spieler, während der Server alle
Daten sammelt, auswertet und sich um alle übrigen Aspekte des Spiels
kümmert. Das endgültige Ziel ist die Realisierung einer Server-Apllikation,
deren Aufnahmefähigkeit (Spielerzahl) nur durch Rechner- und Netzresourcen
begrenzt ist.
Das GUI Interface
Wie bereits gesagt, sind die Wormhole Server und Clients X-Window-Applikationen,
die mit der frei verfügbaren Version des Qt Toolkits realisiert werden
sollen. Im Moment sollte dies dem Spiel ein professionelles und intuitiv
bedienbares Äußeres verleihen, richtige Grafik sollte erst kurz
vor Abschluß des Projektes implementiert werden.
Die General public license
Wormhole wird der GPL unterstehen und somit freie Software sein. Wer sich
damit nicht abfinden kann, hat auch im Projekt nichts zu suchen.
Download the sources
Sources gibt es leider noch nicht, denn wir haben noch nicht ernsthaft
angefangen, zu programmieren.
Willst auch Du dabeisein?
-
Sende einfach eine E-Mail an The
Wormhole Project
WICHTIG: Bitte alle anderen Nachrichten
im Diskussionsforum
hinterlassen, damit sie auch jeder lesen kann.
Das Team:
-
*: Da wir noch in der Pre-Development-Phase sind, gibt's noch nicht so
viel praktisches zu tun ;-)
Was wir noch beötigen
-
Noch mehr fähige Leute
-
Einen begabten Computergrafiker
-
Frieden in der Welt (und der Galaxis)
-
The Wormhole Project
Last
modified: Tue Jul 28 11:06:41 CEST 1998
Next updating of this page will occur Thu Jul 30