R: Original Auflösung


2004-02-03 22:08 #1
Standardmäßig läuft Robot im Vollbildmodus ja mit einer Auflösung von 640x400.
Jetzt habe ich mal testweise die 640x480er Auflösung über das Konfigurationsmenü erzwungen
und ich muss sagen: Das Bild wirkt doch so viel feiner, oder?

Versucht mal Robot in der Standardauflösung auf nem 21"-Monitor zu spielen (19" ist auch schon kritisch), da sind die Zeilen schon so weit
auseinander, dass ich das Bild nicht mehr als durchgängig klar empfinde.

Ist das jetzt nur subjektiv oder wie empfindet ihr das?

Game-of-Robot.de

2004-02-04 06:13 #2
Sorry, aber die Physik kann ich nun einmal nicht überlisten!

Das Hauptproblem ist der vom Kathodenstrahl auf dem Schirm gezeichnete Punkt, der in der Regel einen fixen Durchmesser besitzt. Von diesen Punkten passen leicht überlappend eine gewisse Anzahl über- bzw. nebeneinander, woraus sich die maximale Auflösung des Monitors ergibt.

Wenn Du an einem Monitor spielst, der für eine hohe Auflösung gedacht ist, Du aber nur eine wesentlich geringere nutzt, gibt es nun zwei Möglichkeiten, dies zu bewerkstelligen:

Entweder man fährt mit der für den Monitor korrekten, physikalischen Auflösung und erhält ein geometrisch kleineres Bild, oder man zieht die Zeilen und Spalten auseinander, wodurch eben Lücken entstehen.

Wenn Du 640x400 bzw. 640x480 auf eine physikalische Auflösung von z.B. 1280x1024 projizierst, entstehen vertikal breitere Lücken als Linien (Verhältnis 400 bzw. 480 zu 1024).

Das kann man nur umgehen, wenn man entweder eine intelligente Grafikkarte einsetzt, welche das sogenannte Double-Scan auch für höhere Auflösungen unterstützt (gleiche Technik wie bei 320x200-Auflösung bei VGA-Karten), oder man das Double-Scan per Software durchführt (verwenden der physikalischen Auflösung und Hochzoomen um Faktor 2).

Letzteres steht auf meiner Todo-Liste für nach der Release. Dann kämen die Auflösungen von 1280x768 bzw. 1280x960 zum Einsatz, die ich bisher bei eigentlich allen Karten gesehen hab'. Natürlich muss der Monitor da auch mitmachen...😞

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 10:38 #3
Quote:
Letzteres steht auf meiner Todo-Liste für nach der Release.


Würde das dann heißen, dass Robot "lückenlos" dargestellt werden würde?
DAS WÄRE GENIAL !!

Ich denke 1280x1024 macht jeder einigermaßen aktuelle Montor mit.
Sogar mein fünf Jahre alter 19-Zöller hat damit keine Probleme...

Game-of-Robot.de

2004-02-04 13:02 #4
Quote:
Ich denke 1280x1024 macht jeder einigermaßen aktuelle Montor mit.
Sogar mein fünf Jahre alter 19-Zöller hat damit keine Probleme...

Sicher, Monitore über 18 Zoll sollten 1280x1024 beherrschen, auch die meisten mir bekannten 17 Zöllern bekommen das hin, auch wenn es dann schon etwas unscharf wirkt (Strahl zu dick, mangelhafte Bandbreite).

Nur: Bei 1280x1024 wird das Bild noch schmaler, als bei 640x480, wenn man symmetrisch zoomt! Selbst 640x400 ist ja schon ein Kompromiss, denn eigentlich bräuchte ich 640x348.
Tja, und bei asymmetrischem Zoom (2x horizontal, 3x vertikal) käme ich auf 1280x1044, es würden also zwanzig Pixel fehlen, was fast zwei Mauerhöhen entspricht.

