Studienarbeit: Virtual Reality Game Star Trek (Elite Force)

D

djabba

Guest
Hallo Leute

Wir haben jetzt ein Forum bzgl. der Entwicklung der virtuellen Welt von Star
Trek Elite Force eingerichtet. Ihr findet das Forum unter
http://www.entwicklungsteam.de.vu/

Also besucht mal die Seite. Wir haben uns für das Projekt auch schon einen
Namen (sowie ein Logo) überlegt: MIOG Mutiple Interactive Online Game. Wir
werden dort alle neuen Infos reinsetzten. Ich hoffe Ihr beteiligt Euch alle
an dem Forum, so dass es ein konstruktives Produkt entstehen kann. Naja
klingt ein irgendwie komisch. Ihr wisst schon was ich meine.

Also bis denn...

-daniel




Hier die Kurzbeschreibung des Projektes:

Hier nun das Projekt:
Das Programm soll um den jeweiligen Player ein Holoprogramm generieren. Dies wird in einen festen Radius um den Spieler herum hochgeladen. Wenn sich nun der Spieler bewegen sollte, dann befindet sich der Computer ständig im Hochladen bzw. Rausschmeißen von Holoprogramm-Items in/ bzw aus dem Holoprogramm. Dies passiert immer an der Radiusgrenze des jeweiligen Spielers. Durch diese Vorgehensweise, wäre es möglich eine „unendlich“ große Map zugestalten. Man sollte jetzt jedoch nicht mehr von einer Map sprechen, sondern von einer „Welt“ einer virtuellen Star Trek Welt. Ausgehend von diesem Prinzip, soll dann eine Star Trek Welt entstehen, welche dann über das Internet spielbar sein soll. Alle Star Trek Fans auf der ganzen Welt könnten sich dann in diese Welt einloggen, ihre eigenen Privaten Räume zugeteilt bekommen, Items untereinander austauschen können und vieles mehr.
Kommunikationsmöglichkeit kann auch über eine Sprachfunktion möglich sein. Verschiedene Clans könnten sogar nach diesem Spielprinzip ganze Raumschiffe generieren und damit in der virtuellen Welt herumfliegen und mit anderen Clan in Interaktion treten. Das Konzept geht über ein normales Spiel hinaus! Wenn alle technischen Probleme (und von denen gibt es genug!) gelöst werden können, dann könnte eine Plattform für Star Trek Fans entstehen.

Anforderungen an das Spiel:

Ich habe mir mal Gedanken über die Anforderungen an so ein „Spiel“ gemacht. Also man sollte ein Produkt entwickeln, deren Grundprogramm auf einen herkömmlichen Datenträger passt. Also sagen wir mal 1-2 CDs.
Weiterhin sollte dieses Programm dem Spieler ermöglichen über das Internet sich in die "große Matrix" einzuloggen. (Es könnte natürlich auch die Möglichkeit geben eine Version nur zum Offline bzw. Lanparty-Spielen zu entwickeln. Aber dies wäre mir zu langweilig)
Die Matrix an sich sollte folgende Eigenschaften besitzen:

- Absolute Bewegungsfreiheit innerhalb der Matrix ("endless map" ist natürlich nicht möglich, aber sie sollte sehr groß sein) Die Größe sollte mehrere Planeten, Raumstationen, sowie Raumschiffen, die dazwischen hin und her pendeln. Auch freibewegliche Raumschiffe sollten möglich sein. Marks Vorschlag finde ich sehr gut: Man bildet natürlich nicht einen ganzen Planeten ab, sondern nur einige interessante Städte, wie z.B. Paris, London, Tokio, San Francisco, Berlin (auch diese Städte werden natürlich nicht ganz abgebildet sowie auch nicht detailgetreu. Motto: Das richtige Feeling soll vermittelt werden).

- Interaction mit anderen Mitspielern über Text oder Sprache

- Austausch von Items zwischen den einzelnen Usern

