Spielidee!



  • Das Spiel wird auch realistischer, d.h. keine Kommunikation ohne Verzögerung durch das ganze Universum, sehr hohe Flugzeiten, Planeten drehen sich um Stern und um sich selbst (<- ob ich das umsetze, weiß ich nicht, weil dann würde das das Landen ja verkomplizieren).

    Wenn ich vier Jahre Spielen muss, um ins nächste Sonnensystem zu kommen, dann wirds aber langweilig. Und Startrek hat das mit der Komunikation durch Subraumübertagungen gelöst 😉



  • also wenn das universum wirklich gross ist, hast du kaum bandbreite sofern sich die leute nicht begegnen.. du mußt nicht für jede kleine bewegung die position und sonstiges übertragen, lediglich vorberechnen, in welchem radius sich jemand in 10sek befinden könnte und welche daten er bis dahin haben könnte (also max resourcen zuwachs, max geschwindigkeit, max... ) und dann könntest du die spieler ihren ping in 10sek abständen abschicken lassen sofern sie die anderen nicht treffen.

    zudem könnte man so einen weltraum in ein paar sectors zerstückeln und auf mehreren dsl leitungen laufen lassen... naja jedenfalls falls du etwas in der art von eve machen möchtest:

    http://www.eve-online.com

    rapso->greets();



  • Wie gesagt, wenn man mir sagt wieviel Traffic das dingt verbraucht (en soll) kann ich schauen ob ich da nicht evtl. was hätte ...



  • Hi,

    viele Antworten... danke! 🙂

    @Commander: Das Problem ist, dass ich wirklich noch gar keine Ahnung hab, ich muss jetzt erstmal das Spiel machen und dann werd' ich sehen, wie viel Traffic das verbraucht. Ich hab ja auch keine Ahnung, ob am Ende 10, 100 oder 1000 Spieler mitspielen wollen. (oder noch mehr :D)

    @Helium: Vier Jahre wird die Zeit nicht brauchen, ich meinte halt nur, dass es auch schon Transportwege gibt, die länger dauern und man nicht in einer Minute überall sein kann. Das ganze Universum wird vielleicht so 2 Stunden groß gemacht. 🙂
    Und wegen der Kommunikation: Ich dachte auch an sowas, dass wenn man aus sehr großer Entfernung irgendwohin eine Meldung schickt, diese Meldung auch alle Schiffe um diese Position herum empfangen können und die Meldung halt einige Sekunden zum Senden braucht (steht dann halt "Transmitting..." da und das geht erst weg, wenn der Server das Versendet-Bit bei einem "Standard-Frameinfopaket" setzt.

    @rapso: Jo, so werd ich das auch machen, nur muss jeder Spieler trotzdem oft genug seine eigene Position mitgeteilt kriegen, weil sonst durch Rundungsfehler immer dann ein Sprung zustandekommt, wenn ein Paket ankommt, weil Server und Client ja nie exakt gleich runden. Zum Timing werde ich aber vermutlich mit Time Frames arbeiten, damit der Effekt wenigstens auch bei geringen Update Intervallen verringert wird.

    Jetzt bleiben nur noch drei Fragen:
    1. Klar: Der Name
    2. Ich nehme mal an, dass das Weltall realistisch sein soll, d.h. nicht flach wie z.B. in Freelancer, sondern wirklich annähernd gleich groß auf der x-, y- und z-Achse. (irgendwo im Cockpit kriegt man dann auch immer seine aktuellen Koordinaten angezeigt, falls man die jemand mitteilen will)
    3. Gibt es auch Windowsserver oder soll ich den Server auch für Linux portabel halten (würde dann heißen, dass ich kein D3DX für die Mathematik verwenden kann)?

    ChrisM



  • also ne eigene mathlib solltest du schon zustande brigen falls das project einigermassen ernst sein soll, falls es wirklich nur komplett "fun" ist kannst du sicherlich den dx-stuff nutzen, also dann auch effects und x-files und DirectPlay und... halt alles was dazu gehört.

    falls du das ausbaubar machen möchtest, müßtest du sehr viel beachten, es ist alles eben eine abwegung von aufwand, nutzen und ziel.

    ich würde dir grundsätzlich vorschlagen, dass du für den server einen gekapselten schönen code bastellst, sodass das portieren von einem system aufs andere minimalen austausch von klassen mit sich bringt. dazu würde ich auch vorschlagen, dass du das normale matrizensystem nutzt und nicht das von dx, nicht weil ich was gegen dx habe ;D, sondern weil viele andere libs auch das normale nutzen und falls du mit vertexshadern was berechnen möchtest, du das auch nutzen wirst. falls, dann mußt du nur am ende beim setzen in dx das matritzenformat transponieren und das ist wenig arbeit verglichen mit den libs die du nutzen kannst z.B. für collision und physics.

    aber das kapseln des servers ist wohl das wichtigste, denn zum testen sind windowssysteme die man selbst nutzt ja wirklich super, aber wenn du mal einen server im netzt nutzen darfst wird er mit hocher wahrscheinlichkeit kein windows und dx haben, vielleicht nichtmal x86 ;), somit ist in solchen fällen ein portierbarer code sehr wichtig. man muss ja nicht die ganze zeit alle versionen fahren, aber man sollte sich den umstieg auch nicht behindern!

    du solltest auch nicht versuchen zuviel zeit in eine sache zu stecken, denn das ganze spiel wird nur so weit sein wie die schlechteste komponente, wenn du also viel nur an einer engine zur darstellung, am servercode oder an der gui arbeitest, wird das ganze ding nichts neues nutzen... gibt ja soviele spiele die fast nur an einer engine basteln und am ende nichts von der arbeit haben..

    das sind aber alles nur tips und keine anweisungen...

    mein namenstip wäre:
    "Driteria - beyond imaginations"

    😃

    rapso->greets();



  • HI,

    na, gut, selbst eine Mathebibliothek zu schreiben, ist ja nicht schwierig, die ganzen Operationen hab ich ja auch alle schon implementiert, nur halt nicht optimiert, während D3DX ja MMX, 3DNow usw. benutzt. Aber für mein Spiel brauch ich das ja auch nicht, wenn ich daran denke, dass der Weltraum ja jetzt doch eher nicht von Vertices strotzt und auch jeder Spieler mindestens 1-2 Ghz hat... 🙄

    Linux werd ich mir dann natürlich auch auf jeden Fall offen halten, würd ich sogar für den Client machen, wenn ich mehr Ahnung von OpenGL hätte, aber in OpenGL hab ich nur Grundkenntnisse und das Extensionsystem gefällt mir auch nicht so arg wie das "Alles im Interface drin"-System von DirectX.

    Wegen deinem Namen: Hat Driteria irgendeine Bedeutung? 😉

    Ansonsten sind natürlich noch Namensvorschläge gesucht und auch noch Ideen zum Thema flacher Weltraum... weil grade das ist ja ein Aspekt, der vor allem in Star Trek & co oft vernachlässigt wird.

    ChrisM

    PS: Brauch ich überhaupt TCP für das Spiel? Eigentlich nur UDP, oder?



  • Also ein 3D-Weltraum wär natürlich geil. Bei Freelancer konnte man zwar überall hinfliegen, die Planeten lagen aber iirc alle auf einer Ebene.



  • Driteria hat meines wissens nach keine bedeutung, ich war mal so frei 🙂

    soweit ich weiß benutzen die meißtens clients tcp udn udp, für chat und um texturen nachzuladen tcp, für zeitkritische sachen deren ankunft nicht wichtig ist dann udp (also z.B. positionsdaten).

    das hat zudem den vorteil, dass du irgendwo nen irc, http oder ftp hinstellen könntest zum nachladen der z.B. texturen,objeckte... oder zum chatten. und nur udp spieledaten zum eigentlich spieleserver schicken mußt.

    rapso->greets();



  • Wie wärs mit :

    - Galaxy Empire
    - Mission Earth
    - Univers of Darkness

    oder

    - Commanders Intergalatic Empire 😉 :p



  • Hi,

    @dEUs: Habs jetzt auch beschlossen, wird vollkommen 3D und man wird sein Schiff auch rollen usw. können.
    Ein flacher Weltraum ist ja auch alles andere als logisch...

    @rapso: Aber theoretisch kann ich doch auch Texturen, neue Spielversionen usw. über UDP verschicken, sofern ich halt checke, dass auch alles ankommt und nach jedem Paket erst eine Bestätigung abwarte, bevor ich weitersende, oder wird das langsamer? Hab nämlich mal gehört, dass manche Betriebssysteme unter zu vielen TCP-Verbindungen zusammenbrechen, außerdem ist UDP einfacher zu programmieren (nicht dauernd select()) und zudem schneller (der Ping ist aber ja beim Download egal). 😃

    Hat noch jemand Namensvorschläge, obwohl Driteria schon mal nicht schlecht klingt, nur find ich bei "driteria" mit Google irgendwas mit Demenz und wir wollen ja nicht, dass jemand den Spielname falsch interpretiert 🙂

    ChrisM



  • siehe ein über dir 😉



  • Hi,

    gibt's aber alles schon (zumindest hab ich Treffer mit Google).

    Wie klingt "Dark Galaxy Conquest". "Dark Galaxy" ist halt der Bereich des Weltraums, in dem das Spiel spielt und Conquest besagt, dass er von der Menschheit eingenommen wird... 🙂

    Ansonsten find ich "Universe of darkness" sehr gut. 🙂

    ChrisM



  • DeGNSAG.



  • dann könnten wir das spiel ja auch gleich dEUs nennen 😉



  • joar, oder so 😉



  • Dark Galaxy isn Browsergame.



  • genauso wie Galaxy Wars, aber die hab ich ja auch bewusst nicht vorgeschlagen 😉



  • C-O-M-M-A-N-D-E-R schrieb:

    genauso wie Galaxy Wars, aber die hab ich ja auch bewusst nicht vorgeschlagen 😉

    hehe, erst heute entdeckt:
    http://www.allzeiteinsatzbereit.de/greg/galaxyempire/index.php

    *g* :p



  • ChrisM schrieb:

    Hi,
    @rapso: Aber theoretisch kann ich doch auch Texturen, neue Spielversionen usw. über UDP verschicken, sofern ich halt checke, dass auch alles ankommt und nach jedem Paket erst eine Bestätigung abwarte, bevor ich weitersende, oder wird das langsamer? Hab nämlich mal gehört, dass manche Betriebssysteme unter zu vielen TCP-Verbindungen zusammenbrechen, außerdem ist UDP einfacher zu programmieren (nicht dauernd select()) und zudem schneller (der Ping ist aber ja beim Download egal). 😃

    wenn du die ganzen kontrollen einbaust für udp machst du nicht anderes als tcp macht. der grund weshalb man udp für die positionen und desgleichen nimmt ist der, dass wenn etwas verloren geht, man darauf verzichten kann, bei tcp würde die ganze verbidung stocken, weil ein packet neu angefordert werden würde. das ist aber bei texturen wiederrum wichtig, dass alles ankommt.

    rapso->greets();



  • @meian: ok damit wäre der name auch raus 🙂 kannte ich noch nicht... *g*


Anmelden zum Antworten