{"id":348,"date":"2020-12-19T11:55:08","date_gmt":"2020-12-19T11:55:08","guid":{"rendered":"http:\/\/lotek64.com\/blog\/?p=348"},"modified":"2020-12-19T12:01:30","modified_gmt":"2020-12-19T12:01:30","slug":"gemeinsam-retro-gamen-im-lockdown","status":"publish","type":"post","link":"https:\/\/lotek64.com\/blog\/gemeinsam-retro-gamen-im-lockdown\/","title":{"rendered":"Gemeinsam Retro-Gamen im Lockdown"},"content":{"rendered":"\n<p class=\"has-text-color\" style=\"color:#02709f\">Gemeinsam spielen mit dem Commodore 64, auch \u00fcber r\u00e4umliche Distanz hinweg: Daf\u00fcr gibt es mehrere Ans\u00e4tze, die wir hier vorstellen.<\/p>\n\n\n\n<p><em>von Wilfried Elmenreich<\/em><\/p>\n\n\n\n<p>Spiele in der Gemeinschaft spielen war schon immer toll, sowohl bei fr\u00fchen Treffs von Commodore-Fans in den 80ern als auch bei aktuellen Events. Neben den Spielen, die man allein spielte und bei denen einem andere \u00fcber die Schulter blickten, w\u00e4hrend man vorzeigte, wie man die Feuerbr\u00fccke bei \u201eGhost\u2019n\u2019Goblins\u201c \u00fcberwindet \u2013 das war so eine fr\u00fche Form von lokalem Twitch-Streaming &#8212; waren vor allem Spiele interessant, die man gemeinsam spielen konnte. Sei es um sich gegenseitig abzuknallen wie beim brandneuen \u201eShowdown\u201c oder um gemeinsam ein Ziel zu erreichen so wie bei \u201eWizball\u201c oder \u201eWizard of Wor\u201c. Dazu erlauben Mehrspielerspiele wie \u201eWinter\/Summer\/World\/California\u2026Games\u201c die abwechselnde Teilnahme von bis zu acht Spielern.<\/p>\n\n\n\n<p>Mit der Corona-Krise und den damit verbundenen Kontaktbeschr\u00e4nkungen ist das Spielen vor dem gleichen Bildschirm leider erst mal auf Eis, es sei denn man hat das Gl\u00fcck mit den anderen Spielern und Spielerinnen im gleichen Haushalt zu leben. F\u00fcr alle anderen gilt, dass man sich etwas \u00fcberlegen muss wie man das remote hinkriegt.<\/p>\n\n\n\n<p>Das Modell, bei dem jemand vorspielt und die anderen zuschauen l\u00e4sst ist relativ einfach umzusetzen, indem man sich vor der Originalhardware oder zwecks Videoqualit\u00e4t noch besser vom Emulator abfilmen l\u00e4sst und das Ergebnis streamt. Solche Channels, sowohl mit modernen als auch mit C64 Games gibt es schon l\u00e4nger auf Plattformen wie Twitch TV oder Youtube Gaming. Insbesondere Twitch TV hat nun auch in der C64 Scene eine gewisse Beliebtheit zur Organisation von Online-Treffen erreicht.<\/p>\n\n\n\n<p><strong>Um aber gemeinsam zu spielen bedarf es weiterer technischer L\u00f6sungen. Im Prinzip gibt es zwei Ans\u00e4tze:<\/strong><\/p>\n\n\n\n<p>Das Spiel l\u00e4uft auf einem Host-System, von dem aus Grafik und Sound gestreamt werden, dazu werden Aktionen an Eingabeger\u00e4ten der Mitspieler \u00fcber das Internet an das Host-System gesendet. Das Host-System k\u00f6nnte durchaus ein realer C64 sein, aber die Hardware zum Abgreifen von Grafik und Sound muss weit leistungsf\u00e4higer sein, schlie\u00dflich muss ein Stream mit 50 Bildern pro Sekunde mit einer Aufl\u00f6sung von 320&#215;200 Pixel (ggf. noch etwas mehr, wenn die Randpixel mit\u00fcbertragen werden sollen) aufgenommen, komprimiert und mit geringer Zeitverz\u00f6gerung \u00fcber das Netz verschickt werden. Bei den Mitspielern muss dann der Stream dekodiert und angezeigt werden, das geht nicht mehr auf Originalhardware. Auch auf der Hostseite tut man sich mit einer Emulatorl\u00f6sung etwas leichter, da der Bild- und Audiostream leichter aufgenommen werden kann. Eine gut umsetzbare L\u00f6sung f\u00fcr diesen Ansatz ist die Software Parsec (https:\/\/parsecgaming.com\/), welche allgemein zum gemeinsamen Remote-Spielen von lokal laufenden Spielen gedacht ist. Die Voraussetzung ist, dass sich alle Mitspieler einen Gratis-Account bei Parsec anlegen und sich die Software herunterladen oder es im Browser laufen lassen. Hat man dazu noch einen Joystick mit USB-Anschluss, kann dieser als \u201eGamepad\u201c an den Hostcomputer durchgeschliffen werden, wo wiederum der VICE-Emulator die Controlleraktionen als Joystickbewegungen an das Spiel weitergibt. In einer Parsec-Session sind insgesamt bis zu 4 Spieler m\u00f6glich. In einem Test hat der Ansatz mit Parsec und USB-Speedlink Joysticks erstaunlich gut funktioniert, allerdings hat der Spieler am Host etwas k\u00fcrzere Reaktionszeiten als der remote zugeschaltete Spieler. Dies kann am besten durch Auswahl eines geeigneten Spiels kompensiert werden, immerhin steht einem bei diesem Ansatz ja die gesamte C64-Spielebibliothek offen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"379\" src=\"http:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_1.png\" alt=\"\" class=\"wp-image-349\" srcset=\"https:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_1.png 602w, https:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_1-300x189.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-small-font-size\"><em>Abbildung 1: Parsec pr\u00e4sentiert sich zwar im Pixel-Retro-Look, bietet aber State-of-the-Art Frame-Grabbing und Video Encoding<\/em><\/p>\n\n\n\n<p>Ein Ansatz bei dem weniger Daten \u00fcbertragen werden m\u00fcssen ist das Spiel verteilt auf mehreren Hosts auszuf\u00fchren, welche sich gegenseitig nur Nachrichten zu den \u00c4nderungen im Gamestate schicken. Laufen zum Beispiel zwei Spieler durch eine wundersch\u00f6n gezeichnete gescrollte Spielwelt, so w\u00fcrde es ausreichen den anderen Computern jeweils nur die Koordinaten des eigenen Spielers mitzuteilen um sich gegenseitig zu \u201esehen\u201c. Jeder Computer zeichnet dann die anderen Spieler an der entsprechenden Stelle ein. Nat\u00fcrlich kommen, wenn es Spielerkationen geben soll wie zum Beispiel das Attackieren eines Monsters oder eines anderen Spielers, noch weitere Daten hinzu. Dann m\u00fcssen weitere Koordinaten und Hitpoints \u00fcbertragen werden. Insgesamt kann die Datenflut aber zumeist soweit im Zaum gehalten werden, dass so ein Ansatz sogar auf Originalhardware m\u00f6glich w\u00e4re, sofern ein Modul zur Onlinekommunikation vorhanden ist. Allerdings m\u00fcssen die Spiele speziell f\u00fcr diesen Anwendungsfall entworfen werden. Ein Beispiel, das in diese Richtung geht ist <a href=\"https:\/\/www.commodoreserver.com\">Commodoreserver<\/a> mit seinem CommodoreServer Internet Protocol (CSIP), wobei hier aber auf einen zentralen Server f\u00fcr die Spielkoordination zur\u00fcckgegriffen wird. Die Spielauswahl ist aber im Vergleich zur C64-Bibliothek sehr klein, auf dem Server finden sich zum Beispiel nur eine Pferderennensimulation und \u201eHead-On\u201c, ein Spiel mit Snake-Mechanik.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"http:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_2.png\" alt=\"\" class=\"wp-image-350\" width=\"686\" height=\"488\" srcset=\"https:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_2.png 384w, https:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_2-300x213.png 300w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/a><figcaption><em>Abbildung 2: Head-On, ein C64-Online-Spiel mit Snake-Mechanik<\/em><\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Einen interessanten Misch-Ansatz versucht der VICE-Emulator mit seiner Netplay-Funktion. Hierbei wird das gleiche Spiel gleichzeitig auf zwei Hosts gestartet und bis zu zwei Joystickeingaben oder eine Tastatureingabe k\u00f6nnen beliebig zwischen den beiden Rechnern verteilt werden. Der Ansatz beruht darauf, dass der VICE-Emulator prinzipiell zyklengenau und deterministisch arbeitet und dass somit dieselbe Eingabe das gleiche Ergebnis erzielt. Verbindet man zum Beispiel zwei Rechner, teilt die Joysticks zwischen beiden auf und startet das Spiel \u201eSave New York\u201c im Zweispielermodus, so bewirkt eine Joystickbewegung nach oben, dass sich das gleiche Flugzeug auf beiden Systemen bewegt. Somit spielt jeder Spieler lokal in seiner Kopie, die sich aber durch die hereingemappten Eingaben der Kopie des anderen Hosts gleicht. Ist die Internetverbindung gut und ohne nennenswertes Delay, so funktioniert das in der Praxis recht gut, aber bei langsameren Internetverbindungen waren durch die Verz\u00f6gerung Aktionen nicht immer perfekt synchron. W\u00e4hrend das Flugzeug im Spiel \u201eSave New York\u201c am lokalen Host eine Aktion vielleicht gerade noch \u00fcberlebt, kann es sein, dass das gleiche Flugzeug im anderen Host crasht, sp\u00e4testens dann sind beide Spielinstanzen so weit auseinander, dass ein sinnvolles Weiterspielen nicht mehr m\u00f6glich ist. Wir haben die Netplay-Funktion mit dem etwas \u00e4lteren VICE 3.2 getestet, da uns in der neueren Version keine Verbindung gelang.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"http:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_3.png\" alt=\"\" class=\"wp-image-351\" width=\"690\" height=\"299\" srcset=\"https:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_3.png 602w, https:\/\/lotek64.com\/blog\/wp-content\/uploads\/2020\/12\/Bild_3-300x130.png 300w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/a><figcaption><em>Abbildung 3: Zwei mittels VICE Netplay perfekt synchroniserte Instanzen des Spiels Save New York<\/em><\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Als Fazit empfehlen wird bei Onlineparties einfach mal Parsec auszuprobieren, da die Handhabung einfach ist und die Spielauswahl am gr\u00f6\u00dften ist. Technisch am interessantesten ist sicherlich das Netzwerkkonzept, vor allem wenn neue Spiele daf\u00fcr entwickelt werden. Netplay ist eher f\u00fcr lokale Netzwerke interessant, da es ein kleines Delay erfordert.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Ansatz<\/strong><\/td><td><strong>Beispiel<\/strong><\/td><td><strong>Vorteile<\/strong><\/td><td><strong>Nachteile<\/strong><\/td><\/tr><tr><td>Stream von einem Host \u00fcbertragen, Controlleraktionen retour<\/td><td>C64-Emulator mit Parsec beim Host<br>Parsec mit Controller\/USB-Joystick bei Clients<\/td><td>alle Spiele nutzbar<br>bis zu vier SpielerInnen<\/td><td>H\u00f6here Verz\u00f6gerung bei Remote Clients<br>Ansatz nicht mit Originalhardware umsetzbar<\/td><\/tr><tr><td>Verteiltes Spiel, Updates von Zustandsdaten\u00e4nderungen<\/td><td>C64 (real oder Emulator) mit RS232-Modem Verbindung zu CommodoreServer<\/td><td>Mit Originalhardware umsetzbar<br>braucht nur geringe Bandbreite<\/td><td>Spiele m\u00fcssen speziell f\u00fcr diesen Fall geschrieben sein<br>derzeit nur wenig Angebot<\/td><\/tr><tr><td>Synchronisation der Eingabedaten zu parallel laufenden Instanzen<\/td><td>VICE Netplay<\/td><td>alle Spiele nutzbar<br>braucht nur geringe Bandbreite<\/td><td>M\u00f6glicher Synchronit\u00e4tsverlust durch Nachrichtenverz\u00f6gerung<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Der Autor: <em><strong>Wilfried Elmenreich <\/strong>bekam seinen ersten Computer, einen Commodore 128, zu Weihnachten 1985. Von da an besch\u00e4ftigte er sich intensiv mit den M\u00f6glichkeiten zur Programmierung des Computers und war insbesondere vom Schreiben von Computerspielen fasziniert. Das Interesse an Elektronik und Informatik pr\u00e4gte seine Wahl bei der Ausbildung und im Berufsleben. Er besuchte eine HTL f\u00fcr Elektrotechnik und absolvierte anschlie\u00dfend ein Studium der Informatik. Danach arbeitete er an der Technischen Universit\u00e4t Wien im Rahmen seines Doktoratsstudiums und schloss als Postdoc seine Habilitation in Technischer Informatik ab. Heute arbeitet er als Universit\u00e4tsprofessor f\u00fcr intelligente Energiesysteme an der Universit\u00e4t Klagenfurt und unterrichtet in den Studien zu Informations- und Kommunikationssystemen sowie in einem Masterstudium zu Game Studies and Engineering. Dazu besch\u00e4ftigt er sich hobbym\u00e4\u00dfig weiterhin mit Aspekten des Retro-Computings und kann dieses Wissen auch bei beruflichen Themen wie Game Design, Embedded Computing und bei der Motivation einer neuen Generation von Technikstudierenden einflie\u00dfen lassen.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gemeinsam spielen mit dem Commodore 64, auch \u00fcber r\u00e4umliche Distanz hinweg: Daf\u00fcr gibt es mehrere Ans\u00e4tze, die wir hier vorstellen. von Wilfried Elmenreich Spiele in der Gemeinschaft spielen war schon immer toll, sowohl bei fr\u00fchen Treffs von Commodore-Fans in den 80ern als auch bei aktuellen Events. Neben den Spielen, die man allein spielte und bei &hellip; <a href=\"https:\/\/lotek64.com\/blog\/gemeinsam-retro-gamen-im-lockdown\/\" class=\"more-link\"><span class=\"screen-reader-text\">Gemeinsam Retro-Gamen im Lockdown<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-348","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/posts\/348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/comments?post=348"}],"version-history":[{"count":3,"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/posts\/348\/revisions"}],"predecessor-version":[{"id":354,"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/posts\/348\/revisions\/354"}],"wp:attachment":[{"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/media?parent=348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/categories?post=348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lotek64.com\/blog\/wp-json\/wp\/v2\/tags?post=348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}