123DiceRoller to darmowy symulator kostek online, który rzuca realistycznymi kostkami 3D w twojej przeglądarce. Powstał po to, by być uczciwy, szybki i prywatny: wyniki pochodzą z kryptograficznie bezpiecznego generatora liczb losowych, kostki toczą się zgodnie z prawdziwą fizyką, a nic o tobie ani o twoich rzutach nie trafia na serwer.
Jak działa rzut, krok po kroku
- Najpierw losowane są liczby. Dla każdej kostki interfejs Web Crypto API twojej przeglądarki (
crypto.getRandomValues) dostarcza losową liczbę 32-bitową. Zamienia się ją na ściankę metodą próbkowania z odrzucaniem – losowania, przez które niskie ścianki byłyby minimalnie bardziej prawdopodobne, są odrzucane – więc każda ścianka kostki N-ściennej ma dokładnie szansę 1 na N. - Rzut jest symulowany. Silnik fizyki brył sztywnych (cannon-es) rzuca kostki na stół z uwzględnieniem grawitacji, tarcia, odbić i zderzeń między kostkami. Cały rzut jest obliczany w ułamku sekundy, zanim go zobaczysz.
- Kostki są obracane tak, by wynik się zgadzał. Każdy kształt kostki jest symetryczny: k20 można obrócić na 60 różnych sposobów i wygląda identycznie. Symulator wybiera ten jeden obrót, który przenosi wylosowaną liczbę tam, gdzie fizyka umieściła górną ściankę, i stosuje go od pierwszej klatki. Ruch jest prawdziwy, a liczba była już ustalona – uczciwie.
- Krzywo leżące kostki są rzucane ponownie. Jeśli któraś kostka miałaby się zatrzymać oparta o inną, rzut jest niewidocznie powtarzany – tak jak przy prawdziwym stole trzeba by go powtórzyć.
- Rzut jest odtwarzany z cieniami, odbiciami i dźwiękiem zgranym z każdym uderzeniem.
Dlaczego to nie fizyka wybiera liczbę?
Bo symulacja nie jest uczciwym źródłem losowości. Drobne szczegóły pozycji startowej, kroku czasowego i zaokrągleń mogą sprawić, że niektóre ścianki będą wypadać częściej niż inne, i nikt nie jest w stanie udowodnić, że tak nie jest. Generator kryptograficzny jest projektowany i testowany tak, by był nieprzewidywalny i równomierny. Rozdzielenie tych dwóch rzeczy daje to, co najlepsze w obu: rzut, który wygląda i brzmi prawdziwie, i wynik, któremu możesz ufać.
Dokładne prawdopodobieństwa
Szanse pokazywane przy każdym rzucie są obliczane, a nie zgadywane. Sumy liczy się splotem, kostka po kostce, a rzuty z zachowaniem lub odrzuceniem kostek, takie jak ułatwienie, przez zliczenie każdego odrębnego wyniku. Metodę wyjaśnia kalkulator prawdopodobieństwa kostek.
Na czym działa
- three.js do renderowania 3D (licencja MIT)
- cannon-es do fizyki (licencja MIT)
- Zwykły PHP na serwerze, bez bazy danych, bez kont i bez śledzenia
Obie biblioteki są serwowane z tej strony, a nie z zewnętrznego CDN, więc strona nigdy nie ładuje kodu z innych miejsc.
Część rodziny 123
123DiceRoller działa obok 123Calculator i naszych innych darmowych narzędzi, które nie wymagają rejestracji. Masz pytanie, pomysł albo błąd do zgłoszenia? Napisz na hello@123diceroller.com.
Ostatnia aktualizacja: