Hallo Besucher, der Thread wurde 9,2k mal aufgerufen und enthält 49 Antworten

letzter Beitrag von Goldrider am

Welcher Version von ELITE ist die beste ?

  • Ob man mit dem Wissen von heute eine grundlegend bessere Version programmieren könnte? Also mit besserer 3D Darstellung.

    Habe ja mal ein Projekt in dieser Hinsicht gestartet (allerdings nicht basierend auf Elite, sondern auf einer selbstentwickelten Engine), bin nur leider nicht mehr fertig geworden. Das Programm unterstützte auch das TC64, die SuperCPU und den C128 als Beschleuniger.
    Was das Anpassen von Elite anbelangt, so habe ich leider nur den disassemblierten Code der AppleII-Version vorliegen, mit der ich schon reichlich Schabernack getrieben habe. (Die AppleII-Version verwendet nur 48kb, so daß beim Apple//e reichlich Speicher bleibt für Erweiterungen.) Ein sinnvoller Patch ist es ja, das Zeichnen des Planetenrings nur dann vorzunehmen, wenn auch eine Änderung in Größe und Position eingetreten ist, da dadurch das Flackern stark reduziert und zusätzlich Rechenzeit eingespart wird, was sich gerade beim Anflug auf den Planeten positiv auswirkt. (Außerdem kann man dann eine echte Kreisroutine verwenden anstelle der angenäherten Linien.)

  • Naja ich dachte da eher an eine Version für Vanilla C64 aber halt etwas hübscher und Benutzerfreundlicher z.b. Einer Cockpit Grafik und evtl. eine Icon basierte Menü Führung fürs verkaufen und kaufen ect. wie bei der Amida Version.
    Auch das anzeigen der Directory im Load/save menü, oder zumindes der letzen paar savegames wäre klasse.

  • Naja ich dachte da eher an eine Version für Vanilla C64 aber halt etwas hübscher und Benutzerfreundlicher

    Mein Projekt war durchaus für den Vanilla C64 gedacht. ;) Rein theoretisch könnte man Elite ähnlich wie beim Amiga aufhübschen. "Space Rogue" hat genau das gemacht: gefüllte Polygone, netteres Cockpit, an Rollenspiele angelehnte Begehung der Stationen usw. Dafür allerdings muß das Spiel auch öfters lange nachladen. So gibt es für den Flug ein eigenes Modul, für die Systemkarte, für die Station etc. Der Grund dafür ist, daß 64KB einfach nicht genug sind, um schicke, umfangreiche Menüs gleichzeitig im Speicher zu halten, besonders dann nicht, wenn man für ein Polygonfüllen oder überhaupt zur Unterdrückung von Flimmern ein Double-Buffering mit zwei Bitmaps verwenden will.
    "Elite" hingegen hat spieltechnisch gesehen ein Problem (, mit dem ich auch zu kämpfen hatte): In "Elite" passieren alle Ereignisse gleichzeitig, d. h. man guckt sich gerade die aktuellen Marktpreise für das System an, und draußen toben die Thargoiden herum. Anders bei "Space Rogue": Hier wird die 3d-Berechnung jedes Mal komplett angehalten, wenn man sich Informationen über das System oder das eigene Schiff anguckt.
    Man kann jetzt hingehen und sagen: Okay, es gibt ein Grundsystem, das permanent im Speicher vorhanden ist, und die verschiedenen Menüs werden gesondert geladen. Leider ist genau dieses Grundsystem aber schon der allergrößte Teil des Programms, denn es besteht aus den mathematischen Routinen (die Objekte sollen ja weiter im Weltaum fliegen, auch wenn sie nicht gemalt werden), den Graphikroutinen (die Menüs müssen auch gemalt werden, und eine lokale Karte braucht z. B. die Kreisroutine zum Zeichnen der maximalen Sprungweite), den Objektdaten (die Objektdaten enthalten nicht nur die Malinformationen, sondern zusätzliche Angaben wie Typ, Name, Ausmaße, Bewaffnung etc) usw. Tatsächlich ist der Programmcode für die einzelnen Menüs gar nicht so groß, so daß eine Modularisierung des gesamten Codes nur anhand der Menüs nicht viel bringt. Würde man den Kompromiss machen und sagen: Während der Spieler sich die lokale Karte, Marktpreise etc anguckt, wird das Spiel solange angehalten, wäre es möglich, denn dann könnte man diese Menüs in einem Modul zusammenfassen (analog zu "Space Rogue") und mit den Routinen fürs Malen und Navigieren der Objekte swappen. Aber ob das noch "Elite" wäre, ist dann eine andere Frage.


    (Gerade erst gelesen)

    sondern mit Sprites oder so, wie bei Wing Commander

    Sprites bringen leider gar nichts. Zum einen sind sie in der Größe viel zu sehr beschränkt. Ein dichtes Heranfliegen an eine Station wäre damit nicht möglich. Dann gibt es auch nicht genug Sprites, um wirklich alle Objekte darstellen zu können. Zuletzt ist der Aufwand, in verschiedene Sprites zu malen, letztendlich größer, als auf eine gemeinsame Bitmap zu zeichnen. Was "Wing Commander" anbelangt, weiß ich nicht, welche Version Du meinst, aber "Wing Commander" auf dem Amiga war Bitmapgraphik, denn die Shapes wurden ja auch noch rotiert. Diese Rotation ist übrigens sehr rechenintensiv, da hierbei alle Pixel einzeln gesetzt werden müssen, während beim Polygonfüllen schnelle Malroutinen die Bytes (d. h. 4 Multicolourpixel auf einmal) direkt in den Speicher schreiben.

  • Ich kannte Space Rogue bis eben gar nicht. Hab mir schnell ein Youtube Video davon angesehen und optisch ist das so ziemlich der Style den ich mir für ein neu aufgelegtes Elite Wünschen würde. Da wäre mir sogar egal, wenn für die Menüs das Game angehalten werden und nachgeladen werden würde, so lange das Nachladen in erträglichen längen bleibt.
    Würde man das ganze für Modul konzipieren, denke ich das es mit dem nachladen recht fix gehen könnte. Zumindest sind die "ladezeiten" von Sams Journey extrem beeindruckend, sogar von Diskette.
    Ein Elite mit gefüllten Polygonen auf dem C64 wäre auf jeden Fall eine Hammer Sache *Träum*