Zoomen mit nicht integralen Faktoren sieht von der Optik mit Sicherheit dämlich aus, wenn man es durch Wiederholung ganzer Pixel-Zeilen und Reihen realisiert. Dann wird der Held beim Umherwandern 'mal breiter und dann wieder höher.
Ganz korrekt wäre es, wenn man mit Oversampling und linearer Interpolation arbeiten würde, aber damit handelt man sich wieder Unschärfe ein. Vom Performance-Bedarf einmal ganz abgesehen (da könnte man ggf. auf die Fähigkeiten moderner Grafikkarten zurückgreifen).

Die einzig zweckmässige Auflösung wäre also 1280x768, die zumindest eine meiner Karten, immerhin auch 'ne ATI, genauso wenig beherrscht, wie die nächst Höhere 1280x960.

Ist eben alles nicht so einfach, aber vielleicht muß ich das mit der Interpolation einfach 'mal ausprobieren, es ist ja nur vertikal...😉

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 13:26 #5
War ja auch als Denkanstoß gedacht. 😃

Das finde ich halt das größte Manko an alten DOS-games (abgesehen vom Sound).
Hab noch einige gute alte Games auf meiner Platte, die halt nur die DOS-Auflösung von 320x200 haben.
Auf nem 19-Zöller ist das grausam.
Da verkleiner ich das Bild schon freiwillig mit meinem Monitor.

Wie sieht's eigentlich mit einer 1152x864-Auflösung aus?
Das Problem sehe ich halt auch in den Flatscreens.
Die sind ja immer für eine bestimmte Auflösung ausgelegt
(meiner auf der Arbeit z.B. auf 1280x1024. Wenn ich da Robot im Vollbildmodus starte,
wird's unscharf ohne Ende, da er dann ja nur emuliert...

Game-of-Robot.de

2004-02-04 13:52 #6
Die 1152er Auflösung ist vor allem bei 17-Zöllern beliebt und weit verbreitet, da man eine ganze Menge auf den Schirm bekommt und dies mit einer moderaten Videobandbreite schafft.

Grundsätzlich ist alles, was nicht gerade hochskaliert werden kann, eher schlecht. 640 Punkte auf 1152 aufzublasen, ist da schon ziemlich ungünstig.

Neben der reinen Punktauflösung darf man aber auch die Seitenverhältnisse nicht außer Acht lassen. Ihr könnt ja 'mal bei der aktuellen Version den Lampenschein bei 640x400 und 640x480 vergleichen. Rund ist er eigentlich nur bei 640x480, da ich bei der Windows-Version von quadratischen Pixeln ausgehe. Diese Auflösung ist perfekt 3:2, was einem normalen Röhrenmonitor entspricht. Bei 640x400 (3,2:2) oder noch schlimmer 640x350 (ca. 3,6:2) wird diese Auflösung auf 3:2 hochgezoomt, weswegen die Pixel höher werden. Aus diesem Grund verwenden unsere Shapes auch das ungewöhliche Seitenverhältnis 16x12 Pixel, welches am Ende wieder quadratisch ist.

Mittlerweile gibt's Notebooks, die haben 1600x1024 Pixel und ein dazu passendes, breites Display. Wenn man da stur hochzoomt, wird plötzlich alles flacher. Und dann gibt's da noch die Monitore für Büro-Arbeit, die hochkant stehen, und z.B. 768x1280 haben.

Tja, und die Notebooks haben natürlich kein Wissen über den Inhalt und interpolieren ganz stur (manche kann man allerdings umschalten auf Zeilen/Spalten-Wiederholung).

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 14:36 #7
In welcher Auflösung lief den das originale DOS-Robot?
Waren das die 320x200 oder auch schon die 640x400 ?

Eine andere Möglichkeit wäre natürlich noch, wenn man einfach einen Rand lassen würde, oder?

Naja, ich sehe schon, das Thema ist komplex und ein scharfes, zeilenloses Robot
auf nem großen Monitor hinzubekommen wohl alles andere als einfach.

Naja, momentan spiel ich sowieso in der Fenster-Ansicht.

Game-of-Robot.de

2004-02-04 14:38 #8
Quote:
In welcher Auflösung lief den das originale DOS-Robot?
Waren das die 320x200 oder auch schon die 640x400 ?

Steht doch oben: 640x350 (wegen Herkules-Kompatibilität)
PC-Bakterien und Nicolausi liefen mit 320x240
Die Karotte sogar mit 360x240
Erst FlipOut nutzte die 640x480

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 14:42 #9
Aha, d.h. du interpolierst 50 Pixel?

Jetzt versteh ich, dann könntest du ja prima eine 1280x1024-Auflösung nehmen, müsstest halt 162 Pixel oben und unten mit schwarz auffüllen...

Game-of-Robot.de

2004-02-04 15:48 #10
herc
hallo andreas,
also: ihr denkt immer nur an den vollbildmodus. ich z.b. bin aber ein fan vom fenstermodus. dann gibts auch keine probleme mit dem seitenverhältniss auf 16:9 monitoren. und z.b. auf meinem laptop-bildschirm (1400x1024) würde ein robot mit simpler pixelverdopplung locker im fenstermodus raufpassen.
und die geschwindigkeit sollte auch kein problem sein, aus dem sourcecode von dosbox ( dosbox.sourceforge.net/ ) kann man sich sse / 3dnow optimierte asm - routinen für genau diese aufgabe ziehen. ich hab mir die mal angesehen, weil mich genervt hat, dass die dosbox-programmierer keinen 4x modus implementieren wollten (weil 320x200 spiele selbst im 2x modus noch zu klein sind). naja - bin aber nicht durchgestiegen durch den code.
das wär ne sache, die auf meiner persönlichen wunschliste für robot ganz weit oben steht !!
2004-02-04 16:26 #11
Ich hab nen Spruch zum Thema:

<IMG t3.htm>


🙃

Game-of-Robot.de

2004-02-04 16:36 #12
Klasse Spruch, ehrlich!

@herc: Das mit der Pixelverdoppelung ist wirklich kein Problem. Egal ob mit Hardwareunterstützung oder ohne. Solange man mit ganzzahlingen Faktoren arbeitet, funktionieren auch die normalen GDI-Funktionen hinreichend gut. Ich werde mir das für die nächste Version ebenfalls ganz oben notieren.

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 16:53 #13
Für die nächste RC-Version oder für die nächste Release-Version? 😉

Game-of-Robot.de

2004-02-04 17:11 #14
Release, also nicht vor V1.10. Wie gesagt, meine Zeitplanung hab' ich schon deutlich überzogen, und das sauber zu implementieren dauert wieder ein wenig....

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 19:52 #15
Ich hab' 'mal eben testweise eine höhere Auflösung reingefaked, um die Spekulationen ein wenig aufzulösen. Dabei benutze ich die Standard StretchDIBits-Routine, welche beim Raufzoomen keine Farbinterpolation durchführt, sondern stur pixel wiederholt.

Damit sieht das bei 640x480 so aus:

rzoom640x480.gif

Vor allem bei der Mauer, der Titelleiste und beim Sand finde ich das Ergebnis nicht wirklich berauschend. Der Rest wäre sogar akzeptabel.

Bei 1152x862 sieht es dann so aus:

rzoom1152x862.gif

Im Standbild geht das sogar noch besser, aber bei den Animationen merkt man dann schon, dass sie ein wenig schwimmen (man sieht die Unterschiede bei den Androide auch im Standbild). Und auch die Mauer bekommt einen "interessanten" Moiree-Effekt bei grossen Flächen...

Wenn man es auswählen kann, sind diese Quick&Dirty-Ergebnisse aber wohl noch immer befriedigender, als ein schmales Bild oder ein Mini-Fenster...

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-04 23:49 #16
IIIH, das sieht ja unschön aus.
Nein, da lassen wir's lieber so, wie's ist.
Wobei hercs Vorschlag find ich auch nicht schlecht!
Für mich muss das Robot-Spielfeld auch nicht zwingen ganz links und ganz rechts enden,
so wie's momentan im Vollbildmodus der Fall ist.
Hauptsache schwarf und maßstabsgetreu.
Dafür darf es gern ein wenig kleiner und nicht komplett-raumfüllend sein.

Game-of-Robot.de

2004-02-05 01:54 #17
Irgendwie überlesen, vergessen oder was auch immer...

Quote:
Aha, d.h. du interpolierst 50 Pixel?

Nein, aber bei 640x400 fallen die 25 schwarzen Pixel oben und unten nicht in's Gewicht...

Quote:
Jetzt versteh ich, dann könntest du ja prima eine 1280x1024-Auflösung nehmen, müsstest halt 162 Pixel oben und unten mit schwarz auffüllen...

Um auch einmal ganz pedantisch zu sein: (1024-2*34😎 /2 = 164, yep.
Aber wie gesagt, mit dem 2er-Zoom wird das Bild noch flacher, als bei der 640x480er Auflösung.

Quote:
IIIH, das sieht ja unschön aus.

Ist ja auch null optimiert, mit Interpolation sieht es in der Fläche wohl gleichmäßiger aus, wird aber eben ein Stück unschärfer.

Quote:
Nein, da lassen wir's lieber so, wie's ist.

Zumindest müsste es umschaltbar sein, oder auf die fixen Zoomfaktoren automatisch einrasten.

Quote:
Wobei hercs Vorschlag find ich auch nicht schlecht!

... und glatte Zoomfaktoren sind ohnehin kein Problem.

Quote:
Für mich muss das Robot-Spielfeld auch nicht zwingen ganz links und ganz rechts enden,
so wie's momentan im Vollbildmodus der Fall ist.

Das macht es ja auch nicht, zumindest nicht vertikal. 😉

Quote:
Hauptsache schwarf und maßstabsgetreu.

Maßstabsgetreu wird es automatisch, wenn es auf einem 4:3-Monitor die Fläche komplett auffüllt, egal welche Auflösung verwendet wird. Das mit der Schwärfe ( 😉 ) hängt ausschließlich vom Zoomverfahren ab. Ich kann mir aber vorstellen, dass man bei nicht linearer Interpolation auch da akzeptable Ergebnisse produzieren kann.

Eine Sache habe ich bei der Interpolation natürlich die ganze Zeit verdrängt: Die Farbtiefe. Das wäre das Ende der Palette und ich müsste zur Laufzeit das Palettenbild in RGB konvertieren (ein Lookup pro Pixel) und dann die drei Komponenten gewichtet pro Pixel interpolieren und das Ergebnis passend zum Video-Memory wieder zusammen basteln. Das kostet natürlich deutlich mehr Zeit, als eine einfache Pixel-Verdoppelung.

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de

2004-02-05 01:58 #18
Egal, unsere CPUs haben massig Rechenleistung. 😉

Probieren einfach mal alles aus, was dir einfällt,
dann können wir immernoch entscheiden....
...oder verschiedene Alternativen zur Auswahl anbieten.

Game-of-Robot.de

2004-02-05 14:47 #19
herc
hallo andreas, könntest du die gerade von dir implementierten zoom-sachen nicht erstmal in ein "advanced options" menu verstecken? so dass man das schon nutzen kann, auch wenns noch nicht perfekt ist ?
2004-02-05 14:51 #20
Ich hab's ja schon wieder ausgebaut. Damit das richtig funktioniert, muß ich erst einmal meine ganzen Update-Routinen mit skalierten Parametern versehen (ok, so viele sind es nicht). Der Fullscreen-Modus ging noch gar nicht (weil ich da nicht die höhere Auflösung verwendet hatte).
Das war in der Version absolut unspielbar, den Helden musste man teilweise blind steuern und manuell eine Screen-Refresh auslösen. Kann mir nicht vorstellen, dass Du so eine Version haben möchtest...😉

waiting www.tom-productions.de - www.tofahrn-foto.de - www.tofahrn.de