Linksammlung 16/2022
Friday, 22. April 2022
Diese Woche fand ich besonders erwähnenswert:
Es gibt ein Neues Volla Phone 22 auf Kickstarter. Es hört sich gut an – Android als Standard (ohne Google), aber Linux als Option, austauschbarer Akku, Kopfhöreranschluss. Ich vermute, dass die Hardware nicht superstark ist, und frage mich ob das Telefon auch von anderen Android-Varianten wie LineageOS unterstützt werden wird. Aber davon erstmal abgesehen erfüllt dieses neue Volla viele meine Kriterien an nachhaltige Telefone.
Die Wochenschau 16/2022 thematisiert den Krieg und die eigene Position zu den Konsequenzen. Es ist für mich schwierig, beim Ukraine-Krieg eine pazifistische Position zu beziehen, ich finde die Argumente dafür diesmal nicht überzeugend. Bei anderen Kriegen war das nicht so. Da war der Protest gegen den Krieg ein Protest gegen eine mögliche Beteiligung an einem Angriffskrieg. Hier geht es um die Abwehr eines Angriffskriegs, das ändert die Sache zu sehr – eine pazifistische Haltung würde Putin zu sehr in die Hände spielen, oder? Fundamentalpazifismus ist mir ansonsten sympathisch, aber diesmal liegt er mir deswegen quer im Magen. Doch was bedeutet das für die Bewertung konkreter politischer Entscheidungen?
The Next Major RTS Will Fail. This Is Why (Video). Es ist ziemlich überzeugend, wenn man die Spiele von damals und ein paar der neueren Varianten gespielt hat – die guten der alten RTS waren gleichzeitig bombastischer und vermieden einige der Macken der modernen Nachfolger. Aber es gibt ein Gegenargument: Hätten die Spielestudios das nicht auch wahrgenommen und es an Spielen wie einem möglichen Nachfolger zu Alarmstufe Rot 3 ausprobiert?
Zum Abschluss noch ein Video: How to upgrade / replace SSD for Steam Deck 64GB EMMC and install OS. Ich hatte eine Bestätigung gesucht, dass das günstigste Deck von Valve mit einer SSD aufgerüstet werden kann. Dem scheint so zu sein.
Snydercut
Wednesday, 20. April 2022
Zack Snyder's Justice League ist die erweiterte Fassung von Justice League. Den Film hatte ich damals gesehen und war nicht überwältigt.
Die neue Version ist komplett absurd. 4 Stunden sind viel zu lang, was nicht besser dadurch wird, dass ein Teil dieser Länge ein dem eigentlichen Ende angehängter, schlechtgemachter Vorverweis auf einen möglichen Folgefilm ist. Das Format ist 4:3, was kein normales Kino und kaum ein Abspielgerät daheim perfekt unterstützt. Farben hätten dem Film auch nicht geschadet, ihr Fehlen macht die neue Version nicht einfacher zu sehen.
Und doch – im Vergleich zur regulären Version ist sie so viel besser. Im Originalrelease gab es komplett bescheuerte Szenen wie die Würfel in den Blutspuren eines von Batman erledigten Monsters. Sowas wurde entfernt. Hinzugefügt wurde Motivation für den Bösen, eine darüber gelegte Hintergrundgeschichte und vor allem viel Zeit für die einzelnen Superhelden. Gerade im direkten Vergleich macht das einen riesigen Unterschied, wird der Film von einem Langweiler zu ziemlich gut. Was vorher komplett Unsinn war hat nun nur einzelne Logikfehler, die Charaktere handeln nachvollziehbarer, der Endkampf wird plötzlich spannend.
Zusammengenommen zeigen die beiden Filme schön zwei Extreme. Die erste Version zeigt was passiert, wenn ein Filmstudio einen Regisseur hintergeht, das Konzept für einen Film und damit auch den Film selbst zerstört. Die zweite Version zeigt was passiert, wenn ein Regisseur zu viele Freiheiten hat, wenn Blödsinn wie ein 4:3-Filmformat nicht von einem Studio blockiert wird und niemand die massive Überlänge zurechtstutzt (der Film wäre noch dazu perfekt zweiteilbar gewesen). Aber es sind nicht zwei gleichwertige Extreme, zumindest hier nicht.
XCOM: Chimera Squad ist wieder ein anderes XCOM
Monday, 18. April 2022
Ich beschrieb kürzlich Phantom Doctrine als ein Spiel, das XCOM-Elemente aufgriff und mit viel Bedacht um das Kalte-Krieg-Geheimagentenszenario herumformte. Chimera Squad ist zwar auch an die großen XCOM-Spiele angelehnt, aber es wählt einen völlig anderen Weg als Phantom Doctrine. Der Ableger formt nicht um, er reduziert. Aufs Wesentliche?
Kampf um eine Stadt
In Chimera Squad kontrolliert der Spieler die namensgebende Einheit, die nach einem Anschlag den Frieden in einer Stadt wahren soll. Das spielt nach den Ereignissen der Hauptspiele, daher leben in der Stadt auch Aliens. Gleichzeitig sind die Psi-Kräfte verbreitet, was viele Gegnertypen nutzen. Glücklicherweise ist auch der Spieler nicht auf menschliche Söldner beschränkt, sondern startet direkt mit zwei Aliens auf der eigenen Seite. Weitere können später dazukommen.
Drei Fraktionen könnten den Anschlag durchgeführt haben, alle drei sind Fanatiker. Eine waffenschmuggelnde Mutantengruppe, eine Schar von Soldaten mit Psikräften und eine Horde Roboter-Hybriden. Das Spiel ist in die Untersuchungen dieser Gruppen eingeteilt, die Reihenfolge ist frei auswählbar. Resultat ist, dass es andere Missionen mit den passenden Gegnern gibt. Bis aber die lila Hauptmissionen auf der Karte erscheinen müssen ein paar Tage vergehen, in denen jeweils eine Nebenmission bzw teils ohne Kampf ablaufende Situationen bestritten werden können.
Die Missionen erscheinen immer auf einem der Stadtteile. Fast immer ist mehr als eine zur Auswahl. Eine Mission aber nicht zu lösen erhöht die Unruhe im Stadtteil. Ist sie auf dem Maximum erhöht sich am nächsten Tag die Unruhe der Stadt, wird die zu hoch ist das Spiel vorbei. Welche Mission gewählt wird hat also eine über die Belohnungsauswahl hinausgehende strategische Komponente. Die Unruhe steigt unweigerlich, kann aber mit gegen Intel rekrutierbaren Feldteams oder durch Spezialaufträge reduziert werden, wobei der dazu abgestellte Soldat währenddessen nicht an Kämpfen teilnehmen kann.
Stürmen statt Laufen
Die Kämpfe laufen anders ab als in den beiden regulären XCOMs. Anstatt auf einer größeren Karte die Gegner entdecken zu müssen beginnen alle Missionen direkt im Kampf. Es gibt immer eine erste Stürmungsphase, in der die Soldaten meist auf verschiedene Zugriffspunkte aufgeteilt werden können. Auf Knopfdruck geht es los, dann kann jeder einen Schuss absetzen – meist lohnt es sich da, auf die nicht überraschten aggressiven Feinde zu zielen, weil die nach dieser Anfangsphase auf die Angreifer schießen.
Danach wechselt das Spiel in ein reguläres Rundenkampfssystem. Da alles nah beisammen steht und die Zugreihenfolge prominent angezeigt wird geht es mehr darum, die demnächst ziehenden Gegner auszuschalten. Die Missionen sind oft in mehrere dieser Begegnungen eingeteilt, wobei dann wieder gestürmt wird und die Missionsart sich ändern kann. Denn nur manchmal reicht das Besiegen aller Gegner zum Gewinnen. Oft muss muss stattdessen eine Einrichtung zerstört, ein VIP beschützt oder getötet/gefangengenommen oder ein Bereich erreicht werden. In solchen Missionen rückt dann – tatsächlich eine Ähnlichkeit mit Phantom Doctrine – unendlich viel Verstärkung an, sodass der Spieler bei jeder Aktion zwischen dem schnellen Erreichen des Missionsziels und dem Ausschalten der auf dem Feld stehenden Gegner abwägen muss. Chimera Squad findet da meist eine ganz gute Mischung zwischen Stress und spannender Herausforderung.
Mehr Einzigartigkeit
Thema gute Änderung: Der andere Umgang mit den Soldaten hat mir auch gefallen. Sie sind nicht mehr generische Rookies, die vom Spieler angepasst und frei geformt werden können. Sondern sie sind vertonte einzigartige Charaktere, von denen eine feste Anzahl im Laufe der Mission freigeschaltet wird und zwischen denen dann ausgewählt werden muss. Statt dutzenden generischen Söldnern hat das Squad also nur 8 individuelle Soldaten. Die dann auch nicht einfach eine Klasse haben, sondern bei Rangaufstieg ihre eigenen Spezialfähigkeiten freischalten.
Ähnlich reduziert ist die Basisverwaltung. Es gibt immer noch Upgrades und kaufbare Ausrüstung, aber keinen Basisbau. Die Basis ist einfach bereits komplett, nur Zusatzslots für die einzelnen Bereiche können freigeschaltet werden. Die Soldaten die nicht an den Missionen teilnehmen können diese füllen, dann forscht es sich schneller oder werden die Soldaten im Training verstärkt. Es müssen also auch keine separaten Wissenschaftler und Ingenieure verwaltet werden. Ressourcen gibt es noch, aber verdient wird Geld, Elerium und Intel nur noch durch Missionsbelohnungen und am Wochenende automatisch durch die in der Stadt platzierten Feldteams.
Miese Bugs
Bei all diesen Reduktionen ist es umso überraschender, dass Chimera Squad einige üble Bugs hat. Dass die Animationen manchmal durchdrehen ist da noch harmlos, dann dreht sich ein Soldat nach hinten um auf einen Gegner vor ihn zu schießen. Aber einmal wurde einer meiner Soldaten nicht auf das neue Begegnungsgebiet versetzt, war aber durch die Wand hindurch angreifbar, was schon schwerwiegender war.
Doch richtig mies war dieser Bug: Da konnte in der Anfangsphase einer der Soldaten keinem Zugriffspunkt zugewiesen werden, "Required value not met". Aber ohne Zuweisen aller Soldaten kann die Mission nicht gestartet werden. Und im von mir gewählten Ironmanmodus kann die Mission an dieser Stelle auch nicht abgebrochen werden und gibt es keinen älteren Spielstand. Nur durch Cheats und dank diesem Redditthread war das kein kompletter Blocker – -allowconsole
den Startparametern hinzufügen, dann in die per `
geöffnete Konsole endbattle xcomwins
eingeben und die Mission war gewonnen. Zum Glück nur eine Nebenmission, aber was wenn das in einer Hauptmission passiert wäre? Ein Spiel außerhalb der Beta darf einen solchen schweren Bug nicht haben, erst recht nicht wenn er im Internet so oft beschrieben wurde.
Fazit: Klein und gut
Trotz der Bugs fand ich Chimera Squad gut. Mir gefällt diese Reduktion aufs wesentliche, auf die Kämpfe. Und da ist noch genug an Upgrades, Strategie und Story herumgestrickt dass es nicht eintönig wird. Die individuellen Soldaten finde ich sogar klar besser als das System der Hauptspiele mit ihren im Grunde generischen Söldnern.
Ich kann aber nachvollziehen, dass dieses XCOM eine Enttäuschung sein muss wenn man ein Spiel im Umfang der Hauptspiele erwartet. Es ist nur ein kleiner Ableger, der aber auch weniger kostet und weniger Zeit frisst. Nach nur 20 Stunden war ich durch, XCOM 2 ohne Addons dauerte doppelt so lang und hätte mehr Wiederspielwert. Dazu kommt der Ton: Chimera Squad will mit den Sprüchen der Soldaten flott und lustig sein, das geht manchmal daneben. So wie auch die Vertonung, so hat das rekrutierbare Schlangenalien Torque schlicht die Stimme einer jungen Frau. Da hat jemand geschlafen.
Schon da ist also etwas verschenktes Potential. Mehr kommt dazu: Wie wenig die Soldaten dann doch kommentieren, wie wenig sie miteinander interagieren, wie simpel die Geschichte in Zeichnungen erzählt wird. Ein Chimera Squad 2 könnte gerade hier deutlich stärker werden. Aber der Kern des Spiels müsste nicht groß verändert werden, der macht Spaß.
Linksammlung 15/2022
Friday, 15. April 2022
Diese Woche fand ich besonders erwähnenswert:
Das Video von tom7 zu Harder Drive: Hard drives we didn't want or need. Er präsentiert dort von ihm implementierte absurde Festplattenalternativen. Großartig wie meist.
Anderes Thema, wieder ein Video: Familienministerin Spiegel entschuldigt sich. Es ist wirklich verstörend. Die taz schrieb darüber, via dem Couchblog.
Dutch scandal serves as a warning for Europe over risks of using algorithms berichtet, wie eine durchgedrehte Steuerbehörde mittels illegaler Datensammlung und -auswertung Existenzen vernichtete.
Elon Musk Makes $43 Billion Unsolicited Bid to Take Twitter Private, der HN-Thread dazu diskutiert es mehr als ausgiebig. Wäre das wirklich so ein wichtiges Ereignis wie die Länge des Threads es glauben macht?
Solo V2, Vorstellung und Einrichtung unter Linux (Void)
Monday, 11. April 2022
Wie auf Zuruf kam hier vorhin der Solo V2 an. Das ist ein USB-Gerät, das als zweiter Faktor zum Passwort dienen kann. Statt also zusätzlich zur Passwortabfrage eine SMS oder eine Email zu bekommen oder einen Code in einer App wie FreeOTP+ zu generieren wird der USB-Stick eingesteckt und aktiviert.
Das ganze war ein Kickstarterprojekt, der Nachfolger zum ersten Open-Source-Stick von SoloKeys. Stichwort ist dabei FIDO2, der Standard nach dem die Abstimmung zwischen Authentifizierungssuchendem und Stick funktioniert.
Das Konzept
Es geht also um den zweiten Faktor beim Einloggen in (im Normalfall) Webseiten. Ein per SMS gesendeter Code ist dafür die simpelste Lösung, hat aber den Nachteil relativ unsicher zu sein. Denn Telefonnummern können ziemlich einfach gestohlen/umgeleitet werden. Zudem braucht man dann immer Telefonempfang, was bei einer Reise auch mal schwierig sein kann.
Da sind die Apps mit ihren synchronisierten Codes (TOTP) besser, denn sie funktionieren offline. Aber auch sie sind nicht ideal: Telefone mit ihren vielen und oft proprietären Apps sind an sich keine sichere Umgebung, außerdem werden sie gern geklaut und können schnell mal kaputtgehen.
Daher wirkt so ein dediziertes Gerät wie der Solo, oder generell Fido-Sticks, wie eine gute Lösung für einen Zweitfaktor. Die Software darauf ist minimal und dient nur dem Zweck der Codegenerierung bzw Keyverwaltung. So ein USB-Stick ist relativ uninteressant zu stehlen und er hat schlicht kein Display was kaputtgehen kann, kann sogar vor Wasser geschützt werden. Zudem ist er einfach zu benutzen: Einfach einstecken, Knopf drücken (oder in diesem Fall: die Seiten berühren) und fertig. Mit FIDO2 samt WebAuthn gibt es auch bereits fertige Standards, die Seiten unterstützen. Und theoretisch kann das ganze auch statt dem Passwort genutzt werden, also als passwortloser Login (und damit als Haupt- statt Zweitfaktor), wobei dann unempfehlenswerterweise die Sicherheit alleine am Besitz des Sticks hängen würde.
Aber was, wenn solch ein Stick verloren oder doch kaputt geht? Das muss kein Problem sein. Webseiten, die solche USB-Sticks unterstützen, sollten immer mehr als einen zweiten Faktor unterstützen. Der zusätzliche kann dann einfach ein zweites Gerät sein, das an einem sicheren Ort aufbewahrt wird. Oder es ist dann eben doch die Telefonapp, die das Backup stellt, wiederum gesichert mit einem Offsitebackup der Appdaten.
Das Gerät
Der Solo V2 sieht nett gemacht aus. Direkt nach dem Auspacken:
Die Zeichnung ist hübsch und die Hardware selbst hat was. Mit der Hülle drumrum sieht man davon zwar nicht mehr viel. Aber dafür bleiben mit ihr nur noch die goldenen Kanten zu sehen, was auch ziemlich gut wirkt.
Ich hatte erst gar nicht verstanden, wie er zu benutzen ist und die Dokumentation erklärt das nirgends deutlich. Anfangs führte mich die runde Ausbuchtung in der Mitte in die Irre, als ob das ein Knopf sein sollte. Aber das ist wohl nur ein Überbleibsel vom Vorgänger. Tatsächlich muss man am PC die goldenen Kanten berühren, damit der Stick seine Arbeit tut.
Highlight dieser USB-A-Version ist das einfache Einstecken. Denn die Seite ist egal, der Stick funktioniert egal wieherum er im USB-Port sitzt. Das beseitigt einen massiven Nervfaktor für so ein Gerät, das ja im Zweifel relativ häufig eingesetzt werden muss und je nach Umgebung auch nicht immer einfach eingestöpselt bleiben kann. USB-C hätte den gleichen Vorteil gehabt, aber am PC hat man nunmal meist mehr USB-A-Anschlüsse, für das Telefon hätte ich den Solo nicht gebraucht.
NFC kann der V2 auch, aber mir ist nicht klar welchen Zweck das hat. Ermöglicht das Einloggen in Webseiten/Apps am Telefon geschützt mit einem Zweitfaktor, ohne den Stick anstecken zu müssen? Es stört mich durchaus, dass ich diese Information nirgends klar beschrieben finde.
Es gibt aber einen klaren Schnitzer: Die grüne LED ist viel zu hell.
Sie blendet trotz der Hülle so sehr, dass ich sie abkleben werde. Schade, dass das nötig ist.
Einrichtung unter Linux
Als ich den Fido-Stick dann bei mir testen wollte funktionierte er erst nicht. Die Packung verweist auf diese Startanleitung, derzufolge er durchaus direkt funktionieren könnte. Aber nicht unbedingt unter Linux. Da gebe es manchmal udev-Probleme, sagt die FAQ. Aber tatsächlich hilft die verlinkte udev-Regeldatei da nicht. Ich vermute, weil der Solo V2 in ihr andere IDs bräuchte.
Da kam ich erstmal nicht weiter, die Datei mit den mir von lsusb
angezeigten IDs anzupassen griff nicht. u2f-hidraw-policy zu installieren war dann für mich unter Void die Lösung:
sudo xbps-install u2f-hidraw-policy
Das Paket fügt den System eine udev-Regel hinzu, die mithilfe eines kleinen Helferprogramms alle Fido-Sticks dem Nutzer und damit dem Browser zugänglich macht. Einmal aktivieren:
sudo udevadm control --reload-rules && sudo udevadm trigger
Jetzt sollte es gehen.
Einsatz zur Accountabsicherung
Nach der Einrichtung kann man den Solo V2 als Zweitfaktor einem Account hinzufügen. Ich machte das direkt bei meinem Googleaccount, der trotz meiner stark reduzierten Googlenutzung noch ein Sicherheitsrisiko ist. In den Sicherheitseinstellungen gibt es eine Option für die 2-Faktor-Authentifizierung. Dort kann ein USB-Gerät hinzugefügt werden, ein Security Key:
Und nachdem ich dann darauf kam, dass auf die goldenen Seiten gedrückt werden muss, funktionierte das auch. Jetzt ist der Fidostick ein weiterer Zusatzfaktor, der beim Einloggen statt den anderen Möglichkeiten – wie der Bestätigung im eingeloggten Telefon – genutzt werden kann.
Fazit
Es muss sich noch zeigen, wieviel ich den Solo V2 in der Praxis nutzen werden. Gekauft habe ich ihn um die Option zu haben, statt SMS und Telefonsoftware einen noch sichereren zweiten Faktor einsetzen zu können. Und auch wenn Google da mein erster Testkandidat war geht es mir mehr um Dienste wie Github. Wobei ich auch die Hoffnung habe, dass Banken durch Regulierungen von ihren proprietären Schrottapps wegkommen und dann eher Fido-Sticks als Alternativlösungen unterstützen.
Vor allem aber fand ich es sehr sympathisch, dass SoloKeys in diesem Bereich auf eine FOSS-Lösung setzt. Ihr Firmware-Framework Trussed ist nicht nur auf Github, sondern steht auch unter einer freien Lizenz. Noch dazu ist es in Rust geschrieben, was die richtige Wahl für solch sicherheitskritische Software ist. Das ist eine Seltenheit bei diesen Sicherheitslösungen, bei denen oft große Firmen mit möglichst intransparenten und teuren proprietären Lösungen mit möglichsten vielen ®, ™ und Patenten andere große Firmen adressieren.
Kann man einen Solo V2 gerade kaufen? Ich glaube nein. Für mich sieht es nur so aus, als könnte er immer noch auf Indiegogo vorbestellt werden. Der Vorgänger wird in ihrem Webshop verkauft, ich würde vermuten dass der V2 da irgendwann dazukommt.
Von Wasserständen und Umzügen
Monday, 4. April 2022
Ich würde gerne wieder öfter längere Artikel zu anderen Themen als Spielen schreiben. Derzeit landen Ansätze dazu meist nur in der Linksammlung. Ein paar Ereignisse, teils von der Arbeit, würden dafür auch Material geben. Aber insbesondere mehrere notwendige Reisen und vor allem ein anstehender Umzug fraßen mit ihrem Organisationsaufwand bisher zu viel Energie. Dass eine der Reisen zu einer Beerdigung geht ist etwas, von dem ich nicht weiß ob ich es hier nochmal thematisieren werde, ist aber der Gemütslage nicht zuträglich. Die doch noch übrige Freizeit ging in Eskapismus, was die Spieleartikel einfacher machte.
Der Umzug ist auch noch nicht durch und er ist stressiger als sonst. Überlaufene Gegend als Umzugsziel, mein bisheriger Vermieter hat die Absprache "vergessen", die beim Einzug übernommene Küche platzieren zu helfen, und zu allem Überfluss ist uns eine versprochene Wohnung im allerletzten Moment dann doch nicht gegeben worden. Was Glück im Unglück gewesen sein mag wenn mir so ein instabiler Vermieter erspart wurde, aber doch auch Zeit stahl. Und je weniger Zeit übrig ist desto mehr wird Stress spürbar.
Nebenbei: Wer im Raum Siegen eine drei Jahre alte Küche zum Blogleservorzugspreis haben will, der möge sich melden.
Vielleicht sollte ich einen Artikel über meine Erfahrungen mit Umzügen schreiben. Einfach, um zu der Praxis zurückzufinden Artikel von Alltagserfahrungen inspirieren zu lassen. Aber gut, dem Gedanken sollte dieses Update erstmal genügen.
Wem die Häufung der Spieleartikel negativ auffiel (z.B. weil er sie nur überspringt) möge sie mir nachsehen. Es wird irgendwann bestimmt wieder häufiger andere Themen geben. Was nicht heißt, dass die nächsten Blogeinträge nicht auch Spiele behandeln könnten.
Linksammlung 13/2022
Friday, 1. April 2022
Mir fehlte letzte Woche Zeit und Ruhe. Das war diese Woche etwas besser. Diesmal fand ich besonders erwähnenswert:
Robert schreibt über Das Ende von b2evolution. Es ist schon schade wenn solche langjährigen Projekte enden.
Neues im Ukraine-Krieg: Starlink hilft beim Drohnenkrieg gegen Panzer und Truppen. Solche Technik hat mehr Auswirkungen als man manchmal erst glaubt.
Abstraction: Not What You Think It Is empfand ich als guten Programmierartikel. Programmierer neigen dazu Dinge abstrahieren zu wollen, ohne dass ihnen wirklich klar ist was das überhaupt bedeutet. James Koppel beschreibt überzeugend, dass es nicht um bestimmte Praktiken geht, sondern darum eine semantische Ebene zu erreichen auf der über ein Thema anders nachgedacht werden kann. Statt Voltkurven anzupassen arbeiten wir mit Nummern, als Beispiel.
The arXiv of the future will not look like the arXiv behauptet ein Artikel im arXiv. Ich hoffe einiges davon tritt wirklich ein. Statt PDFs zu bauen könnten Forscher dann echte Webinhalte produzieren. Während meiner Unizeit war das noch nicht wirklich möglich.
Letzte Chance: Ukraine-Humblebundle
Thursday, 24. March 2022
Das erst kürzlich gestartete "Stand With Ukraine"-Humblebundle endet bereits bald. 125 Items sind darin, darunter vor allem ein paar interessante Spiele wie Metro Exodus.
Einiges davon war noch nicht in meiner Spielesammlung, die ja doch schon einige andere Spielebündel gesehen hat.
Das Angebot läuft noch etwas mehr als 24 Stunden. Über 14 Millionen Euro wurden bereits eingenommen, 100% davon sollen an vier Hilfsorganisationen gehen: Razom for Ukraine, International Rescue Committee (IRC), International Medical Corps und Direct Relief.
Mit SnapForX Aerosnap für beliebige Linux-Fenstermanager nachrüsten
Monday, 21. March 2022
Die von Windows 7 eingeführten Aerosnap-Fensterkontrollen fand ich schon immer großartig. Mit ihnen werden zur linken Monitorseite gezogene Fenster auf die linke Hälfte des Monitors maximiert, die rechte maximiert sie auf die rechte Hälfte, zieht man sie an den obere Rand bedecken sie den ganzen Bildschirm. Sollen die Fenster wieder klein werden zieht man sie einfach nach unten, schon springen sie zurück, das gefiel mir besonders.
In der Linuxwelt ist das auch schon länger angekommen, aber hauptsächlich in den größeren Desktopumgebungen. Kleinere Fenstermanager wie das von mir genutzte IceWM beherrschen solche dynamischen Kontrollen normalerweise nicht. Bei ihnen sind die Fenster so starr wie bei Windows 95. Tiling-Fenstermanager können zwar auch die Fenster geschickt anordnen, aber ist ihr Ansatz dafür schon sehr anders. Und an Kontrollen über die Tastatur wie durch quicktile konnte ich mich nie gewöhnen.
Deshalb habe ich mit SnapForX ein Skript geschrieben, das den Ansatz der Aerosnap-Kontrollen für X-Fenstermanager nachrüsten kann. Perfekt ist es nicht, als angenehm empfinde ich es trotzdem.
SnapForX in aller Kürze
So sieht es in Bewegung aus, der gezeigte Fenstermanager ist IceWM:
SnapForX ist ein Bashskript. Es benutzt eine wilde Mischung aus Hilfsprogrammen um diese Fensterkontrollen nachzubilden – besonders xdotool und wmctrl, aber auch xinput, awk, cut und xprop werden gebraucht. Das Skript lässt sich dann direkt ausführen. Die alternative Installation ist aber auch nicht kompliziert, das Skript einfach irgendwo in den PATH schieben und starten:
snapforx -l -r -t -iof
-l
, -r
und -t
aktivieren die Reaktion auf die linke, rechte und obere Monitorseite, -iof
lässt das Skript Vollbildanwendungen ignorieren.
Der Code ist ein Fork von cornora, einem Skript um Befehle durch Verharren des Mauszeigers in den Bildschirmecken auszuführen.
Der Ansatz
Der X-Server lässt zwar den Zugriff auf viele Informationen zu und ermöglicht auch Fensterkontrollen von außerhalb des Fenstermanagers, aber um Fensterkontrollen im Stil von Aerosnap umzusetzen waren ein paar Tricks erforderlich.
Um zu erkennen, ob der Mauszeiger am Rand des Bildschirms ist, wird regelmäßig die Mauszeigerposition abgegriffen. Ist deren X-Wert nahezu 0 ist er links, ist er fast so groß wie der Monitor breit ist sind wir am rechten Rand, ist der Y-Wert kleiner 1 ist der Zeiger ganz oben. Ob der Mauszeiger dort verharrt wird getestet, indem diese Prüfung mit einer kleinen Verzögerung zweimal hintereinander ausgeführt wird. Das ist so ziemlich wie cornora funktioniert, nur leicht erweitert.
Aber hieran knabberte ich lange: Wie erkennen, dass ein Fenster bewegt werden soll? Die üblichen Werkzeuge wie xdotool geben da keine brauchbaren Informationen. Ich könnte mir alle Fenster und ihre Position ausgeben lassen, aber wenn der Nutzer ein maximiertes Fenster nach unten zu schieben versucht ändert sich keine Fensterposition.
Der Ansatz jetzt kombiniert mehrere Ideen:
-
Schaue mittels
xinput
, ob die linke Maustaste gedrückt wird. -
Wenn ja, gucke ob der Mauszeiger im oberen Bereich eines Fensters ist. Das ist ein Vergleich von
xdotool getmouselocation
mit der Y-Koordinate ausxdotool getactivewindow getwindowgeometry
. Das aktiviert für 5 Takte à 0,1 (einer unbekannten Einheit, weil ich die delay-Funktion nicht verstehe) den Bewegungsmodus, ab jetzt können Fenster maximiert werden. - Zum Unmaximieren kommt die letzte Erkennung hinzu: Wenn der Mauszeiger jetzt, also bei gedrückter Maustaste auf einer Fensterdekoration startend, zwei Takte à 0,5 unbekannter Einheit nach unten bewegt wird, dann wird das aktive Fenster demaximiert.
Dass diese Erkennungen zusammengreifen und tatsächlich halbwegs ordentlich funktionieren, damit hatte ich nicht wirklich gerechnet. Entsprechend zufrieden bin ich gerade mit dem Ergebnis.
Limitierungen
Allerdings hat dieser Ansatz natürlich seine Probleme. Ich sehe keinen Weg die Animationen einzubauen, die bei Windows und den Desktopumgebungen vorankündigen wie das Fenster beim Loslassen der Maustaste sich bewegen wird. Stattdessen wird das Fenster direkt bewegt, was dem Nutzer weniger Kontrolle gibt. Zudem springen die Fenster gerne mal völlig unflüssig hin und her, z.B. wenn man nach dem vertikalen Maximieren an einer Monitorecke dann nochmal bei gedrückter Maustaste den Mauszeiger bewegt. Vielleicht lässt sich das noch etwas besser glattbügeln, aber dass es perfekt wird scheint unmöglich, weil da der Fenstermanager und das Skript sich praktisch um die Kontrolle des Fensters streiten. Vielleicht könnte das Skript irgendwie anders markieren, wie es das Fenster bewegen will, und es ebenfalls erst beim Loslassen der Maustaste durchführen.
Kleinere Unfertigkeit: Da xinput die ID einer bestimmten Maus braucht sucht sich das Skript am Anfang eine aus. Der Code unterstützt also weder Mauswechsel während des Betriebs noch mehrere Mäuse an einem System, das dürfte besonders manche Laptopnutzer blockieren. Wer da Ideen für eine bessere Lösung hat möge einen PR einsenden.
Vielleicht ein weiterer Baustein für den eigenen Linuxdesktop. Zumindest empfand ich es als nette Trickserei. Vielleicht geht es ein paar weiteren hier mitlesenden Linuxern auch so. Verbesserungsvorschläge und vor allem Codeverbesserungen wären gern gesehen.
Linksammlung 11/2022
Friday, 18. March 2022
Diese Woche fand ich besonders erwähnenswert:
Dank dem Steamdeck bekommt jetzt die Masse mit, wenn Proton und Valves Infrastruktur Spielen auf Linux Vorteile gegenüber Windows verschafft. Valve does what FromSoftware don’t, thanks to Steam Deck’s precaching update beschreibt, wie die vorkompilierten Shader dem technisch etwas vermurksten Elden Ring auf die Sprünge helfen.
Die Initiative Ruby Together pumpt netterweise etwas Geld in Rubys Ökosystem.
Bei Audio Input mittels Pipewire auf den Kopfhörern ausgeben sieht man greifbare Vorteile von Pipewire. Ich hätte tatsächlich die Umleitung mit Alsa nicht umzusetzen gewusst. Helvum sieht nett aus.
Dirk misst den Effekt von Kompressionsverfahren bei Borgbackup. Wenn man ohne Daten vor der Auswahl steht ist die gar nicht so einfach.
Über Hype bei Spielen auf GamersGlobal
Monday, 14. March 2022
Wer möchte kann einen Artikel von mir bei GamersGlobal lesen:
Hype, Spieletests und Immersion
…
Wenn Entwickler und Publisher ihre neuen Spiele bewerben, geschieht dies nicht selten mit dem Versprechen "vollständiger Immersion". In der Praxis ist diese aber extrem schwer zu erreichen. Wenn der Hype um ein Spiel maßgeblich auf dieser versprochenen Immersion aufgebaut wird, dann kann das Ergebnis fast nur enttäuschen. Das Spiel muss dann in anderen Bereichen umso hervorragender sein und die unweigerlich unbefriedigende Immersion durch Spielmechanik und Spielspaß aufwiegen, sonst droht der Mega-Shitstorm. Zusätzlich befeuert wird der typische "auf Hype folgt Gegenhype"-Effekt durch umfangreiche Previews und Spieletests, die nicht selten das Immersionsversprechen noch befeuern. Welche unterschiedlichen Auswirkungen dies haben kann, möchte ich an einigen Beispielen wie Cyberpunk 2077 und Elden Ring zeigen.
Ich fand er passte dort besser als hier im Blog. Aber erwähnt wollte ich ihn hier auch haben :)
Phantom Doctrine, ein XCOM ohne Aliens
Monday, 14. March 2022
Phantom Doctrine übernimmt viele Elemente aus der XCOM-Reihe, hat aber ein ganz anderes Setting und viele eigene Ideen. Die meisten davon sind spaßig, aber was an dem Spiel nicht funktioniert ist fast interessanter.
Verschwörung im Kalten Krieg
Erstmal zum Szenario: Es ist kalter Krieg. Wahlweise auf Seiten der UdSSR oder der USA steht man am Kopf einer Mini-Geheimorganisation, die in den Sog einer größeren Verschwörung gerät.
Das spielt sich stark wie das XCOM-Vorbild. Es gibt eine ausbaubare Basis. In ihr können auch neue Geheimagenten rekrutiert, ausgerüstet und verbessert werden. Diese Agenten übernehmen entweder Aufgaben in der Basis (wie, wichtig, das Herstellen von Falschgeld) oder reisen auf der Weltkarte umher, um dort auf Aktionen der Gegner zu reagieren. Die wollen dann zum Beispiel einen Informanten ermorden, sind genug eigene Agenten in der Nähe, können sie dies per Knopfdruck und investierter Zeit verhindern. Reicht die Zeit nicht oder soll eine feindliche Zelle ausgehoben werden bleibt nur der Angriff. Dafür wechselt das Spiel von der Weltkarte auf das jeweilige Missionsgebiet und dabei in den Rundenkampfmodus.
Auch dieser Rundenkampfmodus ist erstmal nicht groß anders als bei XCOM. Agenten haben Bewegungs- und Angriffsaktionen, wobei manche Aktionen den Zug des Agenten direkt beenden. Die Umgebung kann als Deckung dienen, Deckung ist je nach Höhe entweder halb oder vollständig und schützt dann weniger oder mehr. Anfangs wissen die Feinde nicht dass man dort ist, erst beim direkten Feindkontakt beginnt ein Gefecht. Natürlich gibt es unterschiedliche Waffen und haben die Agenten unterschiedliche Fähigkeiten, gleiches gilt für die Gegnertypen. Dazu gehört das Überwachen eines Bereiches, in dem dann Bewegungen des Gegners in seinem Zug einen Schuss auslösen. Ein typisches Missionsziel wäre das Erledigen aller Gegner oder, je nach Missionstyp, das Platzieren oder Entschärfen von Bomben.
Viele Unterschiede, mehr als im Detail
Was gerade beim Rundenkampfmodus erstmal sehr ähnlich wie das offensichtliche Vorbild klingt ist dann durch geschickte Unterschiede doch ganz anders.
Fast alle Missionen lassen sich ohne ein offenes Gefecht lösen. Die Gegner haben Sichtkegel, bleibt man ihnen fern wird man nicht erkannt. Ein offener Schuss würde das Gefecht immer auslösen, aber ein unbeobachteter und schallgedämpfter nicht, zudem haben alle Agenten die Möglichkeit Feinde lautlos umzuhauen. Das Ergebnis: Mehr als ein Rundenkampfspiel ist Phantom Doctrine ein Rundenschleichspiel, in dem man versucht die Missionen ungesehen zu erledigen. Denn Phantom Doctrine bestraft den offenen Kampf: Feindliche Verstärkung rückt nach der Entdeckung alle 6 Runden an, alternativ erfolgt gar ein Luftangriff. Kämpfe erhöhen den individuellen Gefährdungslevel der Agenten, ist er auf Maximum senkt er sich nicht mehr, ist zudem seine Identität kompromittiert und Feinde werden ihm auflauern. Nichts, was ein neuer Pass nicht reparieren kann, aber ein starker Anreiz das Schleichen zumindest zu priorisieren. So ist es zudem auch einfacher, ohne Zeitdruck beim Erledigen der Mission herumliegende Geheimdokumente abzufotografieren und Ausrüstung aufzusammeln.
Die Kämpfe selbst wirken auch anders weil Schüsse immer treffen. Was sich unterscheidet ist nur wieviel Schaden angerichtet wird, was von der Deckung bzw vom Wahrnehmungszähler abhängt. Beschuss reduziert erstmal nur Wahrnehmung mit etwas Schaden als Nebeneffekt, erst ohne Wahrnehmung wird Schaden voll vom Leben abgezogen, wobei dann noch die Deckung sich auswirken muss. Das ist ungewohnt, aber bei eigenen Angriffen der Ungewissheit des Zufallsgenerators nicht ausgeliefert zu sein ist auch angenehm. Alle Gegner haben ebenfalls Wahrnehmung, aber nur bei feindliche Agenten ist sie schon vor Gefechtsbeginn auf Maximum – was schlicht bedeutet, dass feindliche Agenten beim Schleichen nicht heimlich erschossen, sondern nur umgehauen werden können (was auf höheren Schwierigkeitsgraden nur geht, wenn der eigene Agent mehr Leben hat, immer aber eigene Wahrnehmung kostet).
Auch auf der Weltkarte und beim Basisbau ist das Spiel keine direkte Kopie. Die Basis kennt zwar Upgrades, aber die werden einfach aus einer Liste ausgewählt, brauchen keine Energie und keinen freien Raum, nur Geld. Die Basis lebt aber auch sehr viel weniger, denn es gibt keine mit einem sprechenden Abteilungsleiter, die Menüs sind also weniger schön verpackt. Immerhin, das Aussehen der Agenten ist anpassbar und ihre Werte werden durch Doping verbessert, was teils sich heftig auswirkt durch mehr Bewegungs- und Aktionspunkte. Und was auf der Weltkarte passiert ist natürlich deutlich anders, schon weil keine Kontinente unter die eigene Kontrolle gebracht werden müssen, sondern verschiedene Geheimdiensttätigkeiten der Feinde vereitelt. Im Grunde verteilt man eigene Agenten in den Städten der Welt, die dann bei Bedarf in andere Städte reisen.
Erweiterte Mechaniken
Dazu kommen einige eigenständige Spielmechaniken, die oft vom Szenario motiviert sind.
Für die zwei in den Kämpfen gilt das weniger. Stehen mehrere Agenten vor einem Raum, können sie ihn stürmen und erledigen dann darin die Gegner. Mit schallgedämpften Waffen wird so nichtmal Alarm ausgelöst, auch Überwachungsreaktionen werden verhindert. Das wird selten gebraucht, ist aber ganz angenehm. Gleiches gilt für die strategischen Aktionen wie dem außerhalb des Missionsgebietes platzierbaren Scharfschützen, der gegen Strategiepunkte einzelne Gegner ausschalten kann. Voraussetzung dabei, dass vorher mit einer Weltkartenaktion das Missionsgebiet ausgekundschaftet wurde, was etwas Zeit kostet.
Außerhalb der Rundenkämpfe sind die Szenariobezüge stärker. So hat auch die Basis einen Bedrohungszähler. Ist er voll, wird die Basis gestürmt (was leider nur ein Textboxevent ist), wodurch Agenten verlorengehen können und die Basis verlegt werden muss. Besser vorher selbst die Basis verlegen, was Geld kostet, aber den Bedrohungszähler wieder reduziert. Erfolgreiche feindliche Aktionen auf der Weltkarte können ihn erhöhen, dann führt der Gegner eine Erkundungsmission in einem Ort auf der Weltkarte durch. Werden vorher dort Agenten hingeschickt können sie das verhindern. Aber auch manche eigene Aktionen wie das Rekrutieren neuer Agenten erhöht die Gefahr.
Die Loyalität eigener Agenten ist dabei nichtmal gewährleistet. Sie könnten Schläferagenten sein, die einem beim nächsten Gefecht verraten und direkt die Seite wechseln werden. Eine Gehirnwäsche in der späteren MK-Ultra-Basiserweiterung behebt dieses Problem, kostet aber Geld. Auch feindlichen Agenten (die man in den Missionen ja umhauen und dann mit evakuieren kann) können so Gehirngewaschen werden, trifft man sie dann später wieder reicht eine Aktion und sie dienen dauerhaft der eigenen Sache. Oder alternativ kann man sie auch als Saboteur losschicken, wenn sie eine feindliche Basis erreichen wird sie zerstört, überleben tut der Agent das dann aber nicht.
Immer aber sollte man feindliche Agenten verhören. Das kann mehrere Dinge freischalten: Bislang unbekannte Perks eigener Agenten, die Identität feindlicher Agenten, den Standort von dann zerstörbaren Feindeszellen, mögliche neue Rekruten und vor allem Geheimdokumente. Die landen mit den anderen auf den Investigativtafeln. Diese zu lösen ist immer mal wieder auch die Hauptmission. Die Dokumente haben entweder sofort sichtbare Stichwörter, oder sie müssen in Texten erst markiert werden. Dann können die mit gleichem Stichwort verbunden werden. Es geht dabei immer darum, einen Ort oder eine Person einem gegebenen Startcodewort zuzuordnen, was dann beispielsweise den Standort einer feindlichen Hauptbasis verrät.
Ähnlich ist der Effekt von Informanten. Immer wieder signalisieren Orte auf der Weltkarte verdächtige Aktionen. Schickt man einen Agenten dorthin ist an dem Ort meist einfach ein Informant, der nach einer Weile auch Informationen wie Geheimdokumente preisgeben wird. Manchmal muss er, wie oben erwähnt, vor feindlichen Aktionen geschützt werden. Ultimativ dient das primär dem Füllen der Investigativtafeln.
Viel verschenktes Potential
Die Investigativtafeln sind ein gutes Beispiel für die Schwäche von Phantom Doctrine. Sie sind toll gemacht und machen Spaß – am Anfang. Da sich die Stichwörter immer wiederholen und es immer neue Geheimdokumentsammlungen gibt, wird sie zu lösen mit der Zeit nervig. Zum Glück kann man das mit ein paar Basisupgrades automatisieren, das bindet dann aber bis zu vier Agenten und ist nicht gerade schnell. Mir schien es sogar langsamer zu sein als durch fleißiges Verhören von Feindagenten neue Informationen ankommen, ich musste also immer wieder doch manuell die Verbindungen herstellen. Mir war das nie zu frustrierend, aber gelungenes Spieldesign ist das auch nicht.
An vielen Stellen merkt man, dass Phantom Doctrine mit begrenzten Mitteln umgesetzt wurde. So wiederholen sich die kleinen Zwischensequenzen dauernd, beispielsweise wenn das Fluchtauto am Missionsgebiet ankommt. Die Zwischensequenz an sich ist nett und lockert das Geschehen auf, aber weil es immer die gleiche ist wird sie später eher nervig. Bei Agenten kann aus einer Handvoll Sprecher ausgewählt werden, gleichzeitig ihrem Charakter, was ändert wie sie Befehle kommentieren. Eine Handvoll (immer englischer) Sprecher ist nicht ansatzweise genug für alle, viele klingen also gleich. Agenten haben Portraits, ihr Aussehen ähnelt dem aber selten sehr, gerade bei den Frauen fehlte da wohl Feintuning. Bei denen ist auch noch die Kleidung feindlicher Agenten immer gleich. Man kann da jeweils manuell nachbessern, aber das ist etwas mühsam, und selbst bei diesen Anpassungsoption fehlt Auswahl.
Ähnliches gilt leider auch für die Rundenkämpfe selbst. Die Einsatzorte wiederholen sich häufig - damit meine ich nichtmal den Charakter der Städte, die unterscheiden sich leider sogar gar nicht. Nein, außerhalb der Hauptmissionen laufen beispielsweise die Angriffe auf feindliche Zellen gefühlt auf einer Handvoll von Karten ab. Kleinere Variationen gibt es immer, trotzdem ist das repetitiv. Da hilft es nicht, dass die Ziele meist die gleichen sind – nur manche Missionen müssen wirklich bestritten werden. Andere, wie das Schützen von Informanten, kann auch eine Aktion auf der Weltkarte ohne Wechsel in den Rundenkampfmodus zeiteffizienter bewirken, wodurch ich diesen Missionstyp nur selten erlebte.
Selbst den Schleichfokus sehe ich als Problem. Besonders er macht aus Phantom Doctrine ein eigenständiges Spiel und ist ein großer Unterschied zu XCOM, was an sich toll ist. Aber es gibt zu wenige Missionen, die das Kämpfen erfordern – und warum rüstet man seine Agenten immer weiter mit besseren Waffen aus, wenn man die gewonnene Kampfststärke nur so selten nutzen kann? Das gilt mehr noch beim einfachen Schwierigkeitsgrad, den das Spiel neuen Spielern empfiehlt, in dem die Beschränkungen fürs heimliche Umhauen wegfallen. So zählt bei den Waffen fast nur das Upgrade der schallgedämpften Pistole, damit ein Schuss den Gegner direkt ausschaltet, wodurch der Alarm ausbleibt. Klar, man könnte entscheiden die Missionen mit Gewalt statt Heimlichkeit zu lösen, aber dann brauchen sie länger, droht die feindliche Verstärkung und steigt das Gefährdungslevel der Agenten.
Dann lieber heimlich, wobei heimliches Bewegen durch die Missionsgebiete am besten von verkleideten Agenten übernommen wird. Die können (außer durch beobachtete eigene Aktionen) nur von Agenten enttarnt werden, mit dem Schauspielerperk passiert dann sogar das nur selten. Ich habe meistens doch alle meiner Agenten versucht zu nutzen, um die Mission schnellstmöglich zu erledigen. Aber das war wahrscheinlich kontraproduktiv, weil ich dann immer mal wieder Neuladen musste wenn einer meiner Agenten entdeckt wurde. Sicherer wäre es, die anderen Agenten an ihrer Startstelle stehen zu lassen, was ja wohl nicht im Sinne des Erfinders sein kann. Generell ist das eines der Hauptprobleme: Es wäre schön, wenn es einfach okay wäre nach einer Weile enttarnt zu werden um dann die Gefechte außerhalb der wenigen Hauptmissionen erleben zu können. Weniger Schnellladen, mehr Spielen im Flow. Aber das muss das Spieldesign unterstützen, damit es nicht mit zu sehr mit dem Perfektionismus kollidiert, Phantom Doctrine patzt hier leider.
Dem Entwickler sind einige der Probleme bewusst. Es gibt eine ziemlich interessante GDC-Präsentation zu gelungenen und gescheiterten Designentscheidungen des Spiels auf Youtube:
Auf Slideshare gibt es ein Folienset eines Post-Mortem mit noch etwas mehr Lektionen. Die beschriebenen Edgecases bezüglich der Schüsse durch Wände haben mich weniger gestört, das weite Sichtfeld um Hindernisse dagegen war mir positiv aufgefallen, mit dem Kampfsystem ohne Zufallsgenerator kam ich ganz gut zurecht. Aber nach Spielen des Spiels kann man viel der Kritik und Reflexion nachvollziehen.
Probleme unter Linux
Das Spiel funktioniert nicht einwandfrei mit Proton, es gibt keine Linuxversion. Um es auch nur starten zu können brauchte es bei mir mit Proton-7.2-GE-2 Startparameter, nämlich:
PROTON_NO_ESYNC=1 taskset -c 0-15 %command%
Danach lief das Spiel selbst flüssig und stabil, aber die Haupt-Zwischensequenzen (also nicht die in Spielgrafik, sondern die gezeichneten) wurden nicht abgespielt. Die sind leider nicht ganz unwichtig, erzählen sie doch den Storyhergang weiter. Das Spiel erklärt fast alles nochmal in Texten im Ladebildschirm, aber ideal ist das nicht.
Mittlerweile gibt es einen Report in der ProtonDB, der die Installation von mf-install beschreibt. Ich habe das getestet. Es mussten ein paar fehlende Verzeichnisse angelegt werden, damit die Installation durchlief. Dann nochmal ein Ordner und eine Datei erstellt werden, damit Steam das Spiel wieder starten konnte. Tatsächlich liefen danach die Videosequenzen. Die momentane Gold-Bewertung ist angesichts dieser nötigen Nachbesserung aber ein Fehler.
Fazit: Mehr als spielbar, nur nicht perfekt
Selbst mit den Linuxproblemen ist Phantom Doctrine am Ende kein schlechtes Spiel. Es ist mehr eins mit verschenktem Potential, ein gutes Spiel mit ein paar Nervfaktoren, das ein hervorragendes hätte sein können. So bleibt beeindruckend, wieviele der Spielmechaniken gut ineinandergreifen. Und trotz aller Nervfaktoren – das Spiel unterhält durchaus bis zum Ende, weil das Fortschrittsgefühl nie ganz weggeht und mich zumindest die Auflösung der Hauptstory interessiert hat. Das ist ein ziemlicher Gegensatz zum kürzlich von mir gespielten King's Bounty: Warriors of the North, das noch vor der Hälfte der Spielzeit in sich zusammenbrach. Dabei ist Phantom Doctrine nichtmal kurz, 44 Stunden verbrachte ich laut Steam im Spiel, was circa 40 Stunden echter Spielzeit entsprechen müsste.
Vor allem aber ist Phantom Doctrine eine Anlehnung an XCOM, die eine alternative Weiterentwicklung dieser Spielereihe ausprobiert. Während XCOM 2 mit Zeitlimits, generell mit Spannung und einer besserer Inszenierung den Vorgänger verbesserte, zeigt Phantom Doctrine einen möglichen Pfad mit einem Fokus auf Agententätigkeiten und Heimlichkeit, was durchaus auch eine Option für die Vorbildreihe wäre. Das ist interessant zu sehen und meist ja auch spaßig zu spielen, selbst wenn wie oben ausführlich beschrieben nicht alle Experimente wirklich funktionieren.
Linksammlung 10/2022
Friday, 11. March 2022
Diese Woche fand ich besonders erwähnenswert:
The Dirty Pipe Vulnerability ist nicht einfach ein schlimmer Bug. Der Zusammenschrieb schildert vielmehr eine großartige Debugarbeit, wie sie kaum ein Entwickler so durchgeführt und erst recht nicht dann so klar zusammengeschrieben hätte. Wer heute nur einem Link folgen will, es sollte dieser sein.
Was die anderen Artikel nicht geringschätzen soll. I/O Scheduler automatisch einstellen als bestes Beispiel ist ein geschickter Hack, um den IO-Scheduler je nach Festplattenart (HDD, SSD, NVMe-SSD) auszuwechseln.
Manche Telekommunikationsanbieter machen es möglich: Kostenlos in die Ukraine Kommunizieren. Verblasst etwas angesichts der Gräueltaten Russlands, aber eine greifbare kleine menschliche Aktion.
In einem der absehbar wichtigsten Rechtsstreits des Jahres greift die Gesellschaft für Freiheitsrechte ein, denn die GFF unterstützt Hoster von Open-Source-Projekt youtube-dl gegen Klage der Musikindustrie (via). Der Hoster ist uberspace, das Ansinnen der Musikindustrie wie so oft freiheitszersetzend und moralisch verwerflich.
We're Building Computers Wrong (Video) versucht den Punkt zu machen, dass wir digitale Computer durch analoge Bestandteile ergänzen könnten. Vielleicht. Davon abgesehen ist das Video eine sehr gute Erklärung von neuronalen Netzen, samt ihrer Historie und Wiederentdeckung als Deep Learning in den letzten Jahren.
Far Cry 2 war tatsächlich voller Macken
Monday, 7. March 2022
Dem Titel zum Trotz sind viele Elemente von Far Cry 2 ziemlich toll. Aber sie sind nicht zu einem guten Spiel zusammengepackt. Das Ergebnis ist frustrierend.
Ein Beginn als Auftragsmörder
In FC2 wählt der Spieler anfangs einen Charakter aus, was aber später ziemlich bedeutungslos ist. Dann geht es auch schon los: Gerade in einem afrikanischen Land angekommen um den Waffenhändler Jackal zu ermorden, kippt der Charakter um und ist fortan mit Malaria erkrankt. Ein Gespräch vom Krankenbett mit dem Jackal später kippt der Charakter nochmal um, diesmal aufgrund einer Schießerei zwischen verfeindeten Fraktionen mit ihm in der Mitte. Eine davon rettet ihn, woraufhin der Spieler den Rest des Spiels über verschiedene Missionen für die beiden Fraktionen erledigen wird.
Diese Missionen sind fast alle spielerisch sehr ähnlich. FC2 spielt auf zwei großen Karten, in denen es verschiedene Afrikabiotope wie Dschungel und Wüsten gibt. In der Mitte ist eine Stadt, dort herrscht nach dem Gefecht aus dem Intro Waffenstillstand, beide Fraktionen haben da einen Hauptsitz. Als Spieler betritt man eines der beiden Häuser, lauscht einem Gespräch, nimmt die Mission und ein paar Diamanten als Bezahlung entgegen. Dann gilt es sich ein Auto zu schnappen und zum Zielort zu fahren. Am Zielort gibt es immer einige Gegner und meist muss eine Zielperson getötet oder etwas zerstört werden.
Statt die Aufträge wie beschrieben zu erledigen kann man auch der Alternativmission folgen. Es gibt noch andere Akteure, ein paar davon sieht man regelmäßig. Auf beiden Karten ruft immer einer der beiden Kameraden nach dem Missionsstart an und schlägt eine alternative Lösung vor. Ein Beispiel: Statt einen Waffenhändler auf einem Schiff anzugreifen, fahre zu einem Stützpunkt und hole einen Zünder, mit dem und einer Bombe kann dann eine Brücke über dem Schiff gesprengt und der Händler so getötet werden. Dann gibt es zur Belohnung auch noch Upgrades der Spielerunterschlüpfe, wie fortan dort verfügbare Munition. Die anderen Kameraden haben weniger Missionen, helfen aber im Spielverlauf: Hat man durch eine Nebenmission ihre Zuneigung, wirken sie als Extraleben. Geht der Spielercharakter im Bleihagel zu Boden, erscheinen sie aus dem Nichts, beleben ihn wieder und helfen beim Feuergefecht.
Richtig schlecht sieht das Spiel dabei nie aus. Klar, es ist angestaubt, aber ignoriert man ein paar Grafikfehler ist die Engine für seine Zeit echt hübsch. Wobei die Farben arg matt sind, selbst am Tag ist das Spiel meist braun, in der Nacht dunkelgrau. Das stört aber nach einer Weile weniger und wäre durch Mods reparierbar.
FC2 ist dabei spielerisch ein Egoshooter, wenn man nicht gerade in einem Auto sitzt, wobei die meisten davon ebenfalls Waffen haben. Machete, Kleinwaffe, Primärwaffe und eine Spezialwaffe schleppt der Spielercharakter mit sich herum. Die Waffen können ausgewechselt werden, einmal mit der Ausrüstung der Gegner, besser mit für Diamanten gekauften Alternativen (die dauerhaft freigeschaltet bleiben). Die Waffen aus dem Shop sind besser, denn neue Waffen haben erstmal keine Fehlfunktionen, die umständlich durch Drücken des Nachladenknopfes repariert werden müssen und die mitten im Gefecht natürlich oft tödlich sind.
Unfassbare Macken
Funktionieren die Waffen liefern sie gute Gefechte gegen die Soldaten. Die Soldaten sind in den regulären Gefechten nicht allzu blöd, sie flanken den Spieler und beharken ihn auch mal aus der Ferne mit einem Scharfschützengewehr. Sie halten viel weniger aus als er, aber gegen sie zu sterben ist durchaus möglich. Dazu sind die Waffen hübsch variiert und teils sehr gut gemacht, sodass beispielsweise die Schrotflinte eben nicht nur für kürzeste Entfernungen zu gebrauchen ist. Wo also ist das Problem?
Das Problem ist: Alles außer den Autos und den konkreten Schusswechseln ist bei Far Cry 2 komplett gestört. FC2 ist kein Topspiel, kein würdiger Nachfolger des (in der ersten Hälfte) großartigen ersten Teils. Es spielt sich wie ein nie fertiggestellter Early-Access-Titel.
Sobald man die Stadt mit ihrem Waffenstillstand verlässt greift jeder Charakter den Spieler sofort an. Es gibt außer den Kameraden und ein paar Statisten in speziellen Missionen keine Freunde in diesem Land, nur feindliche Soldaten. Selbst die Mitglieder der eigenen Fraktion (wobei deren Mitglieder nicht unterscheidbar sind) – also der, für die man gerade eine Mission erledigt – eröffnen sofort das Feuer. Das wird richtig lächerlich, wenn man in einem Jeep mit Maschinengewehrturm sitzt, ein Schrottwagen ankommt und da gemächlich ein einzelner feindlicher Soldat aussteigt und das Gewehr anlegt. Im nächsten Moment ist dieser Gegner dann auch schon vom Spieler umgenietet worden, der Wechsel vom Steuer zum Maschinengewehr braucht nur einen kurzen Moment, aber die Verblüffung über dieses absurde Spieldesign hält länger an.
Diese unbegrenzte Feindseligkeit bedeutet, dass die überall auf der Karte verteilten Straßenblockaden jedes mal von feindlichen Soldaten geräumt werden müssen. Ja, man kann versuchen da einfach durchzufahren, aber erstens tut das Gegnergewehrfeuer ziemlich weh, zweitens steigen die Soldaten immer in alle verfügbare Autos und verfolgen den Spieler, sodass man sie dann aus den Wagen schießen muss. Was meist kein Problem ist, aber Zeit frisst. Wäre es nur das eine mal, dann ginge das ja noch – aber die Gegner respawnen direkt wieder. Ist direkt vor der Mission eine gegnerische Station, sind dort auf dem Hinweg Gegner und auf dem Rückweg direkt wieder, selbst wenn nur zwei Minuten vergangen sind. Bitte richtig verstehen: Das ist nicht an die Mission gebunden. Sobald man einen Ort gesäubert hat und einen Moment nicht dort war, werden bei der Rückkehr wieder neue Gegner da sein.
Eine echte Schnellreisefunktion würde dieses Problem entschärfen, die hat FC2 aber nicht. Stattdessen gibt es wenige Busstationen. Tatsächlich helfen die etwas, weil sich mit ihnen ein paar Fahrten vermeiden lassen. Komplett stumpfsinnig bleiben die Respawngegner aber trotzdem.
Als wären das nicht genug Nervfaktor gewesen, wirft das Spiel noch mehr nervige Beschäftigungstherapie in den Mix. Die regelmäßig benötigten Malariamedikamente muss der Spieler sich in einem immergleichen Missionstyp verdienen, bei dem er erst an einem Ort Reisedokumente abholen muss, dann zu einem anderen fahren (-> Gegner auf Weg erledigen), dort ein paar Gegner töten und dann die Dokumente übergeben muss. Zusätzlich könnte man noch für die Waffenhändler einen Konvoi zerstören, was mehr Waffen früher freischaltet, oder an einem Antennenmast für ein paar Diamanten einen Auftragsmord annehmen.
Die Hauptmissionen sind etwas besser, aber auch sie folgen meist dem gleichen Schema, wie oben beschrieben. Zudem ist das Handeln der Hauptfigur völlig unverständlich. Warum genau mordet er für die beiden (komplett identischen) Fraktionen?
Nichtmal das im Menü aufrufbare Tagebuch hat Erklärungsansätze zur Hand, was man sich zusammenreimen könnte ist nicht überzeugend und wird es immer weniger, je bösartiger die Missionen werden. Das Ermorden (nach Erledigen der Wachen) hilfloser Personen, das Sabotieren von Medikamenten, dem Trinkwasser – warum macht der Spielercharakter das völlig grundlos mit? Klar, das ist vom Spiel als Storyelement gedacht, aber das reicht doch als Erzählmodell nicht.
Das Ergebnis ist nur ein verstörendes, in seiner Kaputtheit surreal wirkendes Spiel, dessen Handlung null Sinn ergibt. Nichts davon fördert den Spielspaß.
Interessante Elemente
Und das ist schade, weil FC2 auch gute Elemente hat. Tolle Elemente sogar, innovative, die einen guten Shooter hätten ergeben können.
So hat das Spiel viele Ansätze von Realismus. Einige davon sind allein betrachtet nervig, wie die blockierenden Waffen. Zusammengenommen haben sie aber einen immersiven Effekt. Wenn man erst zum Waffenlager fahren muss, um frische Waffen zu holen, damit auf der nächsten Mission alles klar geht. Dabei die Gegner nicht auf einer Minikarte zu sehen sind, sondern im (nicht zu dichten) Dschungel versteckt erledigt werden müssen. Eine Karte hat der Spieler, muss sie aber statt einer Waffe zur Hand nehmen und dann auf sie herunterschauen – das ganze HUD ist sehr dezent, die wenigen Elemente tauchen nur bei Bedarf auf.
Genial die Idee, an allen Kreuzungen für den Spieler personalisierte Straßenschilder anzubringen, die dann auch noch während Missionen in der Missionsfarbe eingefärbt sind und so den Weg weisen.
Am Zielort sollte man überlegen, ob nicht mit einer schallgedämpften Waffe schleichend vorzugehen besser ist, als mit dem Grantatenwerfer des Schützentransporters die Wachen direkt anzugreifen. Das ist alles zusammen eine interessante Mischung, die Afrikalandschaft für sie eine gute Umgebung.
Gut, dann kommt zum hundertsten mal wieder ein Wagen angefahren und hält direkt vor dem Lauf des Maschinengewehrs, weil der Fahrer einen Todeswunsch hat. Aber wenn einen solcher Unsinn nicht gerade rausreißt machen die Gefechte Spaß. Auch, weil mehr passiert als Gegner zu erledigen, die wie panische Hühner herumlaufen. In manchen Situationen funktioniert ihre KI ziemlich gut.
Dazu kommen die Effekte, alles mögliche explodiert, Feuer kann sich besser ausbreiten als in modernen Titeln, die Dschungelpflanzen gehe unter Beschuss kaputt und geben so den Blick auf verschanzte Gegner frei, einige Materialien sind nicht kugelsicher und die Gegner schießen auch mal durch Holzlatten auf den Spieler. Klasse.
Die Kameraden sind ein dadrin gut eingebundenes Spielelement. Weil sie in den Gefechten helfen, damit dem Kern des Spiels. Sicher noch wichtiger auf den Konsolen, bei denen kein Schnellspeichern möglich war.
Superungewöhnlich ist, dass die Kameraden dauerhaft sterben können: Gehen sie nach zu viel Feindbeschuss zu Boden, kann der Spieler sie wiederbeleben oder ermorden. Es gibt für letzteres keinen Grund, außer evtl keine Heilungsspritzen mehr zur Verfügung zu haben. Was motiviert, mit ihnen hauszuhalten. Dass sie bei Friendly Fire dauerhaft sterben ist ebenfalls ungewöhnlich und soll wohl in Richtung Realismus gehen, das positiv zu bewerten fällt mir aber schwerer. Es passiert zu leicht versehentlich.
Doch selbst der Story lässt sich positives abgewinnen. Zum einem wieder über die Kameraden, die für ihre Alternativmissionen sehr wohl eine bessere Motivation haben und die auch erklären – wobei das mehr für den zweiten Akt gilt. Ihnen zu helfen ist daher angenehm. Aber zum anderen wäre es bei besserer Ausgestaltung der Idee toll gewesen, mal keinen Held zu spielen. Ein widerliches Arschloch, das sich rücksichtslos durch ein Kriegsgebiet mordet ist ja mal was anderes.
Und der Versuch war offensichtlich, mit dem philosophisch schwurbelnden Jackal einen interessanten Antagonisten und insgesamt eine kriegskritische Geschichte zu schaffen, die Verweise auf Apocalypse Now sind überdeutlich. Nur hätte es für solch einen Ansatz mehr nachvollziehbare Handlungsmotivation, vielleicht auch Handlungsalternativen gebraucht, und im Idealfall keinen stummen Hauptcharakter mit selbst im Tagebuch minimaler Selbstreflexion.
Fazit: Unfertiges Ideengrab
Far Cry 2 zu spielen macht schon etwas Spaß, denn die guten Ideen darin zu sehen ist interessant und im Kern steckt im Spiel ein guter Shooter. Darauf kann man versuchen sich zu konzentrieren, dass das möglich sein würde hatte ich trotz der gemischten Rezensionen gehofft. Wegen der Kaputtheit des Spiels überwiegt aber das nervige. Doppelt frustrierend, weil das Potential für ein tolles Spiel dagewesen wäre: Wenn nur jede Fraktionen etwas besser ausgestaltet, nicht jeder NPC auf der Karte ein feindlicher Soldat wäre und wenn wenigstens bei den verdammten Straßensperren keine neuen Gegner erscheinen würden, dann wäre FC2 ganz gut geworden. So aber war es ein vermurkster Versuch, den auch knapp 15 Jahre später kein Mod von seinen wohl zu tief sitzenden Macken befreien konnte.
Linksammlung 09/2022
Friday, 4. March 2022
Diese Woche fand ich mehr als sonst besonders erwähnenswert, wobei ich auch Links aus der vorherigen Woche nachtragen will. Ich werde trennen zwischen dem nicht ignorierbaren Ukrainekrieg und meinen regulären Themen und dabei die Ukraineartikel teils ausführlicher kommentieren, um nicht unpassend zu verknappen.
Die Ukraine zuerst:
Der Gastkommentar Deutscher Offenbarungseid und das Russlandpolitik-Fiasko verkörpert für mich exemplarisch, welche innenpolitische Gefahr in diesem Krieg liegt. Der Kommentar ist zu einem Teil klug und überzeugend und hat ja schlicht Recht damit, dass Deutschlands Russlandpolitik gescheitert ist. Aber andererseits ist da viel falsches drin und Konsequenzen die unfassbar schädlich wären: Nordstream 2 war doch offensichtlich nicht das Problem, wenn der Krieg vor dessen Inbetriebnahme begann und das Ende des Projekts als Sanktion nichts bewirkte, dass Brandts Einfluss auf den Kalten Krieg verglichen mit Kohls(!) bedeutungslos war ist ahistorischer Unsinn, dass mit Drohnen ein Waffensystem abgelehnt wird, mit dem bisher vor allem von den USA Zivilisten im Nahen Osten ermordet wurden kann man der SPD doch nicht ernsthaft negativ anrechnen. Mit dem militaristischen Deutschland, das dieser Autor anstrebt, will ich nichts zu tun haben.
Der Couchblog schreibt zur Kriegsberichterstattung. Natürlich kein Lügenpresse-Nazigelaber, sondern die treffende Beobachtung, dass die Berichte fern von belastbaren Fakten schwierig einzuordnen und wohl auch zu schreiben sind. Der Effekt ist sehr seltsam, wenn dann verschiedene sich widersprechende Behauptungen achselzuckend nebeneinandergestellt werden.
Passt auch zum ersten Link: Krieg · Grenzen · Lesen · Migration · Atomkraft · Klima ist eigentlich ebenfalls eine Linksammlung, beinhaltet aber auch den Kommentar, dass 100 Milliarden wegen Kriegsgefahr auszugeben und dann AKWs weiterbetreiben zu wollen doch wirklich nicht zusammengeht. Und nur einen Tag später begehen die Russen ein weiteres Kriegsverbrechen und beschießen mit Saporischschja ein Kernkraftwerk.
Status Quo Storno beschreibt ziemlich genau, wie auch ich die Dinge gesehen habe und was sich gerade ändert, trotz ziemlich anderer (zumindest zeitlich versetzter) Historie zwischen ben_ und mir. Ich habe selbst Putins Russland noch zu positiv gesehen, ein Gegengewicht zur USA wohl zu unkritisch begrüßt – davon ist jetzt natürlich kein Funken mehr über.
Wieder ein historisch unterlegtes Modell für die aktuelle Situation liefert Devereaux in How the Weak Can Win – A Primer on Protracted War. Mao schrieb laut ihm die Anleitung für die Strategie, der die Ukraine wohl (stark angepasst) jetzt folgt. Wenn es so kommt wird es ein langer und blutiger Krieg.
Bürgerwerke Wachstumsfinanzierung schlägt den Bogen zu anderen Themen. Nicht ganz ohne Bezug, denn von Gas (und Atomkraft) wegzukommen ist jetzt wohl wichtiger denn je. Die Bürgerwerke sind ein Sozialunternehmen, das Strom aus regenerativen Energiequellen herstellt und ganz regulär als Stromanbieter an Kunden verkauft. Sie sammeln Geld, das dann bis 2029 bei denen mit 5,5% angelegt wäre. Ist wohl nicht unriskant, wenn die Firma pleite geht ist das Geld wahrscheinlich weg, aber vielleicht interessiert es jemanden hier trotzdem.
The Decline and Fall of Java on the Desktop Part 1 (1999-2005) beschreibt einen Abschnitt der Entwicklung von Java, den kaum mitbekommen habe (damals war ich kein Programmierer). Füllte bei mir ein paar Lücken und es ist interessant zu sehen, wie das beschriebene zu den eigenen Wahrnehmungen passt. Java für Anwendungen im Browser sah ich noch vor zwei Jahren im Tagesjob.
Es wird mittlerweile öfter erkannt: SPAs were a mistake. Webseiten unnötig als Javascriptanwendungen zu schreiben negiert die Vorteile von HTML, schafft immer unzählige Nachteile und die theoretischen Vorteile werden fast nie benutzt. HTML mit JS wo nötig sinnvoll unterstützt mit guten Serversystemen wie Ruby/Rack, das war schon immer die bessere Lösung und wird es auf absehbare Zeit bleiben.
Wenn ich mir die Memoirs of an Old Geek V – Catharsis so ansehe frage ich mich, ob ich damals auch bei Apple gelandet wäre. In solchen Berichten steckt oft eine ähnliche Technikbegeisterung wie die, die ich ein paar Jahre später bei meinem Wechsel zu Linux erlebt habe. Wäre wohl am Geld gescheitert.
Wer sich für Steams Deck interessiert und schon Spiele auf Steam hat sollte mal Steams Seite Your Library on Deck aufrufen und sich einloggen. Sie zeigt Valves Testergebnisse, also welche Spiele perfekt laufen, welche mit Einschränkungen funktionieren und welche nicht unterstützt werden. Teilweise widersprechen die Ergebnisse der protondb und auch meinen eigenen Erfahrungen unter Linux, aber mit dem Deck kommen ja auch noch spezifische Hardwareeinschränkungen hinzu.