Roman Shuvalov ist ein in Togliatti ansässiger Indie-Spieleentwickler, der Anfang dieses Jahres Generation Streets basierend auf OpenStreetMap-Daten veröffentlicht hat. Vor nicht allzu langer Zeit hat er einen Teil des Codes seines Projekts geöffnet. Warum hat er es getan, wie das Spiel aussah und warum die Wahl auf OSM fiel - Roman erzählte dies alles in einem Interview.
- Wie und wann haben Sie von dem OpenStreetMap-Projekt erfahren?
- Es geschah vor ungefähr 5 Jahren - 2014-2015, als ich nach Lösungen suchte, mit denen Benutzer Karten für ihre eigenen Bedürfnisse erstellen können. Zu dieser Zeit hatte ich bereits ein kleines Webprojekt - eine Karte der Straßen und Wege des Togliatti-Waldes. Es wurde im Yandex.Maps-Dienst ausgeführt, auf dessen Standardhintergrund eine Vektorebene mit den von mir benötigten Objekten überlagert war. Diese Schicht wurde übrigens auf der Grundlage von GPS-Tracks erstellt, die von mir und den Mitgliedern unseres Radsportclubs aufgezeichnet wurden. Es war ein bisschen wie eine Strava-Heatmap. Irgendwann wurde mir klar, dass ich etwas mehr wollte und ich überlegte, wie ich meine Karte aktualisieren sollte.
Als Ergebnis habe ich etwas über OpenStreetMap gelernt. Als ich es zum ersten Mal sah, war ich sehr überrascht: Ich war beeindruckt von der unglaublichen Offenheit und Flexibilität des Projekts. Ich konnte nicht nur die Anfangsdaten frei verwenden, sondern auch am Zeichnen der Karte teilnehmen, was für mich sehr wichtig war.
Mit den GPS-Tracks, die ich habe, habe ich nach und nach den Togliatti-Wald und die dazugehörige Infrastruktur in OSM gerendert . Nachdem ich meinen eigenen Render erstellt habe, ist er auf der Fahrradkarte der Region Samara zu sehen... Seine Besonderheit liegt in der Tatsache, dass auch in kleinen Maßstäben (ab 10) Wege und andere Objekte angezeigt werden, die für einen Radfahrer nützlich sein können. Bei Standard-Renderings im 10. und sogar 12. Maßstab weist die Karte ein eher geringes Detail auf, was besonders beim Versuch, eine Radroute durch Felder und Wälder zu bauen, auffällt.
Fahrradkarte der Region Samara. Kleine Wege und Siedlungen sind auch im großen Maßstab sichtbar.
- Warum bist du im Projekt geblieben? Schließlich konnten sie nur die Pfade zeichnen, die Sie benötigen, und das war's.
- Das Zeichnen einer Karte in OSM ist eine gefährliche Aktivität, da sie unglaublich süchtig macht und dann schwer zu stoppen ist. Wie passiert das normalerweise? Ich markierte den Weg, sah aber, dass sich in der Nähe ein Gebäude befand, das aber nicht auf der Karte stand. Hinzugefügt. Dann wurde mir klar, dass es noch einen Bürgersteig und eine Straße dahinter geben musste ... und so weiter. Sie werden von dem Gefühl der Schönheit angetrieben: Sie möchten, dass alles schön ist, und zwar nicht nur an dem Ort, an dem Sie leben, sondern überall. Deshalb bin ich im Projekt geblieben. Zwar zeichne ich jetzt nicht mehr so viel wie früher, aber ich mache OSM immer noch langsam genauer. Grundsätzlich korrigiere ich kleinere Ungenauigkeiten oder aktualisiere die Karte - ich füge neue Objekte hinzu, die nach und nach an der für mich interessanten Stelle erscheinen.
- Warum interessieren Sie sich für Kartografie? Es ist immer noch ein ziemlich ungewöhnliches Hobby.
- Wahrscheinlich kommt dies von einem inneren Wunsch, zu wissen, was um Sie herum ist, und viel weiter, als Ihre Augen sehen können. Und ich hatte immer dieses Gefühl. Ich erinnere mich, dass ich bereits in der High School mit GIS experimentiert habe, zum Beispiel eine Anwendung in Delphi geschrieben habe (damals konnte ich nur darin programmieren), die eine dreidimensionale Karte der Samara-Region erstellt. Außerdem gab es zu dieser Zeit keine offenen Datensätze, oder ich wusste einfach nichts darüber, und deshalb habe ich die Höhendaten einem gewöhnlichen Papieratlas entnommen. Ich habe es gescannt und mit einem Plugin ein 3D-Modell erstellt. Ich habe mich also schon lange für Kartografie oder vielmehr für die Visualisierung der Welt um mich herum interessiert.
- Lassen Sie uns über Ihr 3D-Spiel Generation Streets sprechen , das auf OSM-Daten basiert. Wie wurde sie geboren?
- Ich werde sofort feststellen, dass ich seit 2010 Spiele entwickle. Für dieses spezielle Spiel kam mir vor einigen Jahren ganz zufällig die Idee, eine OSM-Karte dreidimensional zu rendern. Und der ganze Planet auf einmal. Ich habe mir bereits bestehende ähnliche Projekte ( F4map , OSM Buildings ) angesehen, aber leider hat mich keines davon zufriedengestellt - sie sind zu schematisch. Ich wollte einen realistischeren Render: mit Texturen, visuellen Trümmern in Form von Bäumen, Laternen usw. Mit einem Wort, mit diesem Unsinn, den wir normalerweise nicht bemerken, ohne den die Welt nicht lebendig aussieht.
- Und wie hast du angefangen dich zu entwickeln?
- Von der Suche nach einer Methode zur Massendatenverarbeitung, da ich den gesamten Planeten auf einmal machen wollte. Ich habe viel Zeit gebraucht. Zuerst habe ich versucht, dies über eine Datenbank zu tun, die auf osm2vectortiles basiert . Aber es hat nicht funktioniert, weil ich einen schwachen Computer hatte.
Am Ende habe ich mich für zwei kleine Programme entschieden: Osmconvert und Osmfilter . Für ihre Arbeit ist das Erhöhen der Datenbank nicht erforderlich. Sie nehmen OSM-Daten im PBF-Format auf und ermöglichen es Ihnen, die gewünschten Teile über Befehlszeilenparameter zu schneiden. So hatte ich die Möglichkeit, den gesamten Planeten ohne unnötige Probleme in Fliesen zu schneiden.
Ich bin jedoch sofort auf Folgendes gestoßen: Das PBF-Format ist für die Erzeugung eines dreidimensionalen Renderings nicht ganz praktisch, und daher musste es in ein dafür geeignetes Format konvertiert werden. Dazu hatte ich mehrere Hilfs Dienstprogramme zu schreiben, den Quellcode von denen ich bereits angelegt unter einer freien Lizenz auf GitHub. Sie basieren teilweise auf der ogr2ogr- Bibliothek .
Infolgedessen konnte ich mein eigenes Vektor-Kachel-Format erstellen, das meiner Meinung nach sehr praktisch ist, um im Renderer zu lesen und dreidimensionale Modelle zu generieren. Darüber hinaus können Sie Kacheln zu großen Archiven kombinieren, wodurch deren Speicherung vereinfacht wird. Dank dieser Funktion habe ich nicht Milliarden von Dateien, sondern nur ein paar Hundert.
- Warum haben Sie sich für ein eigenes Format entschieden? Ich gehe davon aus, dass es bereits vorgefertigte Lösungen gibt.
- Ja, Sie haben Recht: Es gibt bereits vorgefertigte Formate, einschließlich Vektorformate, beispielsweise von Mapbox, aber der Punkt ist, dass sie auf ein flaches - zweidimensionales - Bild fokussiert sind. Und sie haben eine unangenehme Eigenschaft: Wenn ein Gebäude auf die Verbindungsstelle von Fliesen trifft, wird es geschnitten. Für mich war das absolut inakzeptabel, denn damit ich später ein 3D-Modell des Gebäudes erstellen konnte, musste es ganz sein. Es gab keine vorgefertigte Lösung für dieses Problem. Ich denke, dass noch nie jemand darauf gestoßen ist. Also habe ich beschlossen, etwas Eigenes zu machen.
- Könnten Sie Ihre Statistiken über das Spiel teilen? Was sind die Bewertungen?
- Seit VeröffentlichungSpiele auf Steam (früher Zugriff - Oktober 2018, "vollständige" Veröffentlichung - Februar 2020) wurde von etwa 3.000 Personen heruntergeladen. Für diese Art von Spiel ist Indie ziemlich gut. Es ist auch wichtig, den folgenden Punkt zu berücksichtigen: Das Spiel hat ein schlechtes Gameplay. Und mir wurde sofort klar, dass ich im Rahmen dieses Projekts niemals mehr Spaß daran haben würde. Deshalb ist er was er ist.
Das Hauptinteresse an diesem Spiel ist, dass der Benutzer die Möglichkeit hat, ein interessantes Gebiet für ihn auf dem Planeten Erde herunterzuladen und dorthin zu fliegen. Die meisten Spiele haben diese Option nicht. Zum Beispiel freuen sich diejenigen, die in New York leben, regelmäßig darüber, dass ein anderes Spiel veröffentlicht wurde, in dem diese Stadt ausreichend detailliert nachgebildet wurde. Und diejenigen, die in Togliatti leben, werden wahrscheinlich nie auf das Spiel warten, das an den Orten ihrer Stadt entwickelt wurde. Genau darauf wette ich.
Da viele aber neben der Möglichkeit, ihre eigene Stadt zu laden, auch ein sorgfältig gestaltetes Gameplay erwarteten, erhielt ich zu diesem Teil mehrere negative Bewertungen. Sie sind gut verdient. Ich war anfangs darauf vorbereitet, da es in meinem Spiel nicht um das Gameplay geht, egal wie seltsam es auch klingen mag, sondern um Datenvisualisierung und die Fähigkeit, überall auf der Welt zu fliegen.
- Ihr Spiel verwendet OSM-Daten. Ist es möglich, es dadurch zu bearbeiten?
- Anfangs wollte ich den OSM-Editor einbetten, aber nach einem kleinen Experiment habe ich mich dagegen entschieden. Für eine Weile hatten Benutzer die Möglichkeit, Änderungen vorzunehmen. Diese Änderungen gingen nicht direkt an OSM, sondern wurden in der lokalen Datenbank "abgerechnet". Es stellte sich heraus, dass die Spieler weit von der OSM-Welt entfernt waren und daher sehr verantwortungslos auf die Karte reagierten. Jetzt denke ich darüber nach, auch diesen experimentellen Editor zu deaktivieren und alle zu senden, die zu JOSM gehen möchten.
- Soweit ich weiß, haben Sie den Code Ihres Spiels geöffnet und unter einer offenen Lizenz veröffentlicht. Warum hast du das getan? War diese Entscheidung schwer zu treffen?
- Ich habe nicht das ganze Spiel geöffnet, sondern nur den Code, der für die Generierung von 3D-Modellen verantwortlich ist. Erstens habe ich es getan, um meine Arbeit mit der Community zu teilen, da ich ihm eine gewisse Schuld empfand, weil ich selbst Open Source verwendet habe, das von anderen Programmierern geschrieben wurde. Zweitens werde ich höchstwahrscheinlich keine ernsthaften Änderungen mehr an diesem Produkt vornehmen, aber gleichzeitig gehe ich davon aus, dass es für jemanden von Interesse sein könnte und sogar jemand sich verpflichten wird, es zu entwickeln. Drittens möchte ich, dass mein Code verwendet wird und Menschen hilft, ihre Probleme zu lösen. Sie sehen, es wird mehr Projekte geben, die sich mit 3D-Rendering befassen, und vielleicht wird sie meine Heimatstadt Togliatti umfassen.
- Was magst du an OSM?
- Ich mag die offene Lizenz und die Fähigkeit, Daten zu erhalten, nicht nur vorgefertigte Kacheln. Zum Beispiel habe ich ein Videospiel gemacht. Kein anderer Kartendienst würde es mir erlauben, dies so einfach zu tun. Zumindest müssten Sie sich an die Entwickler wenden und nach den ersten Daten fragen. Und ich bin mir nicht sicher, ob mich die Branchenriesen auf halbem Weg getroffen hätten. Sofort nahm und lud ich den gesamten Planeten herunter und tat alles, was ich brauchte.
Mir gefällt auch, dass jeder am Projekt teilnehmen und die Karte genauer machen kann. JOSM- Editornicht so schwer. Gleichzeitig müssen Sie nicht warten, bis Ihre Änderungen akzeptiert oder genehmigt wurden. Sobald Sie sie senden, befinden sie sich sofort in der Hauptdatenbank, sodass Sie sie sofort für Ihre Anforderungen verwenden können. Aktualisieren Sie beispielsweise die Karte in Ihrem Navigator.
- Was ist nicht zu mögen?
- Fülle und unsystematische Tags. Das ist nicht immer gut. Außerdem ist es Zeit, sich etwas mit Offsets auszudenken. Manchmal öffnet man eine Stadt und merkt, dass eine Person sie gemalt hat, ohne diese Nuance zu berücksichtigen. Und Sie wissen nicht, was Sie tun sollen: alles übertragen oder mit dem falschen Versatz weiter zeichnen? Natürlich verstehe ich, dass die Welt unvollkommen ist, man muss einige Probleme überwinden. Im Allgemeinen hat OSM mehr Vor- als Nachteile.
- Was wäre besser zu machen?
- Ich würde gerne einen guten Web-Editor sehen. Ja, es gibt bereits ein iD , aber es richtet sich an Neulinge. Ich möchte etwas bequemeres. Außerdem scheint es mir viel besser zu sein, wenn die Objekte im OSM irgendwie miteinander verwandt wären. Wenn nun Änderungen an der Form des Gebäudes oder an der Position der Straße in der Nähe vorgenommen werden, wirkt sich diese Änderung in keiner Weise auf die benachbarten Objekte aus. Auch wenn zum Beispiel nach dem Wechsel die Straße über das Haus führte. Ich weiß noch nicht, wie genau eine solche Interaktion implementiert werden kann, möchte jedoch, dass Informationen zu Abhängigkeiten verfügbar sind. Dann würden beispielsweise öffentliche Verkehrswege nicht brechen, wenn die Straße bearbeitet würde. Ich nehme an, dies wird die OSM-Daten für die Bearbeitung und ihre weitere Verwendung noch komfortabler machen.
- Verwenden Sie OSM in Ihrem persönlichen Leben? Für die Arbeit? Neben dem Spiel.
- Im täglichen Leben mit mobilen Navigatoren OruxMaps und maps.me . Beide sind offline, dh Sie können mit der Karte ohne Internet arbeiten. Ihre Karten basieren auf OSM. Was ich an OruxMaps mag, ist, dass Sie damit auch Ihre eigenen Karten im Vector Mapsforge- Format verwenden können .
- Welchen Rat haben Sie für Anfänger? Oder diejenigen, die nur denken: sich auf das Projekt einlassen oder nicht.
- Wenn Sie einen mobilen Navigator verwenden, der auf OSM basiert, sollten Sie die von Ihnen verwendete Karte übrigens noch genauer erstellen. Schließlich wissen viele einfach nicht, dass die Karte direkt vom Telefon aus bearbeitet werden kann.
Für diejenigen, die bereits mit OSM vertraut sind und sogar ein wenig Diagramme erstellen , lautet der erste und wichtigste Rat: Lesen Sie vor dem Bearbeiten der Karte WikiOSM . Fast alles ist da. Dies erspart Ihnen viele Fehler und ermöglicht es Ihnen, die Mapping-Kultur zu übernehmen und sich Ihrer Verantwortung gegenüber denjenigen bewusster zu werden, die dann die von Ihnen bearbeitete Map verwenden. Vergessen Sie niemals, dass OSM-Daten in einer Vielzahl von Projekten verwendet werden, und versuchen Sie daher immer, ein hohes Qualitätsniveau der eingegebenen Daten aufrechtzuerhalten.
- Was wirst du am Ende des Gesprächs sagen?
- So laut es auch klingen mag, OSM ist derzeit das einzige offene und kostenlose kartografische Projekt der Welt. Es ist eine unabhängige Alternative zu kommerziellen Kartendiensten. Deshalb müssen Sie daran teilnehmen und es auf jede mögliche Weise entwickeln. Wenn OpenStreetMap nicht mehr existiert, werden wir alle gezwungen sein, kommerzielle Karten zu den Bedingungen zu verwenden, die uns jemand auferlegt. Und Sie können die kostenlose Nutzung von Geodaten vergessen.
Russische OpenStreetMap-Teilnehmer kommunizieren im Telegramm- Chat und im Forum .
Es gibt auch Gruppen in den sozialen Netzwerken VKontakte , Facebook , die jedoch hauptsächlich Nachrichten veröffentlichen.
→ OSM beitreten!
Frühere Interviews: