PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Resident Evil - Grafikbug kommt mir bekannt vor


Robbson
2006-01-04, 19:36:16
Hallo!
Nun hab ich es doch endlich geschafft, Resident Evil 1 unter WinXP zum Laufen zu bekommen. Das Game läßt sich per Auswahl des Rendition-Grafiktreibers starten... die scheint ja halbwegs mit nvidia kompatibel?!?
Leider kann ich keinerlei Voodoo 3DFx-Karte auswählen, denn dann bleibt das Game beim Laden hängen, obwohl ich einen Glide-Wrapper laufen habe.

Einmal abgesehen von dem Einfrieren des Games am Anfang, wenn der Zombi vor'm Ofen zusammenbricht (nur bei Jil's Variante, der Bug läßt sich wohl nicht umgehen?) stört mich ein grafischer Fehler:

Vielen Texturen im Hintergrund fehlt die Alpha-Transparenz (etwa bei Säulen, die "im Raum stehen"), weshalb sie mit hässlichen schwarzen Quadraten umgeben sind... Das kommt mir irgendwoher bekannt vor.
Vielleicht gibt es noch irgend ein Tool, wo man an den Grafiksettings des Treibers 'was verändern kann. Die aktuellen RivaTuner-Version bietet keine relevanten Einstellungen mehr und das Herabsetzen der 3D-Beschleunigung in den Grafikoptionen bringt auch nix.

Vielleicht weiß ja jemand zufällig einen Rat... Das fehlende Ausstanzen bei den Texturen dürfte doch ein brauchbarer Hinweis sein, um irgend eine Lösungsvariante zu finden.

Systemspecs: WinXP, Athlon64, GF6800, 1024MB

Grüße,
Robbson.

Meta-Ridley
2006-01-06, 18:11:01
1. Für den Zombie-Freeze am Kamin half früher zu 70 % die Herabsetzung der Prozessorgeschwindigkeit. War auch erforderlich, da das Spiel (bei mir) sonst im Turbomodus lief (Auch neben diversen Soundbugs).

2. Kenn mich zwar mit dem Stand der aktuellen Glidewrpper nicht aus (hab einen Retrorechner), aber für Resident Evil gab es einen Patch, der das Spiel mit Voodoo2-Karten kompatibel machte. Vielleicht hilft das.

3. Diese Transparenzfehler kommen durch den gewählten Grafikmodus zustande. Resident Evil bot nur Pseudotransparenz, sofern man nich auf 3dfx spielte. Versuche einige Grafikeinstellungen und auch den Software-Modus mal auf die verschiedenen Grafikprobleme zu untersuchen, sofern das mit 3dfx (optimum) nicht klappt.

Robbson
2006-01-11, 23:33:00
Hallo Meta-Ridley!

Erstmal Danke für die Antwort... is ja sonst nicht viel los hier...

Zu 1. Also bei mir läuft das Game auf meinem A64 defintiv nicht zu schnell, solche Probleme kenne ich eher von alten DOS-Games oder Emulatoren.
Yo und der Sound ist auch ok... und dennoch friert der Zombi ein (und das vor'm Kamin ;) )

Zu 2. Den Glidepatch hatte ich gleich von Anfang an drauf... das ist im Prinzip nur eine modifizierte Game-Exe... mit dem müßten sich die glide2.x Wrapper verwenden lassen, aber nix ist.... muß jedesmal den Rechner reseten, weil kein Zurückkommen auf den Desktop mehr möglich ist.

Zu 3. Ich hatte bereits sämtliche Grafikkarten durchprobiert, aber nur die mit Rendition Chipsatz funzen... und einen Software-Modus gibt es überhaupt nicht (blos nicht mit RE2 verwechseln).

Das mit der Pseudotransparenz halte ich übrigens für Unsinn... eine einfache Farbe durch den Hintergrund zu ersetzen, das konnte "schon" ein Amiga Ende der 80er. Da ist wohl eher irgend ein Treiberbug im Zusammenhang mit DirectX5 im Spiel, für den sich heute wohl kein Mensch mehr interessiert.

Inzwischen habe ich es aufgegeben... und habe die PS1 Fassung per Emulator ausprobiert... Da funzt natürlich alles ohne irgendwelche Bugs und abgesehen von den Hintergründen lassen sich die 3D Grafiken auch ordentlich aufpolieren. Im Gegensatz zur PC-Version kann man aber nur sehr beschränkt speichern und nicht beliebig oft... zum Glück kann man aber über den Emu den aktuellen "Konsolenzustand" sichern... Aber so oder so: wenn ich mir anschaue, wie PC Spiele Punkteabzug bekommen, weil man nicht zu jeder Zeit speichern kann... die sollten mal auf die Konsolengames glotzen... da regt sich niemand auf... wozu auch, schließlich wird dadurch erst Spannung erzeugt.

Naja, mal sehen bei welchem nächsten alten 3D Windows PC-Game solche Bugs auftreten...

Grüße,
Robbson.

Robbson
2006-01-11, 23:46:17
Tatatata!!!!!!! :) :)

