2 Punkte von GN⁺ 2025-01-01 | 1 Kommentare | Auf WhatsApp teilen
  • dca3-game ist eine von The Gang erstellte Portierung von GTA III/VC für die Dreamcast, ein Projekt, das Rockstar-Open-World-Spiele auf einer alten Konsole zum Laufen bringen will
  • Die Portierung basiert auf re3, dem vollständig rückentwickelten Quellcode von GTA III/VC, und nutzt KallistiOS als Dreamcast-Entwicklungsumgebung
  • Zum Erstellen einer CDI wird eine installierte Version von Grand Theft Auto III oder Grand Theft Auto: Vice City benötigt; als getestet gilt Grand Theft Auto: The Trilogy
  • Der empfohlene Weg ist Google Notebook; die manuelle Methode erfordert DreamSDK r3 und git-scm und ist für Gelegenheitsnutzer nicht geeignet
  • In Emulatoren sollte die Option trails deaktiviert werden, um ein weißes Overlay zu vermeiden; 24 bpp und Anti Aliasing bleiben experimentelle Einstellungen

Charakter von dca3-game

  • dca3 ist eine Portierung von GTA III/VC für die Dreamcast
  • Es wurde von The Gang erstellt und basiert auf re3
  • re3 ist der vollständig rückentwickelte Quellcode von GTA III/VC
  • Das Projekt wurde von Stefanos Kornilios Mitsis Poiitidis gestartet und verwendet KallistiOS

CDI-Erstellung: Google Notebook empfohlen

  • Die CDI-Erstellung über Google Notebook ist der empfohlene Weg
  • Eine installierte Version von Grand Theft Auto III oder Grand Theft Auto: Vice City wird benötigt
  • Die getestete und funktionierende Version ist Grand Theft Auto: The Trilogy
  • Den Anweisungen für GTA III folgt man im Google Colab-Notebook
  • Den Anweisungen für GTA:VC folgt man im Google Colab-Notebook

CDI-Erstellung: Manuelle Methode

  • Die manuelle Methode wird Gelegenheitsnutzern nicht empfohlen
  • Eine installierte Version von Grand Theft Auto III oder Grand Theft Auto: Vice City wird benötigt
  • Manche Versionen funktionieren möglicherweise nicht; es gab Fälle mit einer beschädigten d4_gta.mp3
  • Es wird eine Originalkopie ohne beschädigte Dateien benötigt, sonst funktioniert der Vorgang nicht
  • Benötigte Werkzeuge:
  • Das Repository wird in der DreamSDK-Shell mit git clone --branch beta https://gitlab.com/skmp/dca3-game.git geklont

GTA III bauen: liberty

  • Den Ordner liberty erstellen und die GTA-III-Dateien hineinkopieren
    • Bei Verwendung der 2-CD-ROM-Version muss auch der Inhalt der Play-Disc in denselben Ordner kopiert werden
  • Aus dem Beta-Release das liberty prebuilt elf herunterladen und dca-liberty.elf in den Ordner dreamcast entpacken
  • Die CDI für GD-EMU wird mit make cdi-prebuilt erzeugt
    • Die Bearbeitungszeit beträgt etwa 5–15 Minuten
    • Wegen eines DreamSDK-Problems wird der erste Durchlauf möglicherweise nicht vollständig abgeschlossen; derselbe Befehl muss dann erneut ausgeführt werden
    • Nach Abschluss wird dca-liberty.cdi erzeugt und ist etwa 900MB groß
  • Die CDI zum Brennen auf CD-ROM wird mit make FOR_DISC=1 cdi-prebuilt erzeugt
    • Die Abschlussmeldung lautet *** CDI Baked Successfully***
    • Die Ergebnisdatei sollte etwa 700MB oder 260MB groß sein
    • Wenn die Größe nicht stimmt, rm -rf repack-data ausführen und diesen Schritt von Anfang an wiederholen

GTA Vice City bauen: miami

  • Den Ordner miami erstellen und die GTA:VC-Dateien hineinkopieren
  • Aus dem Beta-Release das miami prebuilt elf herunterladen und dca-miami.elf in den Ordner dreamcast entpacken
  • Die CDI für GD-EMU wird mit FOR_DISC=2 make cdi-prebuilt erzeugt
    • Die Bearbeitungszeit beträgt etwa 5–15 Minuten
    • Wegen eines DreamSDK-Problems wird der erste Durchlauf möglicherweise nicht vollständig abgeschlossen
    • Es kann nötig sein, das DreamShell-Fenster einige Male zu schließen und den Vorgang neu zu starten
    • Nach Abschluss wird dca-miami.cdi erzeugt und ist etwa 1.5GB groß
  • Die CDI zum Brennen auf CD-ROM wird mit make FOR_DISC=1 cdi-prebuilt erzeugt
    • Die Abschlussmeldung lautet *** Repack Completed Successfully***
    • Die Ergebnisdatei ist etwa 700MB oder 550MB groß

Ausführung und Grafikeinstellungen

  • Beim Ausführen im Emulator sollte in den Grafikeinstellungen die Option trails deaktiviert werden
    • Wenn trails aktiviert ist, kann über dem 3D-Rendering ein weißes Overlay erscheinen
  • In den Grafikeinstellungen gibt es zwei experimentelle Modi
    • 24 bpp: 640x480x24
    • Anti Aliasing
  • Bei HDMI- oder VGA-Ausgabe wird empfohlen, den 24-bpp-Modus zu aktivieren
    • Auch dann sollte der trails-Effekt deaktiviert werden
  • Anti Aliasing funktioniert mit oder ohne trails
    • Bei aktiviertem trails ist der Leistungseinfluss größer
  • Wenn 24 bpp oder Anti Aliasing aktiviert wird, kann in schweren Szenen ein Teil der Geometrie fehlen
    • Im AA-Modus ist das wahrscheinlicher
    • Beide Modi können zusammen verwendet werden

Fehlerberichte und Lizenz

  • Beim Melden von Problemen Fotos von TV/Monitor und VMU machen, dann ein neues Issue eröffnen und das Problem beschreiben
  • Der Code darf nur für Bildung, Dokumentation und Modding-Zwecke verwendet werden
  • Die Nutzung von Raubkopien oder kommerzielle Nutzung wird nicht empfohlen
  • Abgeleitete Arbeiten müssen Open Source bleiben und eine angemessene Quellenangabe enthalten

1 Kommentare

 
GN⁺ 2025-01-01
Hacker-News-Kommentare
  • Es wäre wohl gut, eine Kopie des Quellcodes irgendwo zu sichern, bevor Rockstars Copyright-Abteilung das Projekt wieder entfernt, wie damals bei re3.
    https://news.ycombinator.com/item?id=28402640
    https://news.ycombinator.com/item?id=26199879

    • re3 ist zumindest in irgendeiner Form wieder online verfügbar.
      https://github.com/halpz/re3/
    • Die re3-Engine braucht zum Ausführen ohnehin eine Kopie des Spiels, daher ist schwer nachzuvollziehen, warum man so weit gehen würde, sie entfernen zu lassen.
    • RE3 ist das Ergebnis von Reverse Engineering: Ausgehend vom ursprünglichen Code und der Logik wurde eine ABI-kompatible Implementierung abgeleitet.
      Dieser Bereich war schon immer eine Grauzone oder offen nahe an der Illegalität; genau deshalb wurde bei Compaq 1982 der BIOS-Code im Clean-Room-Verfahren erstellt.
      Bei solchen Beschwerden verdrehe ich immer die Augen. Wenn man wie OpenRA eine Clean-Room-Implementierung macht, ist man rechtlich ziemlich gut abgesichert; nutzt man dagegen fremdes geistiges Eigentum, wird es in dem Moment, in dem es genug Aufmerksamkeit bekommt, leicht abgeschaltet.
  • Ich wünschte, die Dreamcast hätte länger durchgehalten. Viele Leute haben unterschätzt, wie großartig diese Konsole war.
    Allerdings lag das meiner Meinung nach auch stark daran, dass Sega das System nicht aggressiver vorangetrieben hat. Ich finde, die Hardware war der PS2 aus demselben Jahr deutlich überlegen, und Sega hat wohl auch nicht ausreichend berücksichtigt, wie teuer die Dreamcast im Vergleich zur Konkurrenz war.
    Letztlich hat natürlich die XBOX ihr Schicksal besiegelt.

    • Die PS2 kam in Japan mehr als ein Jahr später heraus und in Nordamerika ein paar Monate nach der DC, lag aber in der Weihnachtszeit und war damit praktisch ein Release im folgenden Jahr. Trotzdem hat schon allein die Ankündigung den Start der DC stark geschwächt.
      Ich mag die Dreamcast wirklich sehr, habe mehrere Exemplare, habe früher mit KallistiOS darauf herumgehackt, und persönlich bedeutet sie mir viel mehr als die PS2, aber dass ihre Hardware überwältigend überlegen gewesen sei, stimmt einfach nicht.
      Die GPU hatte interessante Features, und VRAM sowie Hardware-Texturkompression waren gut, sodass die Bildqualität besser war, aber bei den meisten wichtigeren Kennzahlen wie Geometrieverarbeitung, Beleuchtung und Fillrate lag sie hinten, und damals nutzten die meisten ohnehin keinen VGA-Ausgang.
      Die „Emotion Engine“ war im Vergleich zur eleganten Struktur des SH-4, das einfach an PowerVR und AICA angebunden war, sicher umständlicher, konnte aber bei reiner Floating-Point-/SIMD-Geometrieverarbeitung und DMA mehr Leistung herausholen. Die Einfachheit der Architektur war für die meisten Spieler nicht wichtig.
      Einige frühe Titel sahen wegen der schwierigen Hardware-Ausnutzung miserabel aus, aber wenn man die Lebensdauer der PS2 und die späten Spiele betrachtet, besonders von Konami, hat sie die Fähigkeiten der DC recht deutlich übertroffen. DVD war objektiv auch besser als GD-ROM und taugte zusätzlich als Filmplayer.
      Die Xbox kam erst heraus, nachdem Sega die Dreamcast bereits eingestellt hatte, also war ihr Schicksal schon vorher besiegelt.
      Sony hat die Leistung der PS2 zwar übertrieben dargestellt, aber sie hatte ein DVD-Laufwerk, die Grafik wurde besser, nachdem sich die Entwickler eingearbeitet hatten, und sie hatte stärkere Franchises sowie mehr Top-Titel. Die Dreamcast setzte zu stark auf Arcade-Portierungen.
      In einem Markt, in dem der Gewinner alles bekommt, hat die Dreamcast das voll abbekommen; wäre sie 1998 mit einer größeren Spielebibliothek erschienen, hätte sie vielleicht genug Anlauf gehabt, um durchzuhalten.
    • Die PS2 hatte DVD-Wiedergabe, Unterstützung riesiger populärer Franchises und die sehr positive Resonanz auf die PS1.
      Wie sie bei der reinen Leistung genau gegen die Dreamcast abschneidet, weiß ich nicht, aber verglichen mit GameCube und Xbox lag die PS2 in dieser Hinsicht klar hinten. Letztlich spielte das wegen der Spiele und der DVD-Wiedergabe aber keine Rolle.
    • Die Xbox erschien lange nachdem die DC bereits eingestellt worden war. Außerdem waren einige Personen, die an der DC beteiligt waren, auch an der Xbox beteiligt.
      In gewisser Weise wirkt die Xbox wie eine Dreamcast 2.
    • Ich frage mich, inwiefern die Dreamcast-Hardware so deutlich überlegen gewesen sein soll. Soweit ich mich erinnere, war die CPU langsamer, die GPU langsamer und der Speicher geringer.
    • Der Einführungspreis der Dreamcast im September 1999 lag auf dem US-Markt bei 199 Dollar.
      Der Einführungspreis der PlayStation 2 im März 2000 lag auf dem US-Markt bei 299 Dollar.
      https://en.wikipedia.org/wiki/Dreamcast
      https://en.wikipedia.org/wiki/PlayStation_2
      Die Dreamcast war also deutlich günstiger als die PlayStation 2. Ich weiß nicht, ob eigentlich gemeint war, dass sie günstiger war, nicht teurer, oder ob mir irgendein Detail entgangen ist.
  • Lesenswert: die Entwicklungsgeschichte der GTA-Trilogie und von IV [0]

    Der erste Prototyp von gta3 lief auf der Dreamcast. Wir hatten alle eine Dreamcast und spielten Phantasy Star Online. Aber als die Dreamcast gegen die Playstation 2 verlor, hielt sie nicht lange durch, und wir wechselten die Plattform.
    [0] https://web.archive.org/web/20231120194646/https://insideroc...

  • Screenshots gibt es hier
    https://dca3.net/screenshots/

    • Ja, sieht genau nach GTA3-Screenshots aus.
  • Unabhängig davon ist gerade ein cooles 3D-Sonic-Spiel für den Sega 32X erschienen. Es ist eine Portierung von „Sonic Robo Blast 2“, das auf Doom basiert.

    • Den Namen habe ich wirklich schon ewig nicht mehr gehört. Dürften ungefähr 20 Jahre sein.
  • Modern Vintage Gamer hat ein großartiges Video zu diesem Release veröffentlicht und es praktisch als den beeindruckendsten Port bezeichnet, den er je gesehen hat
    https://www.youtube.com/watch?v=6MFN7QiF83M

  • Retro-Computing ist wirklich großartig. Es stellt die Vorstellung von „veralteten Konsolen“ völlig auf den Kopf
    Sie verlieren nicht einfach an Wert, weil es bessere Alternativen gibt, sondern werden zu dauerhaft unveränderlichen Computern, auf die Entwickler abzielen können
    Die produzierten Konsolen werden vermutlich noch sehr viel länger durchhalten. Mein N64 läuft jedenfalls immer noch einwandfrei und mit einem Everdrive starte ich neue ROM-Hacks
    Selbst wenn irgendwann sämtliche Hardware ausfällt, werden Emulatoren diese Architektur in unveränderter Form bewahren und weiterbestehen lassen
    Früher habe ich mich gefragt, „warum sollte man neue Software für alte Konsolen entwickeln“, aber aus dieser Perspektive wirkt es mindestens genauso interessant wie Software für moderne Hardware zu schreiben, wenn nicht sogar interessanter

    • Stimme völlig zu, und noch einen Schritt weitergehend würde ich sagen, dass alte Konsolen und Computer die einzigen virtuellen Maschinen sind, die wirklich lange überleben werden
      Falls wir in 500 Jahren noch existieren, halte ich es für wahrscheinlicher, dass Code für das NES noch ausführbar ist als Code, der auf heutige Browser, .NET oder die JVM abzielt
      Konkurrierende virtuelle Maschinen sind zwar gut dokumentiert, aber extrem komplex, und Code darauf hängt oft vom sonderbaren Verhalten aktueller Betriebssysteme, Browser oder sogar Hardware ab
      Außerdem ist die Retro-Hardware selbst die ultimative Dokumentation. Heute kann man mit zugänglicher Ausrüstung in jeden Chip hineinschauen und per Software oder FPGA perfekte Nachbildungen erstellen. Dagegen können sich in die Dokumentation virtueller Maschinen Ungenauigkeiten einschleichen
      Meine heutige Science-Fiction-Prognose lautet daher, dass nur Software, die auf relativ einfache Architekturen zielt, die Zeit überdauern wird
    • Hardware geht mit der Zeit kaputt, vermutlich wegen Dingen wie auslaufenden Kondensatoren
      Enthusiasten und Reparaturwerkstätten können manches noch eine Weile am Leben halten, und Firmen wie PCBWay könnten Ersatzteile herstellen
      Ich stimme aber sehr zu, dass Emulatoren wichtig sind, weil sie es ermöglichen, solche Dinge weiter zu erleben, wenn die Hardware unpraktisch geworden ist
      Außerdem kann man ohne Umzüge oder Versand unglaublich viele verschiedene Spiele ausprobieren. FPGA-Lösungen würde ich auch gern einmal testen, besonders wenn sie Save States unterstützen
    • Die Dreamcast wird wohl noch lange bleiben, aber die Zeit, in der man Spiele von optischen Datenträgern spielt, wird nicht ewig andauern
      Die Dreamcast nutzte ein Format mit doppelter Dichte des Yellow-Book-Standards, und als mein Laufwerk kaputtging, war der Umstieg auf eine Flash-basierte Lösung deutlich günstiger als ein Ersatzlaufwerk zu kaufen
    • Soweit ich das begrenzt verstehe, hatte die Dreamcast eine der einfachsten Architekturen ihrer Generation. Sega hatte offenbar aus dem Saturn-Monstrum gelernt, daher war sie wahrscheinlich ein gutes Ziel für Homebrew
      Die GPU war zudem ein frühes PowerVR-Design, sodass man vielleicht eher Wissen über moderne mobile GPUs nutzen kann, statt auf die proprietären Architekturen von GameCube oder PS2 zielen zu müssen
      Natürlich war die erste XBox im Grunde ein PC, daher waren Ports von PC-Spielen dort sicher einfacher, was sie für diese Diskussion weniger passend macht
    • Auch Leute, die Retro-Geräte hardwareseitig in eine „modernere“ Form umbauen, sind ziemlich beeindruckend
      Dieser Verrückte hat eine tragbare PS4 gebaut: https://youtu.be/bJSLscnFd_M
  • Ich frage mich, ob GTA III ursprünglich so programmiert wurde, dass es mit der Dreamcast kompatibel ist und nur noch lose Enden verbunden werden mussten, oder ob jemand große Teile der Engine, vielleicht sogar alles, neu geschrieben hat, damit es Dreamcast-kompatibel wird

    • Eher Letzteres. Ich habe die Entwicklung verfolgt, und einer der verwendeten Tricks war, die Modellgeometrie von einer Triangle List in einen für PowerVR besser geeigneten Triangle Strip umzuwandeln
      Dadurch konnten Dreiecke schneller an die Hardware geschickt werden, und die Framerate stieg entsprechend
      https://x.com/falco_girgis/status/1821266502412075174?lang=e...
      Übrigens ist Falco ziemlich witzig. Er schreibt über Dreamcast-Themen oft so, als würden die Konsolenkriege dieser Generation gerade jetzt stattfinden
    • Es ist ein Engine-Port aus dem Decompile-Projekt RE3. Damit es läuft, musste eine Menge geändert werden
    • Es hilft auch, dass GTA III mit der bekannten Spiele-Engine RenderWare entwickelt wurde
  • Das ist ein Video, das auf Dreamcast-Hardware läuft
    https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP

  • Gibt es Gameplay-Aufnahmen, die auf echter Hardware gemacht wurden?