Veintiuno

Viecher Sammeln, Viecher sammeln lassen

May. Torchic und Squirtle, Bild von Genzoman

Wie so viele andere, die von sich dachten, sie wären erwachsen und brauchen sich nicht mit Kinderspielen abgeben, bin ich zeitweise vom Pokemon-Fieber befallen gewesen.

Ich war früher nie Fan der Serie, habe keine anderen Pokemon-Spiele gespielt und auch sonst kaum Berührungspunkte mit der Welt der Viecher-Trainer und Ballsklaven gehabt.

Vermutlich hätte ich den Hype um Pokemon Go halbwegs ignoriert, wenn ich nicht gewusst hätte, dass Niantic, die Firma hinter dem Spiel, bereits ein anderes, konzeptionell ähnliches Spiel herausgebracht hat: Ingress.

Mit Ingress habe ich mich kurzzeitig beschäftigt und fand das Konzept interessant: Man läuft zu „interessanten“ Orten in der wirklichen Welt, um dort auf virtuelle Objekte zu stoßen und damit zu interagieren. Leider ist die App inhaltlich für meine Begriffe konfus und nicht besonders motivierend, obwohl mittlerweile viele Features eingebaut wurden, an die in Pokemon Go nicht ansatzweise zu denken ist. Die Anwendung ist viel sozialer, man kann in Teams sinnvoll gegeneinander antreten, weil man viel mehr Übersicht hat und zum Beispiel gemeinsam gegen übermächtige Gegner antreten kann. In Pokemon Go kann man derzeit hingegen nur Pokemon sammeln und in Arenen gegen dort abgestellte Gegner antreten.

Damit wäre dann auch schon eine große Schwäche des Spiels genannt. Eine andere ist die Verteilung der Pokemon. In Großstädten und dort besonders in Zentrumsnähe ^1)^[und, wie man mittlerweile weiß, ansonsten eher in finanziell besser ausgestatteten Gegenden]{#footnote_plugin_tooltip_text_1 .footnote_tooltip} laufen sie sich fast schon über den Haufen, während man in ländlichen Regionen gefühlt wochenlang durch Feld und Wald wandeln muss, bevor man überhaupt etwas findet. Für mich ist das weniger dramatisch, weil ich in einer Großstadt wohne.

Aber das größte Problem zum jetzigen Zeitpunkt ist das Grinden. Bis Level 12 habe ich es hingenommen, dass mir ständig stärker werdende Taubsis und Rattfratze über den Weg gelaufen sind, die unabhängig von ihrer Stärke immer nur eine feste Anzahl Erfahrungspunkte bringen. Danach nahm meine Motivation rapide ab, denn für jeden weiteren Levelaufstieg benötigt man deutlich mehr Erfahrungspunkte.

Also wechselte ich auf die dunkle Seite und installierte Necrobot, einen Bot, der in einer Windows-Konsole läuft und in meinem Namen Abfragen an die Pokemon-Server schickt. Dass es so einfach werden würde, war mir nicht klar. Offenbar drückte Niantic zeitweise alle Augen bei der Bekämpfung von Cheatern zu.

Ich lud den Bot herunter und passte die Konfiguration etwas an. In erster Linie versuchte ich, ihn etwas menschlicher zu machen. Idealerweise würde mein virtueller Vertreter nur das machen, was ich sonst auch machen würde (ausgenommen Dinge, die Auswirkungen auf andere Spieler haben). Am liebsten hätte ich, ausreichend Zeit vorrausgesetzt, einen kleinen Wanderbot auf Basis eines bestehenden Bots programmieren wollen, der in aller Ruhe die Kontinente überquert. Das wird allerdings nichts, wie sich noch zeigt.

Zu meiner Verwunderung scheinen viele der Bot-Nutzer besonders schnell besonders viele Erfahrungspunkte sammeln zu wollen und trimmen ihre Bots auf Hochleistung^2)^[was entsprechend viele Abfragen mit sich führt]{#footnote_plugin_tooltip_text_2 .footnote_tooltip}. Mittlerweile ist mir klar, dass das vor allem Sinn macht, wenn man Accounts verkaufen will.

Freilich blieb dies nicht unentdeckt und Niantic begann recht bald damit, ein Anfragelimit einzuführen, um aggressive Bots auszubremsen. Das kann man an dieser Stelle wohl als Notwehr betrachten.

Insgesamt lief es für mich jedoch gut. innerhalb einiger mehrstündigen Durchläufe erreichte mein virtueller Läufer Level 20. Dann geschah etwas merkwürdiges.

Mir fiel auf, dass sich die Software bei jedem Start selbsttätig auf den neuesten Stand bringt. Das ist normalerweise ein sinnvolles Verhalten, in diesem Fall aber nicht unproblematisch, weil man für die Nutzung einen gültigen Zugang braucht, zum Beispiel einen Google-Account. Wenn man nun nicht gerade einen neuen erstellen will, nimmt man seinen bestehenden (samt Passwort), riskiert aber, dass dieser bei einem Update von einem möglicherweise unterwandertem Programm an unseriöse Stellen geschickt wird.

Eine Prüfung des Quellcodes der Version 0.4 ergab keine Auffälligkeiten, aber bei einem weiteren Besuch der Seite zeigte der Link für Downloads plötzlich auf eine komplett andere Stelle. Es sah aus wie eine feindliche Übernahme. Stattdessen hatte es aber interne Streitigkeiten gegeben, die im Eiltempo zu einer Überwerfung mit dem bisherigen Lead des Projekts führten.

Mittlerweile sind zwei Bots entstanden, der originale und PokeMobBot. Neben einigen, aus meiner Sicht eher nebensächlichen Unterschieden, hatten beide seit ein paar Tagen eine hervorstechende Gemeinsamkeit: Sie funktionierten zeitweise nicht mehr.

Niantic hat seine Sicherheitsmechanismen in einem Update aktiviert, die es den Bot-Erstellern unmöglich machten, ihre Bots sinnvoll weiterarbeiten zu lassen.

Es war abzusehen, dass Niantic irgendwann mit aller Härte versuchen würde, falsche Clients auszusortieren^3)^[Kombination von vielleicht einigen Gerätewerten des genutzten Smartphones, zufälligen Werten und Authentifizierungs-Tokens oder Hashes mit entsprechenden Zertifikaten?]{#footnote_plugin_tooltip_text_3 .footnote_tooltip}

Neben der Tatsache, dass gerade in Zukunft, wenn Features wie Tauschen hinzukommen könnten, Cheater viel Schaden anrichten würden (und wenn man sich sowas anschaut: eigentlich schaden sie jetzt schon), erzeugen die Bots eine erhebliche Last. In einem Beitrag hat Niantic das visualisiert. Die Bots erzeugten etwa zwei Drittel der gesamten Serverlast. Wenn man bedenkt, dass die Zahl der Leute, die Bots verwenden, im Vergleich zu den normalen Nutzern sehr gering sein dürfte, ist diese Last geradezu absurd hoch^4)^[Dass sie nicht schon früher so reagiert haben, war vermutlich geplant: Kenne den Feind, um ihn möglichst effektiv bekämpfen zu können]{#footnote_plugin_tooltip_text_4 .footnote_tooltip}.

Bisher sind die Entwickler der Bots noch zuversichtlich, eine Lösung zu finden, aber ich gehe davon aus, dass die Mehrheit der Bot-Nutzer langfristig ohne glaubwürdige Emulation von z.B. GPS-Daten und unverdächtigen Serveranfragen immer wieder auffliegen wird.

Zum Thema Motivation lässt sich meinerseits sagen, dass ich das Spiel in seiner aktuellen Form nicht ausreichend motivierend finde und den Bot-Freunden nicht mehr vertraue. Was bleibt also?

Vielleicht gibt es für mich Hoffnung in Form eines einfacheren Spiels, das sich eher auf das konzentriert, was ich interessant finde: Fortbewegung und ein bisschen Strategie.

::: footnote_container_prepare Fußnoten[   [ [+]{#footnote_reference_container_collapse_button style="cursor: pointer;"} ]]{style="display: none;"}

:::

::: {#footnote_references_container}

<table class="footnote-reference-container">
<tbody>
<tr>
<td class="footnote_plugin_index">

[1.]{#footnote_plugin_reference_1} :::

</td>
<td class="footnote_plugin_link">

</td>
<td class="footnote_plugin_text">

und, wie man mittlerweile weiß, ansonsten eher in finanziell besser ausgestatteten Gegenden

</td>
</tr>
<p>
<tr>
<td class="footnote_plugin_index">

[2.]{#footnote_plugin_reference_2}

</td>
<td class="footnote_plugin_link">

</td>
<td class="footnote_plugin_text">

was entsprechend viele Abfragen mit sich führt

</td>
</tr>
<p>
<tr>
<td class="footnote_plugin_index">

[3.]{#footnote_plugin_reference_3}

</td>
<td class="footnote_plugin_link">

</td>
<td class="footnote_plugin_text">

Kombination von vielleicht einigen Gerätewerten des genutzten Smartphones, zufälligen Werten und Authentifizierungs-Tokens oder Hashes mit entsprechenden Zertifikaten?

</td>
</tr>
<p>
<tr>
<td class="footnote_plugin_index">

[4.]{#footnote_plugin_reference_4}

</td>
<td class="footnote_plugin_link">

</td>
<td class="footnote_plugin_text">

Dass sie nicht schon früher so reagiert haben, war vermutlich geplant: Kenne den Feind, um ihn möglichst effektiv bekämpfen zu können

</td>
</tr>
</tbody>
</table>
</div>