Jak telefon liczy własne loopingi
Looping nie potrzebuje kamery ani sędziego: telefon sam mierzy swój rzut. Oto co dzieje się między chwilą, gdy opuszcza twoją dłoń, a chwilą, gdy pojawia się wynik.
Dwa czujniki, które ma każdy telefon
Akcelerometr mierzy siły działające na telefon. Gdy telefon leży na stole, wskazuje przyciąganie ziemskie, około 9,8 m/s². Żyroskop mierzy, jak szybko telefon obraca się wokół każdej ze swoich trzech osi, w stopniach na sekundę.
Oba trafiły do telefonów, żeby obracać ekran, liczyć kroki i stabilizować zdjęcia. Looping odczytuje je przez przeglądarkę, kilkadziesiąt razy na sekundę.
Wykrywanie lotu
W chwili, gdy telefon opuszcza twoją dłoń, nic go już nie popycha. Spada swobodnie, zarówno w drodze w górę, jak i w dół, a akcelerometr nie wskazuje prawie nic. Ta nagła cisza to znak rozpoznawczy lotu. Kończy ją ostry skok, kiedy telefon zatrzyma ręka albo materac.
Obracający się telefon zaciemnia obraz: akcelerometr nie leży dokładnie w jego środku, więc sam obrót wywiera na niego nacisk. Dlatego gra nie szuka zwykłego zera. Sprawdza, czy to, co wskazuje akcelerometr, jest dokładnie tym, co tłumaczy obrót zmierzony przez żyroskop. Telefon potrząsany w dłoni albo zakręcony na stole tego testu nie przejdzie.
Żeby lot się liczył, musi trwać co najmniej 0,3 sekundy: to około jedenastu centymetrów w górę, dość, by odróżnić rzut od drgnięcia ręki.
Liczenie obrotów
W czasie lotu żyroskop wiele razy na sekundę podaje prędkość obrotu. Pomnóż każdy odczyt przez czas, który obejmuje, dodaj wszystko do siebie i masz łączny kąt, o jaki obrócił się telefon, bez względu na oś: koziołkując (salto), wokół dłuższej osi (beczka) albo na płasko, jak bączek (płaski obrót).
Jeden looping to 360°. Liczba na ekranie to liczba pełnych obrotów, a obrót liczy się od 80%. Kto patrzy na rzut, widzi mniej więcej jedną piątą obrotu więcej, niż mieści swobodny lot, bo telefon obraca się już w dłoni przy wypuszczaniu i wciąż jeszcze przy łapaniu. Ranking patrzy za to na łączny obrót, co do stopnia.
Skąd bierze się wysokość
Gra nie widzi sufitu: mierzy czas lotu. Coś, co rzucono w górę i złapano na tej samej wysokości, przez połowę czasu lotu się wznosi, a przez drugą opada, i stąd bierze się wysokość: 0,5 s w powietrzu to około 30 cm, 0,75 s około 70 cm, a sekunda około 1,2 m.
To szacunek. Złap telefon niżej niż w miejscu wyrzutu, a liczba trochę ci pochlebi.
Kiedy czujnik nie nadąża
Każdy żyroskop ma swój limit: prędkość obrotu, powyżej której podaje wciąż tę samą liczbę. Zmierzyliśmy około 1150 °/s w niektórych telefonach z Androidem, 2300 °/s w innych i 4000 °/s w nowszym iPhonie, czyli jedenaście obrotów na sekundę.
Gdy rzut przekracza limit, gra nie wymyśla brakujących obrotów. Zachowuje minimum, które naprawdę zmierzyła, i mówi o tym przy wyniku, albo odrzuca rzut, gdy niczego nie może zagwarantować. Wynik może być niższy od prawdy; wyższy nie jest nigdy.
Dlaczego wynik liczy serwer
Twój telefon rejestruje rzut; nie ocenia go. Surowe odczyty trafiają na serwer gry, który oblicza wynik według tych samych zasad dla wszystkich i sprawdza, czy opisują one prawdziwy swobodny lot. Jedno nagranie może się liczyć tylko raz.
Dzięki temu rankingowi można ufać: nikt nie może wysłać liczby, tylko rzut. Bez sieci rzut jest przechowywany w telefonie (do dwunastu, przez siedem dni) i zostanie policzony, gdy wróci połączenie.
Co gra odczytuje, a czego nie
Looping odczytuje czujniki ruchu i nic więcej: żadnej kamery, mikrofonu ani lokalizacji. Co jest zapisywane i na jak długo, przeczytasz w informacjach prawnych.
Zagraj w LoopingDowiedz się więcej
English Français Español Português Deutsch Italiano Nederlands Polski Türkçe Русский Українська العربية हिन्दी বাংলা Bahasa Indonesia Tiếng Việt ไทย 日本語 한국어 中文