- eine veränderliche Matrix (dahinter verbirgt sich ein eine Idee die wahrscheinlich nicht ganz verwirklicht werden kann) Beschreibung: Ein Spieler kann in der Matrix Veränderungen vornehmen, welche "bleibenden Charakter" besitzen, d.h. sie bleiben auch nach dem Logoff des Spielers noch in der Matrix erhalten. Diese Eigenschaft erfordert also einen Server auf dem die Grundmatrix (also die einzelnen Raumstationen, Fähren für den jeweiligen Transfer zw. Planeten, Raumschiffen und so weiter..) Wenn also zum Beispiel der Spieler auf einer Raumstation in einem Cafe einen Tisch umschmeißt, dann sollte dieser auch umgeschmissen bleiben, bis jemand ihn wieder aufrichtet. Es müsste also in der Grundmatrix auf dem Internetserver verzeichnet werden, dass auf der soundso Raumstation ein Tisch umgeschmissen ist. Na ja das ist schon eine extreme Anforderung an das Gesamtkonzept. Denkbar wären hier auch abgeschwächte Formen des Konzeptes; vielleicht so wie momentan bei Elite Force, also dass Sachen wieder an ihrem angestammten Platz sind, sobald man den Raum verlässt oder so

- Einrichtung eines privaten Raumes, sei es ein Raum auf einer Station oder eines Raumschiffes. Dort kann soll sich der Spieler sich sein "Reich" einrichten und seine angesammelten Items ablegen können.

- Also der User kann sich in die Matrix einloggen und dort herumreisen andere Planeten besuchen oder sich mit Freunden treffen (Ein eingebettetes Spiel ist natürlich auch denkbar). Die zentrale Frage wäre hier was soll der Spieler den lieben langen Tag in der Matrix tun??

- (Zusätzlich zu den einzelnen Spielern wären auch „Bots“ denkbar. Also kleine Programme in Gestalt von Mitspielern. Diese könnten dann kleine Aufgaben erfüllen wie zum Beispiel umgefallenen Tische wieder aufstellen oder was weiß ich sonst alles…)

Mark hat sich zu dem ganzen Thema auch schon einige Gedanken gemacht. Ich hoffe er stellt diese Beiträge auch hier ins Netz. Wäre cool. Bzgl. des „bleibenden Charakters“ so glauben wir (Mark und ich), dass dies doch kein so großes Problem ist. Naja dazu später.

So das wäre es erstmal von mir.
 
Meine persönlich Meinung dazu ist, das ihr euch ein sehr sehr großes Ziel da gesteckt habt. Ich zweifele daran, das diese Idee jemals umgesetzt werden kann, so schön sie sich auch anhört. Projekte wie CounterStrike sind dagegen ja ein Witz. ;)

Es gab ja schon einige Projekte (EF), von denen immer groß Reden gemacht wurden, letzendlich aber nix bei rausgekommen ist (Rebellion Alpha, EliteForce Fortress (okay, AddOn war dann raus), usw. usw.). Es magelte eingentlich nie an Mappern, sondern an den Leuten, die letzendlich das MOD programmieren. Mit Elite Force habt ihr euch eindeutig das falsche Grundgrüst ausgesucht. :hmm:
 
Die Idee klingt wirklich sehr interessant und faszinierend. Bei der Programmierung (das sehe wie pkk das grösste Problem) kann ich euch nicht helfen, falls die Sache allerdings Gestalt annehmen sollte, bin ich gerne bereit, über entsprechene ans internet angebundene (hochperformante) Server zu reden bzw. zur Verfügung zu stellen.

Wobei ich ganz ehrlich sagen muss, das das Projekt ziemlich aufwändig ist und ich nicht ganz glauben kann, dass das alles realisierbar ist.

BTW: Ich kann mich erinnern, dass es früher mal bei CompuServe ein spiel mit ähnlicher Aufmachung gab, allerdings nur so 2dimensional mit Sprechblasen. Was daraus geworde ist, weiss ich leider nicht.
 
Geht mal auf:
http://www.entwicklungsteam.de.vu/

Dort wird schon ein wenig darüber geredet.

Ich hätte da so eine andere ähnliche Idee. Was haltet Ihr davon:
Ich hatte gestern Gedanken über diese Matrix gemacht. Mir kam da eine Idee, die ich gerne mit Euch diskutieren möchte.
Eigentlich könnte man doch eine Art von der besagten Matrix wirklich schon kreieren. Natürlich nicht mit den ganzen Extras und der unbegrenzten Handlungsfreiheit wie ich es in den vorangegangenen Beiträgen beschrieben hatte. Aber man könnte so etwas Ähnliches schaffen.
Beim normalen Spiel von Elite Force wurde immer eine Map nach der anderen hochgeladen. Man folgte dem Handlungsstrang und die einzelnen Maps wurden nach Bedarf hochgeladen. (Ihr Programmierer von Colony7 habt das ja auch schon drauf, ich meine dass mit dem Maps aneinander hängen). Betrat man zum Beispiel einen Raum, der außerhalb der hochgeladenen Map lag, so stoppte das Programm, man wartete einen Moment, bis der Grafikengine die neue Map des besagten Raumes und den darin befindlichen Items hochgeladen hatte. Erst dann konnte man den Raum betreten. Die einzelnen Maps waren somit miteinander verlinkt. Naja Ihr wisst das ja schon alle was ich meine. Sorry for that!

Meine Überlegung war nun die Folgende:

Es wäre doch eigentlich möglich mehrere Maps miteinander zu verlinken. Und zwar so, dass man sowohl von map1 zu map2 kommt allerdings auch wieder bei Bedarf zurück. Man könnte so zum Beispiel, wenn wir mal die Modellierung einer Raumstation als Beispiel nehmen, die einzelnen Decks als separate eigenständige Maps kreieren. Verbunden würden die Decks mit einem Turbolift in dem der Ladevorgang des gewählten Decks stattfindet. (Das Problem der Ansteuerung bzgl des Ziels des Turboliftes sei jetzt mal unberücksichtigt.)
Die Interaktion mit anderen Spielern, könnte auf der technischen Basis eines Holomatches bestehen. Somit könnte man die einzelnen Maps auch mit Spielern füllen. Natürlich können bis jetzt noch keine bleibenden Veränderungen in der Matrix vorgenommen werden.
Am Anfang müsste man sich die gesamte Raumstation-„Map“ herunterladen. Also alle einzelnen Maps zusammengelinkt und holomatchfähig.

Ich fand den Gedanken recht interessant, weil man eine Raumstation kreieren könnte, mit alle den einzelnen Decks, Aussichtsplattformen, Lagerhallen, Holodecks, Andockrampen, etc. Alles (Items, Texturen, Figuren, den Links zw. Maps) würde auf dem basieren, was schon jetzt möglich ist. Klar unendlich viel Programmierarbeit, aber es soll erstmal nur um den Gedanken gehen.

Naja bestimmt sind viele Sachen auch nicht so einfach, wie ich sie jetzt gerade dargestellt habe, aber ich glaube es könnte ein ganz lustiger Ansatz sein. Was meint Ihr????

-daniel

MIOG Multiple Interactive Online Game

miog.gif
 
Es gibt immer noch das Problem, das man für jeden öffentlichen Raum einen Server haben muß! Bei den privaten Räumen kann man das ja so machen, das die auf den Client Rechnern laufen und nur zugänglich sind, wenn der Besitzer selbst drin ist. Da entsteht das problem, das man den Script dynamsich anpassen muß, also entweder kann die Tür geöffnet werden (Besitzer online) oder die Tür verschlossen bleibt (Besitzer offline). Ich weiß nicht ob das ganze sich so dynamsich verwalten läß mit Q3A-E.

Das ist ja nur ein Problem... ;)

Beschäftige dich lieber mit Spielen wie Asheron's Call und Ultima Online, auf dieser Basis ist das ganze Projekt um einiges einfacher, da diese Spiele viel ehr auf euer Projekt zutreffen als EF.
 
Wo ich ein problem sehe ist in der Internet perform,ance. Ihr kennt ja wie lange an den 3D Karten vom normalen EF geladen wird. Wenn nun vor dem laden auch noch die ganzen Daten (je nach Architektur, Texturen, Karte usw. und vor allem sämtliche Details (Spieler A ist dort, Bot B, dort Kaffeetasse dort usw...)übertragen werden müsse dann frisst das erstens ziemlich viel Bandbreite beim User und verlangsamt den Spielablauf doch extrem, selbst wenn ständig auch wärend des Spielens vom Server nachgeladen wird, wird sowas wie schnell durch Raum A laufen um zu Ort B zu kommen nicht möglich sein, da eine gewisse Zeit im eben geladenen raum verbracht werden muss bis die Daten für den nächsten übertragen sind. nicht zu vergessen, das neben den daten für den nächsten (und denen für den vorherigen) Raum auch noch ständig Daten über die Aktionen von Spielern übertragen werden müssen. Ich bezweifle, das das mit der Geschwindigkeit eines DSL Anschlusses realisierbar ist, und wieviele potentielle User gibt es schon mit noch schnelleren Anschlüssen.
 
Was mainst Du mit "Marc" ist Dir zulangweilig?

Vergessen wir mal das Ablaufschema des Q3-Engines bei Elite Force. Der Spieler bekommt also seine zwei Kauf-CDs. Er installiert das Spiel. Installiert werden ein Grafikengine und eine Datenbank. In dieser Datenbank würden alle 3d-Objekte aus dem Star Trek Universum aufgelistet sein. Also Stühle, Tische, Wandverkleidungen, etc. . Auch 3d-Objekte, die eine Funktion in der Simulation erfüllen sollen, sind in dieser Datenbank enthalten Also zum Beispiel Türen, die sich bei Bedarf öffnen oder Fackeln deren Flammen sich bewegen. (Wie viele das sein müssten ist jetzt erstmal egal).

Jedes Item würde eine Keynummer bekommen, also nur eine ganz bestimmte Nummer pro Item z.B. Stuhl Typ 1 - AZ231, Stuhl Typ 2 – AG234, Wandverkleidung Typ 13 – TH984 und so weiter… .
Natürlich haben alle anderen Spieler dieselbe Datenbank mit denselben Items + Keynummern darin.

Was passiert jetzt aber wenn sich der User in die Matrix einloggt? Nun hat „unser“ Softwareteam auf einem Server eine virtuelle Star Trek Welt kreiert. Diese besagte Welt hat das Team anhand der Vorgabe von der oben angeführten Datenbank erstellt. Also in dem Star Trek Universum kommen nur die vorher definierten und kreierten Objekte zum Vorschein.

Dabei haben die Gestalter dieser Matrix jedem Objekt einen eine Lage im virtuellen Raum zugewiesen. Das sollte am besten über ein Vektorenprogramm gehen. Also ein Objekt hat nun zu seiner Keynummer auch noch Raumkoordinaten sowie Ausrichtungsvektor. [Tisch Typ 23 – AS632 X.12 Y.23 Z.45 (Ausrichtungsvektor)] So könnte die Bezeichnung eines Objektes in der Matrix lauten. So müsste die gesamte Matrix durchdefiniert sein. Ob jetzt das wirklich so ein Code ist oder das Ganze doch anders gelöst werden muss ist nicht so wichtig jetzt. Es geht darum, dass es zu jedem Objekt ein Code gibt.

Der User betritt nun einen Raum in dieser Matrix. Ein kleines Programm auf seinem PC bekommt nun die einzelnen Codes von der Matrix übermittelt (übers Internet). Der Raum besteht nun aus lauter Codes. Das Programm geht jetzt in die Datenbank und sucht sich alle benötigten Objekte heraus und lädt sie in Grafikengine hinein.

Bewegt sich der User so muss das Programm ausgehend von der Laufrichtung des Users immer wieder die Codes der Matrix aus dem Internet herunterladen und in den Grafikengine laden. Der Grafikengine müsste also immer in einem festen Radius um den Spieler herum die 3d-Ausführung der einzelnen Codes der Matrix visualisieren. Es müsste also nie das ganze virtuelle Objekt mit all seinen Texturen übers Internet übermittelt werden. Bis jetzt rennen natürlich noch keine anderen Mitspieler in der Matrix herum. Der Spieler ist also ganz alleine im Universum. Noch!

Das wäre eine Idee wie man sich der Bandbreite der jeweiligen Internetzugänge entledigen könnte (Ich könnte mir auch vorstellen, dass es solche Konzepte für Online games schon gibt).

Jetzt sollte ich vielleicht noch kurz auf die Datenbank eingehen. Wie viele Objekte braucht man zur Darstellung eines Star Trek Universums? Ich glaube so viele müssen es nicht sein. Die Begrenzung würde natürlich der Kreativität eine gewisse Grenze gesetzt, weil man ja nur aus einer endlichen Anzahl von Objekten auswählen kann, um die Grundmatrix zu generieren. Es ist ja auch nicht schlimm wenn es Wiederholungen gibt, wie zum Beispiel mehrere Standartraumstationen. Interessant werden diese Orte ja erst durch die einzelnen Users. Außerdem könnte man auch herunterladbare Updates anbieten, welche dann neue 3d-Objekte enthalten, die der Datenbank zugeführt werden können. Eine andere Möglichkeit wäre hingegen folgende: Wenn es ein neues Objekt gibt dann muss dies direkt (als 3d-Objekt) aus der Matrix herunter geladen werden. Erst dann kann es der Datenbank zugeführt werden.

Und noch was:
Ich als User renne jetzt in einen Raum und werfe einen Phaser auf den Boden, ich verlasse den Raum sofort wieder und log mich aus. Jemand anderes kommt jetzt als Spieler in diesen Raum und da ist natürlich der Phaser. Die Matrix im Internet muss also in dem Code-Konstrukt des besagten Raumes, einen zusätzlichen Code (Standartphaser Typ 21) aufnehmen.
Ich könnte mir vorstellen das hier auch Missbrauch betrieben werden könnte, indem irgendwelche Idioten die Matrix mit Müll zu schütten oder Ähnlichem. Die Matrix würde sich aufblähen bis sie…!? Gut hierfür findet sich bestimmt auch eine Lösung, hätte da auch schon einige Ansätze.

War jetzt ein bisschen lang ich weiß. Sorry.

-daniel
:eek:
 
djabba schrieb:
Was mainst Du mit "Marc" ist Dir zulangweilig?

Marc war mein voriger Nickname (und Realname), den ich jetzt in "Alles meins" geändert habe. Damit aber jeder mitbekommt, wer ich vorher war habe ich das in die Signatur geschrieben...

Naja, du wirst wohl einfach ausprobieren müssen, wie das mit der Performance klappt.
 
Hmmmm sehr interessant !!!!

Was hier vorhabt ist möglich evtl nicht mit der Q3 Engine auser ihr habt nen paar Programmier Genies unter euch ;)
Das mit dem "Grundgerüst" solte ebenfalls funktionieren. Star Wars: Galaxies soll das selbe oder dürfte das selbe sein wie ihr das vorhabt nur in einem anderen Universum ! Ihr müßtet nur die Maps nach laden am besten im Hintergrund Bsp: Ihr geht in den Turbolift und wenn ihr die Auswahl Trefft lädt er die Map schon die Turbolift fahrt dauert dann halt so lange wie der Rechner braucht !!

Gothic bietet zum Bsp eine ansich Riesen Welt mit vielen NPC's und es lädt nur bei grafiereneden Welten wechseln bsp. wenn es unter die Erde geht !

Zu der Idee die is wirklich Top und wenn ihr das so hinbekommt dürftet ihr damit auch wohl reich werden ;) !!

Und ich melde mich auch wohl freiwillig zum Testen und designen der Level *Falls ich das endlich mal lerne mit den neuen Level Editoren !! sind numal net mehr so simpel wie zu alten D*** N**** 3d Zeiten ;)*
 
Naja, wenns irgendwas zu testen gibt oder etwas zu tun, bei dem man kein Hintergrundwissen braucht (kann zwar "programmieren" aber dummerweise nur PHP, kenne auch 3D leveleditor aber habe dazu nicht genug talent und Erfehrung) aber an sonsten bin ich auch bereit aufgaben zu übernehmen...
 
Also wie gesagt, falls die Idee gestalt annehmen sollte, bin ich gerne bereit, Server zum testen zur Verfügung zu stellen.
 
Zurück
Oben