Emulation VS. Original

  • Nachdem das Thema schon des Öfteren, meist als OT, diskutiert wurde, frage ich mich, ob es irgendwelche harten Fakten zu dem Thema gibt. Natürlich kann man in MAME Pause drücken, den Joystick bewegen, und schauen nach wie vielen Frames die Reaktion erfolgt. Jedoch ist ungewiss, ob die Originalhardware nicht ähnlich reagieren würde und diese hat leider keine Pause- und nächster Frame-Taste zum Testen.


    Sollte es eine Testreihe des Fraunhofer-Instituts geben: Bitte hier posten ;)

  • Grade im Bemu und Shmup Genre gibt es etliche Spiele die in bestimmten Situationen dem Spieler ein Zeitfenster von 1-4 Frames für die Eingabe geben. Street Fighter III 3rd Strike ist ein schönes Beispiel. Mit Dudley gibt es verschiedene Möglichkeiten eine Combo auszuführen. Sein Super "Rolling Thunder" hat nur eine Startzeit von einem Frame, dadurch ist es möglich den Super auszuführen, während ein anderer Move noch nicht vollständig beendet ist. Es entsteht eine Kette.


    Das Zeitfenster sieht wie folgt aus;


    Input Light Punch;
    3 Frames - Start
    1 Frames - Active
    6 Frames - Recover


    Durch einen einen Light Punch wird ein gegner für 3 Frames "stunned" und ist handlungsunfähig. Desweiteren kann nach einem erfolgreichen Hit die Zeit für den Recover halbiert werden auf 3.


    Frame 0 - << Input Light Kick >>
    Frame 1 - Start
    Frame 2 - Start
    Frame 3 - Start
    Frame 4 - Active / Hit << Input Rolling Thunder >>
    Frame 5 - Recover / Stunned << Input Rolling Thunder >>
    Frame 6 - Recover / Stunned << Input Rolling Thunder >>
    Frame 7 - Recover / Stunned << Input Rolling Thunder >>
    Frame 8 - Start / Return
    Frame 9 - Active / Hit




    Das ist z.B. etwas was in Mame nahe zu unmöglich ist! Selbst die Dreamcast Version tut sich damit noch schwer... Ich glaube "Arcadeperfect" ist tatsächlich erst die Xbox360 bzw. PS3 Fassung.

  • das individuelle gefühl machts doch aus.
    ich werde sobald ich alles fertig habe pcbs gegen shmupmame mit 120hz filmen wobei das controlpanel mit dem ipac verbunden ist , dieses mit dem pc und jamma gleichzeitig.


    zuerst kam die emulation.
    dann bildausgabe (soft15avga), jetzt gets an die lags (was auch immer dafür geopfert wird wenn mans nicht sieht oder fühlt (buffer falsch emuliert). das ist der bisher beste weg würde ich sagen.
    das perfekte timing kann ja später kommen mit dem sound usw.
    es sollte sich einfach endlich echter anfühlen beim spielen.


    schöns habens die, mit ihren 16:9 lcd horizontal ausgerichtet hlsl noncabmame, vertikalspiel spielenden die doch damit zufrieden sind und ihr glück erleben.


    Gesendet von meinem GT-I9300 mit Tapatalk 2

  • Einen wirklich beweisbaren Unterschied kann ich nicht liefern, da ich Mame nicht benutze. Hier ein paar Analogien (von analog :)) weshalb:


    - MP3-Datei vs. Schallplatte im Regal, der Sound des Plattenspielers, der Akt des Platte aus der Hülle-Nehmens
    - Comic-Online-Book vs. die signierte Erstausgabe im Regal, das Aufklappen und Umblättern der Seiten
    - Online-Book vs. eine in Leder gebundene Gesamtausgabe, der Geruch des Papiers, das leichte Vergilben
    - Desktophintergrund vs. im Museum einen Caspar David Friedrich anschauen und die Größe des Bildes, den alten Rahmen, den Farbauftrag etc. bewundern
    - Avi-Datei vs. Super 8-Filmrolle, dazu das Rauschen des Projektors, die Staubflecken


    Und wer jetzt ankommt und meint das Meiste davon könne man schon emulieren, der kann gerne herkommen, dann tragen wir das wie Männer aus.

  • Andreas: Herrje, nun weiß ich, warum ich kein Beat ’em Up Spieler bin ;)
    Jedenfalls ist das ein ausführliches und interessantes Beispiel zum Versagen der Emulation.


    MrMikeCH: Der Filmvergleich würde mich sehr interessieren.
    Nicht, dass sich das Shmupmame-Raumschiff eher als das PCB-Schiff in Bewegung setzt … ;)
    Bei dem Filmvergleich müssten auch die MAME-Einstellungen, wie „Triple-Buffer“, „Wait V-Sync“ usw. festgelegt werden, da dies ebenfalls Einfluss auf die Reaktionszeit hat. Zudem wäre ein Beispiel mit der „normalen“ MAME Version auch auflussreich.


  • Woher nimmst du eigentlich deinen ganzen Bullshit?!

  • @nexus


    ja das normale mame muss wohl auch dabei sein.


    @hass


    da hast du natürlich recht weil es wohl auch so ist.
    leider kann man nicht alle pcbs besorgen und da gibts nur den emulationsweg, auch wenn er scheisse ist ;).


    Andreas


    was passt dir denn nicht? kann dir so die frage nicht beantworten ;)

  • Man muss die Diskussion wohl auf verschiedenen Ebenen ansiedeln.


    Ich denke, dass es rein theoretisch sicher leicht möglich ist, Unterschiede zu erkennen. Gerade die Profi-Spieler, die wirklich auf den letzten Frame angewiesen sind, werden an Mame keinen Spaß haben. Für den Durchschnitsspieler ist das alles egal. Ich würde sicherlich nie einen Unterschied merken, wenn mir einer ne Mame-Kiste in eines meiner Cabs verpflanzt, weil ich einfach nicht gut genug bin.


    Emotional gesehen und von der grundsätzlichen Einstellung her, kann ich aus meiner eigenen Historie heraus sagen, dass Emulation nix ist. Das liegt daran, dass ich mit dem Hobby begann, weil ich von modernen Spielen einfach sowas von die Schnauze voll hatte und mich einfach auf die alten Zeiten, wo Spielen noch intensiv und ein Erlebnis war, zurück besann. Leute, die keine Arcade-Historie haben und das Gefühl gar nicht kennen, in der Spielo oder Kneipe mal nen Highscore zu droppen, werden nie wissen, was an echten Automaten das Besondere ist. Die wollen im Prinzip nur Videospielen. Irgendwie. Am Computer halt. Weil es cooler ist, eben im Stehen und weil so ein Cab ja auch geil aussieht, eben am Cab. Das das alles Nonsens ist und so garnix mit Arcade-Gaming zu tun hat, merken die nicht. Ist aber ok ... ich habe damit kein Problem. Jeder soll das machen, was er will!


    Ich würde mir inzwischen lieber nur noch einen einzigen Dedicated hinstellen und das Spiel darin bis zur Zerstörung spielen, als wieder ne Mame-Kiste aufzustellen. :) Wenn man die Leute fragt, warum sie sich unter größtem Aufwand und Kosten 5000 Spiele ins Haus holen, weiss eh keiner was wirklich Stichhaltiges drauf zu sagen.

  • wenn ich mich blos so gekonnt ausdrücken könnte :).
    emulation muss ja nicht perfekt sein, halt nur bis zum grad das der profispieler zb wie du sagst, nichts merkt. wenn die es nicht merken wer dann.
    was dahinter steckt ist nebensache wenn das gefühl stimmt.

  • Ja, es gibt Delay, und ja, das kann man messen.


    Ursache #1: Betriebssystem - Angenommen jemand drückt einen Knopf, das I-PAC sendet einen Tastencode via USB, dauert es trotzdem einen Moment bis das System die anstehenden Daten verarbeitet. Schön zu beobachten wenn man "throttle" in MAME hin und her schaltet. (mit Throttle 1 gibt MAME die CPU immer wieder frei, mit 0 orgelt es kontinuierlich vor sich hin).


    Latzenz: unterschiedlich.




    Ursache #2: Double/Tripple-Buffer - Prinzipbedingt gibt eine "alte" PCB ihr Bild mehr oder weniger ungepuffert aus. Ab wann genau die Grafik gepuffert wurde (u.A. für 3D Grafiken) kann ich nicht genau sagen. Die Emulation, egal ob nun auf einer Konsole oder am PC, wird in 99,9% aller Fälle das Bild zumindest einfach Puffern (DoubleBuffer).
    Dieser Puffer wird der Grafikkarte mit beginn eines jeden VSync übergeben, die Eingaben verarbeitet und während das übergebene Bild zeilenweise rausgeblasen wird, intern das nächste Bild errechnet. Bei TrippleBuffering werden bis zu zwei Bilder gepuffert.


    Latenz: 1-2 Frames




    Ursache #3: Interrupts - Soweit ich das aus dem Stehgreif sagen kann aktualisiert MAME den Zustandspuffer der Eingaben "nur" einmal pro Frame, was in etwa 60Hz entspricht. Während ein Frame erzeugt wird, wird zu verschiedenen Zeiten (von der Emulation selbst) auf den zuvor genannten Puffer zugegriffen. Theoretisch ist es dadurch möglich innerhalb eines Frames einen Knopf zu drücken und wieder los zu lassen, wovon MAME dann nichts mit bekommt. Praktisch ist das bei einem 16ms Zeitfenster aber äußerst unwahrscheinlich. Im Vergleich dazu gibt es einige PCBs die bei Änderungen an den Inputs sofort einen IRQ auslösen und die Eingabe verarbeiten. So wäre es möglich innerhalb eines Frames mehrere Eingaben nacheinander zu machen.


    Latenz: ~1 Frame




    Gehen wir in unserem Fallbeispiel also von einer Worst-Case Situation aus.
    Betriebssystem ~2 Frames, TrippleBuffer ~2 Frames, Interrupts ~1 Frame - Summe etwa 5 Frames - 5 Frames a 16,6ms = ~83ms Latenz


    Ich persönlich denke das man diese etwa 100 Millisekunden merkt, wenn man viel am Orginal gespielt hat (geht mir z.B. bei Magical Drop 3 so).
    Die "Hau dir aufs Maul"- und die "Ich slide smooth durch 16,7 Millionen Bullets"-Fraktion werden das prinzipbedingt bei timingskritischen Manövern/Combos sicher auch merken.


    Einem Gelegenheitsspieler wird das aber sicherlich NICHT auffallen.

  • Thema Nummer 2 - Genauigkeit


    Ein weiterer Klassiker ist die "Auflösung".
    Ob man einen Unterschied zwischen einem "echten" NeoGeo, und einem emulierten in 320x240 sehen kann... Theoretisch ja, praktisch nein.


    Das NeoGeo arbeitet intern mit 320x224 sichtbaren Pixeln, der Bereich "außenrum" wird für die sogenannten Porches und den Sync Impuls verwendet.
    MAME würde nun (zumindest CabMAME) das Bild zentriert anzeigen: 240 - 224 = 16; 16 / 2 = 8
    Es werden also 8 schwarze Zeilen vor und nach dem eigentlichen Bild angezeigt.
    Die Gesamtanzahl der Zeilen eines Bildes wiederrum sind fest, 15kHz = ~15720 Zeilen pro Bild @ 60Hz = 262 Zeilen pro Bild. Den Verschnitt kann sich jeder selbst ausrechnen, ob nun MAME die Zeilen schwarz macht, oder das NeoGeo selbst (in Form von Porches) bleibt sich gleich.


    Da nun ohnehin jeder Monitor "anders" eingestellt ist, sind Position und Größe auf dem Bildschirm sowieso eher schwer zu vergleichen.


    *EDIT* Ich sagte ja theoretisch kann man das sehen: Eine VGA Karte gibt bei "totalem Schwarz" einen anderen Signalpegel aus (0,3V), als während eines Porches (0,0V), praktischerweise sind aber fast alle Monitore auf einen Minimalpegel bei Schwarz ("Black Level") eingestellt.




    Punkt 2 - Geschwindigkeit.
    In der obengenannten Rechnung bin ich von 60Hz ausgangen. Das stimmt aber eigentlich nicht, da das NeoGeo mit ~59,18560...Hz
    Läuft nun meine Emulation mit 60Hz (am PC) oder mit 59,97Hz (NTSC), läuft sie zu schnell. Läuft die Emulation mit 50Hz (PAL) läuft sie zu langsam.


    Es ist zum einen schon eine Mammutaufgabe jedes PCB auf der Welt zu clocken, zumal die verwendeten Quarze ja auch "nur" Analoge Komponenten sind die minimal voneinander abweichen, sprich jedes NeoGeo seine ganz eigene Frequenz hat. Die Unterschiede sind freilich minimal.


    Darüber hinaus ist es in einem 1001-Fanzy-Spiele-in-1 System kaum möglich für alle diese 1001 Spiele exakt die Orginalauflösung anzubieten. Hier wird eben "gerundet".
    Das selbe gillt auch die die ArcadeVGA. Andere Lösungen (z.B. GroovyMame) berechnen jede Auflösung beim Spielstart.




    Fakt 3 - Ton
    Resultierend aus Punkt 2 gibt es auch bei dem Ton ein Problem.
    Entweder wir sind zu schnell bzw. zu langsam und es kommt zu Stottern. (Standard MAME)
    Oder wir müssen den Ton etwas schneller (höher) bzw. langsamer (tiefer) abspielen, wodurch sich die Tonlage minimal verändert und schlimmstenfalls der Ton etwas leiert.

  • Man muss die Diskussion wohl auf verschiedenen Ebenen ansiedeln.


    Muss man nicht. Sie ist einfach und nüchtern zu erklären, sogar in Zahlen. Es geht nicht um einen ideologischen Vergleich. Wie Sailor Sat bereits geschrieben hat gibt es messbare Latenzen im Bereich von ca 80-100ms. Das hört sich nicht nach viel an, ist aber sehr viel! Wer schonmal Online gespielt


    wenn ich mich blos so gekonnt ausdrücken könnte.


    Ein wenig Interpunktion und Rechtschreibung würde schon reichen. Viel besser wäre es jedoch, wenn du anstatt so einem Mist wie "soft15afga", eher etwas wie "Soft15KHz bzw. ArcadeVGA" schreiben würdest. Zack! Und jeder weiß was gemeint ist.


    Im übrigen disqualifizieren dich Sätze wie "(was auch immer dafür geopfert wird wenn mans nicht sieht oder fühlt (buffer falsch emuliert)" komplett. Sie zeigen, dass du Emulation und insbesondere Mame nicht verstanden hast.

  • ¨@sailorsat
    du machst dir sogar die mühe immer wieder das gleiche zu wiederholen, bist echt das beste was die deutschsprechende mamegemeinde zu bieten hat.
    mein grösster respekt.
    es wird ja kritisiert das shmupmame sogar weniger lag hat als orginale. wie ging das denn bzw da könnte man den lag ja wieder etwas verlängern dass es passt? ;)




    Andreas
    naja wers versteht verstehts und wer nicht kann fragen statt frech zu werden
    ist wohl eher wenn ich mir blos die mühe machen würde so gekonnt.....
    ich hab mame und emulation schon verstanden aber es gäfällt mir eben nicht wie es ist, alles klar?

  • Wow. SEHR gute Erklärungen! Da kann man was lernen ... Danke für die kostenlose Unterrichtsstunde :D


    Andreas: Ja, gebe ich dir natürlich recht. Was solls. Wenn du den Durchschnitts-Noob vor den Kasten stellst, wird er es trotzdem nicht realisieren. ;)

  • Also ich würd ja jetzt was schreiben, aber alles technische wurde auch schon dagelegt. Allerdings spielt auch das "Feeling" eine große Rolle für mich persönlich. Es ist quasi wie ein schönes großes Gesamtpaket, da gehört alles zu. Ich bin mir nicht sicher ob mir Emulation mir das geben kann, ich denke nicht. Natürlich nutzt man auch hier und nen Emulator, aber es ist für mich immer das Gesamtpaket was zählt. Die PCB bei Arcade, die Hardware oder eben auch mal die komplette CD, Cartridge sonstewas mit Artwork und allem drum und dran. Und das kann nicht emuliert werden, niemals. ;)

  • Andreas
    naja wers versteht verstehts und wer nicht kann fragen statt frech zu werden


    Naja, wer ES versteht, DER versteht ES und wer ES nicht VERSTEHT kann fragen ANstatt frech zu werden.


    ist wohl eher wenn ich mir blos die mühe machen würde so gekonnt.....


    :o WTF?!



    ich hab mame und emulation schon verstanden aber es gäfällt mir eben nicht wie es ist, alles klar?


    ARRRRRGGGGHHHH!

  • Ich mag MAME. Mir geht es nicht um den letzten Frame. Ich bin eh zu schlecht um den unterschied zu merken.
    Ich glaube auch das faktoren wie Button-Art, Joysticklänge/-härte, Schaltwege in den meisten Fällen viel ausschlaggebender für den Unterschied zum Original sind.


    Ich habe leider nicht den Platz mir meine 5 Lieblingsautomaten hinzustellen, sonst würde ichs machen. Da ich früher die meiste Zeit eh, mangels Originalen, an Universalcabs gezockt habe, reicht mir mein eines Uni-Gerät. Für mich ist das (auch mit MAME) Authentisch genug.


    Das Platinenwechseln ist mir fürs Arcadefeeling total wurst. Das hab ich in der Spielhalle/Pommesbude früher auch nicht gemacht. Wichtiger für mich ist das es ein echter Automat ist, dem man auch gerne ansehen darf, daß er wirklich mal aufgestellt war und das er mit Münzen betrieben wird.
    Meinen Automaten könnte man theoretisch wieder in die Aufstellung nehmen. Münzer und Schlösser funktionieren, und die Einstellungen sind nicht durch Tastenkombinationen (auch nicht aus versehen) veränderbar.


    Das Ding soll zuverlässig laufen, damit ich zuverlässig meine Lieblingsspiele, plus 2, 3 andere (nicht die 5000 anderen) zocken kann.


    Nennt mich ruhig einen Looser. Damit kann ich leben.;)

  • man kann sich doch sowohl als auch in die bude stellen..... ich nehme die mame kiste gern für besucher, um sich games anzuschauen die man noch nicht kennt, aber auch gern zum spielen..... die spiele, die ich halt unbedingt haben möcht, hole ich mir halt dann als pcb.....

    Stell alle Müllpressen auf der Inhaftierungsebene ab, sofort! Hast Du verstanden?