Blog | Internet | QA

Efekty literówek bywają niespodziewane (DziałaAle #1) ✈️

· maciej

Cześć! Postanowiłem rozpocząć na blogu serię, która będzie polegała na wrzucaniu przykładów różnych bugów, które wystąpiły w znanym oprogramowaniu i prowadziły do ciekawych/nietypowych/poważnych błędów. Wpisy będą miały charakter krótkich postów (kto dzisiaj chce czytać długie artykuły?).

 

Tym razem coś z branży gier i jednym z moich ulubionych hobby - projektu OpenStreetMap. Bug ujawnił się dosyć niedawno w popularnym symulatorze Microsoft Flight Simulator 2020, który miał swoją premierę kilka dni temu.

 

OpenStreetMap - mapa, którą każdy może edytować

OpenStreetMap to powstały w 2004 r. projekt, który można nazwać mapową Wikipedią. Grono wolontariuszy w wolnym czasie tworzy mapę, która może być następnie wykorzystywana za darmo (w przeciwieństwie np. do Google Maps). Nie wszyscy są świadomi, że np. mapy używane przez Facebooka, Stravę czy np. Yanosika, są tak naprawdę tworzone przez zwykłych użytkowników. Jak to zwykle ma miejsce w projektach, w których każde może wprowadzać zmiany, dochodzi do różnego rodzaju wandalizmów, czy niecelowych błędów (sam kilkakrotnie takie popełniłem w trakcie edycji). OpenStreetMap nie posiada mechanizmu anty-wandal, jak Wikipedia (zmiany do przejrzenia). To powoduje, że część błędnych danych może pozostać niezauważona i następnie być renderowana na mapach i używana w dalszych przetworzeniach.

 

Rozbudowana baza danych, jaką jest OpenStreetMap, to doskonały zasób do tworzenia gier. Zwłaszcza dane dotyczące sieci dróg i budynków. Wiele miast posiada obrysy budynków zaimportowane np. z baz urzędów miast (np. Wrocław) - dokładność bije na głowę Google Maps.

 

Microsoft Flight Simulator 2020

Jedną z gier wykorzystujących dane z OpenStreetMap jest Microsoftowy Flight Simulator 2020, który miał swoją premierę kilka dni temu. Gra zebrała mnóstwo dobrych recenzji. Symulator zachwyca swoimi pięknymi, fotorealistycznymi widokami. Co jest niesamowite, gra pozwala na odwiedzenie każdego miejsca na Ziemi. Mapy, wraz z modelami 3d, są generowane na bieżąco z Bing Maps (wybrany obszar może też być wcześniej pobrany). Na podstawie samych zdjęć satelitarnych trudno jest wygenerować np. wysokości budynków, dlatego w algorytmie wykorzystano także dane z OpenStreetMap. I to właśnie doprowadziło do błędu z ciekawym efektem.

 

Rok temu, jeden z edytorów OSM, omyłkowo wprowadził wartość dla tagu na liczbę pięter budynku znajdującego się w Fawkner, na przedmieściach australijskiego Melbourne. Zamiast 2 pięter wprowadził 212:

Obrazek przedstawiający literówkę w bazie OpenStreetMap

 

Bug został po jakimś czasie poprawiony w OpenStreetMap, jednak Microsoft do gry wykorzystał jeszcze starsze dane, co spowodowało dość spektakularny efekt:

212 piętrowy budynek w Microsoft Flight Simulator

 

Jak widać na zrzucie z gry - walidacja danych wejściowych, zwłaszcza z niepewnych źródeł powinna być obowiązkowa. Inaczej prowadzi do niespodziewanych rezultatów. W tym przypadku to jednak tylko gra a ten bug , według mnie, to bardziej reklama dla gry i projektu OSM. Jednak nie zawsze bywa tak przyjemnie i literówki, podobnie jak przejęzyczenia, mają fatalne skutki.

 

Kolejnym wnioskiem jest to, że warto uczestniczyć w projektach typu Wikipedia, czy OpenStreetMap. Czasami można się pozytywnie zaskoczyć, widząc dodawane przez siebie obiekty, budynki, czy drogi na wyświetlaczach w autobusach, czy gdzieś na mapie rowerów miejskich. Twórca tego wieżowca z przedmieść Melbourne zapewne też jest dumny.

 

Źródło


Dodaj nowy komentarz

Brak komentarzy