Und das nächste Game mit dem gleichen Bug: Dino Crisis aus dem Jahre 2000, was natürlich deutlich neuer ist als Resident Evil, inkl. entsprechendem Grafikkarten Support.
Im Gegensatz zu RE1 ist das Game komplett in 3D... Aber Text und die Partikeleffekte sind 2D-Texturen (also planar zum Bildschirm) und hier funktioniert das Ausstanzen der eigentlich transparenten Farbe ebenso nicht... deshalb lassen sich viele Texte garnicht erst entziffern und das Inventar ist vor Unkenntlichkeit nicht zu gebrauchen.

Es ist also ein allgemeiner Bug mit älteren Games... das könnte doch irgend einem 3D Guru bekannt vorkommen... Na wo sind denn die ganzen "A-Tuner" und Registry-Modder? Kann mir denn keiner 'mal 'nen Tool empfehlen wo man zu Kompatibilitätszwecken Probleme solcher Art im Treiber beheben kann?

Oder Vielleicht ein wenig theoretischen Hintergrund... was hat sich denn an der 2D Darstellung von Texturen in den letzten Jahren groß geändert? Vielleicht weil niemand mehr 256-Farbtexturen verwendet oder wie?

Ich glaub ich muß das 'mal mit dem ATI-Gfx-Rechner ausprobieren, vielleicht geht's ja dort.

Grüße,
Robbson.

zeckensack
2006-01-12, 02:42:43
1)Resident Evil nutzt Direct3D. Kein Glide. Nein, auch nicht mit dem Voodoo2-Patch.

2)Der von dir beschriebene fehlende Effekt ist "Chroma Keying" (http://zeckensack.de/glide/readme.htm#chroma), was weiland von Microsoft in Direct3D5 eingeschleust wurde, weil's die Voodoo konnte, und man Feature-technisch nicht schlechter dastehen wollte als Glide. Das ändert wenig daran dass dieses Feature eine hässliche Missgeburt der Grafikgeschichte ist, und von praktisch niemandem jemals sauber unterstützt wurde. Es gibt keinen Tweak und kein Tool dafür, weil dein Treiber das einfach nicht besser kann.

3)Geforce-Karten ab der 6er-Serie haben teils große Probleme mit alten Direct3D-Spielen, dies reicht von krassen Fehldarstellungen bis hin zu Freezes, wie in deinem Fall gesehen. Darüber habe ich mich auch schon ausgiebig geärgert. Mit ATI-Karten klappt es generell besser. Mit 'ner Geforce 4Ti oder einer beliebigen GeforceFX bleiben dir wahrscheinlich zumindest die Freezes erspart.

Robbson
2006-01-12, 21:46:22
Hallo Zeckensack!
Vielen Dank erstmal für den Reply.


1)Resident Evil nutzt Direct3D. Kein Glide. Nein, auch nicht mit dem Voodoo2-Patch.


Oha, das erklärt dann wohl so einiges... Deswegen war auch nirgendswo eine Glide-Datei im Installationspaket zu finden. Dann sind die einzelnen Grafikkartenchipsätze, die im Setup zur Auswahl stehen, nur passende Optimierungskonfigurationen von Direct3D. Aber schon verwunderlich, wieso nur die "Rendition-Optimierung" überhaupt erst einen Programmstart ermöglicht.

Aber ok, dann brauch' ich halt keinen GlideWrapper, sondern einen "Direct3D-Voodoo to Direct3D nvidia" Wrapper. :)


2)Der von dir beschriebene fehlende Effekt ist "Chroma Keying" (http://zeckensack.de/glide/readme.htm#chroma), was weiland von Microsoft in Direct3D5 eingeschleust wurde, weil's die Voodoo konnte, und man Feature-technisch nicht schlechter dastehen wollte als Glide. Das ändert wenig daran dass dieses Feature eine hässliche Missgeburt der Grafikgeschichte ist, und von praktisch niemandem jemals sauber unterstützt wurde. Es gibt keinen Tweak und kein Tool dafür, weil dein Treiber das einfach nicht besser kann.


Jaja, das Chroma Keying... wieso ist mir dieser Fachbegriff nur nicht eingefallen... Schande über mein Haupt... Farbschlüssel oder Schlüsselfarbe klingt halt nicht mehr so modern. *gg

Aber wenigstens meinen wir beide ja schonmal das gleiche Prinzip, wie auch in den Bildern zu Deinem Link zu erkennen. Ja aber, wie macht man das denn bei aktuellen Games? Sag jetzt nicht Alpha Keying... etwa für halbdurchsichtige Texturen oder Gradienten an den Rändern. Würde heute denn kein Entwickler mehr auf die Idee kommen, das alte einfache und schnelle Verfahren zu verwenden, um z.B. einen 2D-Schriftzug auf dem 3D-Hintergrund auszugeben?

Da es auf älteren Karten mit älteren Treibern wohl zu funktionieren scheint, muß dieser Effekt ja schonmal einwandfrei funktioniert haben... sonst hätte sich wohl kaum ein Entwickler darauf eingelassen.

Naja und wenn es keinen Tweak gibt... kann man nicht einfach einen Wrapper basteln, um das Chroma Keying auf ein heutiges Verfahren abzubilden?
Ich schmeiß schonmal Visual Studio an... ;)


3)Geforce-Karten ab der 6er-Serie haben teils große Probleme mit alten Direct3D-Spielen, dies reicht von krassen Fehldarstellungen bis hin zu Freezes, wie in deinem Fall gesehen. Darüber habe ich mich auch schon ausgiebig geärgert. Mit ATI-Karten klappt es generell besser. Mit 'ner Geforce 4Ti oder einer beliebigen GeforceFX bleiben dir wahrscheinlich zumindest die Freezes erspart.


Hmmm... bisher waren bei älteren Games ja eher die ATI-Karten im Nachteil, in diesem Fall hab ich's noch nicht probiert. Jedenfalls fehlt den ATI-Karten für die ganz alten Klassiker (die in dosbox nicht sonderlich gut laufen) die Unterstützung für VESA2.0, weshalb sich ältere Dosgames dann nicht in einer Auflösung mit mehr als 60Hz nutzen lassen.

Grüße,
Robbson.

zeckensack
2006-01-13, 19:27:23
Oha, das erklärt dann wohl so einiges... Deswegen war auch nirgendswo eine Glide-Datei im Installationspaket zu finden. Dann sind die einzelnen Grafikkartenchipsätze, die im Setup zur Auswahl stehen, nur passende Optimierungskonfigurationen von Direct3D.Genau.Aber schon verwunderlich, wieso nur die "Rendition-Optimierung" überhaupt erst einen Programmstart ermöglicht.Wahrscheinlich weil die Features der Rendition V2200 sich am ehesten mit denen der moderneren Karten überschneiden.
(dh wahrscheinlich dass sie am wenigsten "komische" Features unterstützt, und das Spiel mit der Konfiguration dann nicht so sehr auf Feature-Altlasten angewiesen ist)
Jaja, das Chroma Keying... wieso ist mir dieser Fachbegriff nur nicht eingefallen... Schande über mein Haupt... Farbschlüssel oder Schlüsselfarbe klingt halt nicht mehr so modern. *gg

Aber wenigstens meinen wir beide ja schonmal das gleiche Prinzip, wie auch in den Bildern zu Deinem Link zu erkennen. Ja aber, wie macht man das denn bei aktuellen Games? Sag jetzt nicht Alpha Keying... etwa für halbdurchsichtige Texturen oder Gradienten an den Rändern.Jein.
Chroma Keying erklärt eine bestimmte Farbe zu Transparenz.
Man kann Transparenz aber auch direkt (pro Texel) speichern, indem man der Textur einen Alpha-Kanal gibt. Auf die weise kriegt man auch Zwischenstufen, und man kann vernünftig filtern.

CK ist einfach ein ganz brutaler Hack, und sein einziger Zweck besteht darin Texturspeicher zu sparen (von dem die Voodoos nicht viel hatten, und sie konnten ihn auch nicht über AGP-Mechanismen künstlich aufblasen, weil es AGP damals noch nicht gab).
Würde heute denn kein Entwickler mehr auf die Idee kommen, das alte einfache und schnelle Verfahren zu verwenden, um z.B. einen 2D-Schriftzug auf dem 3D-Hintergrund auszugeben?Entwickler kommen auf viele Ideen, aber jemand der heute noch Chroma Keying verwenden will, gehört mehrere Tage lang ausgepeitscht.
Das Verfahren ist auch eigentlich nicht "einfach und schnell". Für CK tauscht man Logiktransistoren gegen Speichermenge, und handelt sich nebenher noch ätzende Probleme ein (Flexibilität; Funktion: Gleichheit von zwei Farben auswerten, insbesondere bei gefilterten Texturen, insbesondere bei hoher interner Rechenpräzision ist ein pures Glücksspiel).
Da es auf älteren Karten mit älteren Treibern wohl zu funktionieren scheint, muß dieser Effekt ja schonmal einwandfrei funktioniert haben... sonst hätte sich wohl kaum ein Entwickler darauf eingelassen.Es funktioniert auf Voodoo-Karten, denn diese haben dafür Hardware-Support. Alle anderen Karten nicht. Dort sind dann mehr oder weniger üble Hacks in den Treibern, um ein paar "übliche" Anwendungsfälle zu unterstützen, aber wie du siehst funktioniert das nicht universell zufriedenstellend.
Naja und wenn es keinen Tweak gibt... kann man nicht einfach einen Wrapper basteln, um das Chroma Keying auf ein heutiges Verfahren abzubilden?
Ich schmeiß schonmal Visual Studio an... ;)Du müsstest schon die komplette Direct3D-API wrappen, was sicher kein kleines Wochenendprojekt mehr sein wird, und außerdem wäre mir die Nummer rechtlich zu unsicher. Direct3D ist der einzige Grund warum man Windows zum Spielen braucht, und nimmt man diesen Grund weg, wird sich Microsoft sicher stark aufregen.

Im Grunde tut's mir um jedes Spiel leid dass Direct3D5 oder Direct3D6 verwendet, denn die laufen in der Mehrzahl einfach nicht mehr vernünftig. Glide-Spiele aus dem gleichen Zeitraum dagegen laufen immer noch, nicht zuletzt weil Autoren von Glide-Wrappern von NVIDIA völlig in Ruhe gelassen werden, und OpenGL-Spiele sowieso.
Hmmm... bisher waren bei älteren Games ja eher die ATI-Karten im Nachteil, in diesem Fall hab ich's noch nicht probiert. Jedenfalls fehlt den ATI-Karten für die ganz alten Klassiker (die in dosbox nicht sonderlich gut laufen) die Unterstützung für VESA2.0, weshalb sich ältere Dosgames dann nicht in einer Auflösung mit mehr als 60Hz nutzen lassen.Meinst du nicht VESA 3.0?
VESA 2 haben IMO auch die aktuellen Karten, und das reicht zumindest zum Spielen. VESA 3 brachte IIRC die Kontrolle der Refresh-Raten.

Mr. Lolman
2006-01-13, 19:49:09
CK gabs ja sogar schon in Duke Nukem3d. Und ich fands gut, dass es die Voodookarten unterstützt haben. ZB. Unreal wär in der Form, zu der Zeit, sonst nie möglich gewesen.

zeckensack
2006-01-13, 20:29:50
CK gabs ja sogar schon in Duke Nukem3d. Und ich fands gut, dass es die Voodookarten unterstützt haben. ZB. Unreal wär in der Form, zu der Zeit, sonst nie möglich gewesen.DN3D nutzte (bei Erscheinen) einen Software-Renderer, da war's sowieso egal. Texturfilter und vernünftige Transparenz (wofür ein Alpha-Kanal praktisch geworden wäre) bot die Engine erst recht nicht, wäre wohl auch zu teuer gewesen.

Unreal nutzt kein Chroma Keying.

dmxfighter
2006-01-22, 14:45:12
Hallo!
Nun hab ich es doch endlich geschafft, Resident Evil 1 unter WinXP zum Laufen zu bekommen. Das Game läßt sich per Auswahl des Rendition-Grafiktreibers starten... die scheint ja halbwegs mit nvidia kompatibel?!?
Leider kann ich keinerlei Voodoo 3DFx-Karte auswählen, denn dann bleibt das Game beim Laden hängen, obwohl ich einen Glide-Wrapper laufen habe.

Einmal abgesehen von dem Einfrieren des Games am Anfang, wenn der Zombi vor'm Ofen zusammenbricht (nur bei Jil's Variante, der Bug läßt sich wohl nicht umgehen?) stört mich ein grafischer Fehler:

Vielen Texturen im Hintergrund fehlt die Alpha-Transparenz (etwa bei Säulen, die "im Raum stehen"), weshalb sie mit hässlichen schwarzen Quadraten umgeben sind... Das kommt mir irgendwoher bekannt vor.
Vielleicht gibt es noch irgend ein Tool, wo man an den Grafiksettings des Treibers 'was verändern kann. Die aktuellen RivaTuner-Version bietet keine relevanten Einstellungen mehr und das Herabsetzen der 3D-Beschleunigung in den Grafikoptionen bringt auch nix.

Vielleicht weiß ja jemand zufällig einen Rat... Das fehlende Ausstanzen bei den Texturen dürfte doch ein brauchbarer Hinweis sein, um irgend eine Lösungsvariante zu finden.

Systemspecs: WinXP, Athlon64, GF6800, 1024MB

Grüße,
Robbson.



Klasse probiere es mal direkt aus :biggrin: