seedlookout
Polski
Wszystkie artykuły

Dlaczego stworzyliśmy SeedLookout

Leśny dwór na wysokiej kamiennej podstawie nad rzeką, w gęstym lesie z czerwonymi grzybami i ośnieżonymi szczytami gór w tle. Zrzut ekranu z gry, Java 1.20.1.

SeedLookout to katalog ziaren gry Minecraft, które wczytaliśmy w podanej dla nich wersji gry. Każde miejsce wymienione na stronie ziarna znaleźliśmy pod jego współrzędnymi w tej wersji, a każdy zrzut ekranu na stronie pochodzi z samej gry. Zaczęliśmy budować katalog pod koniec września 2026. Gdy opublikowaliśmy ten wpis 30 września 2026, zawierał 116 ziaren sprawdzonych w grze: 106 dla Java 26.3 i 10 dla Java 1.20.1.

SeedLookout ma też mapę ziaren, wyszukiwarkę ziaren i zestaw narzędzi do światów. Działają w twojej przeglądarce.

Dlaczego zaczęliśmy

Chcieliśmy mieć listę ziaren ze współrzędnymi, które sprawdzają się po wczytaniu świata, oraz narzędzia, które wyjaśniają, na ile możesz ufać ich wynikom. Zanim zaczęliśmy cokolwiek tworzyć, zebraliśmy 674 publiczne opisy ziaren ze 181 stron: z dwóch serwisów z ziarnami, trzech zestawień wydawców, poradnika twórcy o wioskach oraz listy ziaren z jednego filmu. Łącznie obejmują 634 różne numery ziaren. Następnie sprawdziliśmy każdy opis pod kątem szczegółów potrzebnych graczowi do odtworzenia świata.

Wykresy słupkowe. Panel a: udział opisów, w których brakuje poszczególnych szczegółów, wśród 674 publicznych opisów ziaren. Niepodany typ świata 542, brak wysokości części obiektów 488, brak dokładnej wersji 412, brak wskazania twórcy 87, niepodana wersja 81, brak współrzędnych 62, niepodana edycja Java lub Bedrock 28. Panel b: opisy według podanej rodziny wersji. 26.x 329, 1.21 23, 1.20 57, 1.19 11, 1.18 9, 1.0–1.17 148, Alpha i Beta 15, niepodana 81, inna 1.

Rysunek 1. Co pomijały 674 publiczne opisy ziaren (a) i jakie wydania podawały (b). Jeden opis może mieć kilka braków. Dane zebrano ze 181 publicznych stron do 30 września 2026; są to twierdzenia samych źródeł, których nie sprawdziliśmy.

Przy odtwarzaniu świata najważniejsze są wersja i edycja. W 412 opisach (61%) nie podano dokładnej wersji: 331 wskazywało tylko rodzinę wersji, taką jak „1.20”, zamiast dokładnej wersji, takiej jak „1.20.1”, a 81 (12%) nie podawało żadnej wersji. Kolejne 28 nie określało, czy ziarno jest przeznaczone dla Java, czy Bedrock. W 62 opisach brakowało współrzędnych wszystkich obiektów, a 488 (72%) pomijało wysokość co najmniej jednego. Cztery opisy zawierały szczegóły sprzeczne ze sobą lub z wcześniejszym źródłem: numer ziarna z pominiętym znakiem minus, inny numer ziarna dla tych samych współrzędnych oraz dwie współrzędne podane na dwa różne sposoby.

Opisy obejmują też całą historię gry: 329 wskazywało wersję z rodziny 26.x, 148 podawało wersję 1.17 lub wcześniejszą, a 15 wskazywało okres Alpha lub Beta.

Te braki mają znaczenie, bo ziarno nie zawsze daje ten sam świat. Gdy aktualizacja zmienia generowanie świata, to samo ziarno może dać inny teren. W Java i Bedrock to samo ziarno może dawać taki sam teren i biomy, a mimo to rozmieszczać struktury inaczej. Strona o serwisie wyjaśnia, jak dopasować ziarno do swojej gry. Każdy zebrany opis traktujemy jako niezweryfikowany i przechowujemy go w naszych plikach badawczych, poza serwisem, dopóki sami go nie sprawdzimy.

Jak sprawdzamy ziarno

Dla każdego ziarna wczytujemy nowy świat w podanej wersji gry i porównujemy każdą wymienioną strukturę oraz biom z tym, co wygenerowała gra. Lokalizacja przechodzi weryfikację, gdy wygenerowany fragment danej struktury znajduje się w odległości do 16 bloków w poziomie i 32 bloków w pionie od podanej współrzędnej. Zrzuty ekranu na stronie ziarna pochodzą z tej samej wersji gry ze standardowymi teksturami, a każdy ma podpis z wersją i współrzędnymi.

Każdą weryfikację przegląda człowiek: potwierdzamy każdy werdykt i upewniamy się, że każdy zrzut ekranu pokazuje to, co powinien. Ziarno publikujemy dopiero po tym przeglądzie i nigdy wtedy, gdy któraś z wymienionych lokalizacji nie przeszła weryfikacji.

Dwa wykresy. Panel a: wyniki weryfikacji 141 ziaren w grze. Opublikowane 116, wstrzymane do przeglądu 11, odrzucone 14. Panel b: odległość w poziomie od podanej pozycji do struktury wygenerowanej przez grę dla 16 wymienionych struktur, których nie było w podanej pozycji. Piramidy na pustyni, 6, w odległości 536–1270 bloków. Ruiny na szlaku, 4, w odległości 372–908 bloków. Piramidy w dżungli, 2, w odległości 1314 i 1444 bloków. Pradawne miasto 458 bloków, komnaty prób 256 bloków, opuszczone obozowisko 900 bloków. Jedna opuszczona kopalnia znajdowała się pod podanymi współrzędnymi X i Z, ale o 49 bloków głębiej, niż podano. Pasmo zaliczenia wynosi 16 bloków.

Rysunek 2. Co wykazały kontrole w grze. (a) Najnowsza kontrola każdego ze 141 ziaren, które sprawdziliśmy w grze. (b) 16 struktur wymienionych w opisach 14 odrzuconych ziaren, których gra nie wygenerowała w podanych miejscach, według odległości od podanych współrzędnych X, Z do najbliższej wygenerowanej struktury danego typu. Lokalizacja przechodzi kontrolę przy odchyleniu do 16 bloków w poziomie i 32 bloków w pionie (zielone pasmo). 547 twierdzeń o strukturach, do 30 września 2026.

Spośród 547 struktur wymienionych dla tych ziaren 531 przeszło weryfikację. Pozostałe 16 znajdowało się daleko od podanych pozycji: 15 było oddalonych o 256–1444 bloki od miejsca, w którym gra umieściła najbliższą strukturę danego typu (mediana wyniosła 900 bloków), a jedna opuszczona kopalnia była we właściwym miejscu na mapie, ale o 49 bloków głębiej, niż podano. Piramidy na pustyni i ruiny na szlaku stanowią 10 z tych 16 struktur. Żadne z 14 ziaren ze strukturą w błędnie podanej lokalizacji nie jest dostępne w serwisie, a 11 wstrzymanych ziaren czeka na przegląd.

W opisie ziarna 17108149081942125 dla Java 26.3 podano opuszczone obozowisko w pstrokatym lesie pod współrzędnymi X, Y, Z: -176, 73, -256. Podane współrzędne X i Z znajdują się wewnątrz obozowiska wygenerowanego przez grę. Ten zrzut ekranu pokazuje je od zachodu:

Mały namiot na półce skalnej nad brzegiem jeziora, za nim czerwone i pomarańczowe drzewa, a dalej pole niebieskich lodowych kolców. Zrzut ekranu z gry, Java 26.3.

Co obejmuje „sprawdzone w grze”

Weryfikacja obejmuje struktury i biomy wymienione na stronie ziarna, pod ich współrzędnymi, w tej jednej wersji. Nie obejmuje łupów, punktu odrodzenia ani żadnej innej wersji. Jeśli grasz na tym ziarnie w innej wersji, sprawdź lokalizacje samodzielnie, zanim zaczniesz na nich polegać.

Narzędzia

Mapa ziaren pokazuje biomy i przewidywane struktury dla Java i Bedrock w Overworldzie, Netherze i Endzie. Wyszukiwarka ziaren sprawdza zakres ziaren pod kątem wybranych przez ciebie biomów i struktur dla konkretnej wersji i otwiera każdy pasujący wynik na mapie ziaren. Narzędzia świata odczytują ziarno i punkt odrodzenia z pliku świata, znajdują chunki slime’ów, tworzą ustawienia superpłaskich światów Java i szacują położenie twierdzy na podstawie dwóch rzutów Okiem Endera.

Mapa, wyszukiwarka, chunki slime’ów i oszacowanie położenia twierdzy to przewidywania modelu. Ich wyników nie sprawdzono w grze, o czym informują strony. Wyszukiwarka nie może przeszukać wszystkich ziaren i może pominąć małe fragmenty biomów. Mapa opiera się na otwartych forkach Cubiomes, z osobnymi kompilacjami dla Java i Bedrock, dzięki czemu przewidywanie dla Java nigdy nie jest pokazywane jako przewidywanie dla Bedrock. Niektórych funkcji wciąż brakuje: na przykład mapa nie przewiduje lochów w Java. Strona O nas wymienia znane nam braki.

Szybsza wyszukiwarka ziaren

Kolejnym krokiem w rozwoju narzędzi jest zwiększenie szybkości. Optymalizujemy publicznie dostępne silniki Cubiomes, na których opierają się mapa i wyszukiwarka, aby ten sam komputer mógł sprawdzić znacznie więcej ziaren w tym samym czasie. Ma to największe znaczenie przy rzadkich ziarnach: na przykład wyszukiwanie czterech chatek na bagnach blisko siebie wymaga odrzucenia około 15 milionów ziaren na każde pasujące. Szybszy silnik sprawia, że takie wyszukiwania stają się bardziej praktyczne. Znalezione przez niego ziarna nadal są przewidywaniami modelu.

Szybszy silnik nazywamy v0.1. Działa wyłącznie na naszych komputerach; wyszukiwarka ziaren na stronie korzysta z obecnego silnika. W naszych pierwszych pomiarach wydajności v0.1 znalazł dokładnie te same ziarna co mechanizm sprawdzający używany na stronie w każdym testowanym zakresie i był szybszy w większości sprawdzonych wyszukiwań:

Wykres słupkowy w skali logarytmicznej przedstawiający liczbę ziaren przeszukiwanych na sekundę dla czterech wyszukiwań. Wioska w promieniu 256 bloków od punktu odrodzenia na jednym wątku: obecny silnik strony 155–242, wyszukiwanie w stylu Cubiomes 465–490, wyszukiwarka SeedLookout v0.1 4390–4860. Pola grzybowe, twierdza i wioska blisko punktu odrodzenia na 16 wątkach: wyszukiwanie w stylu Cubiomes 2800, wyszukiwarka SeedLookout v0.1 31000. Wioska w promieniu 256 bloków od 0, 0 na jednym wątku: obecny silnik strony 353–611, wyszukiwanie w stylu Cubiomes 32600–34100, wyszukiwarka SeedLookout v0.1 33600. Forteca Netheru i wioska na jednym wątku: obecny silnik strony 2665–5440, wyszukiwanie w stylu Cubiomes 326000, wyszukiwarka SeedLookout v0.1 323000.

Rysunek 3. Liczba ziaren przeszukiwanych na sekundę dla czterech wyszukiwań w Java 26.3 (skala logarytmiczna). „Obecny silnik strony” to mechanizm sprawdzający używany przez dzisiejszą wyszukiwarkę ziaren; „w stylu Cubiomes” to natywne wyszukiwanie napisane w zwykły sposób z użyciem Cubiomes; wąsy obejmują wyniki zarejestrowanych przebiegów. Wyniki wstępne: jeden krótki przebieg dla każdego ustawienia na jednej współdzielonej stacji roboczej (Ryzen 7 7840H) przy obciążeniu w tle 30–60%, więc traktuj proporcje jako orientacyjne.

Na jednym wątku wyszukiwanie wioski blisko punktu odrodzenia osiągnęło 155–242 ziarna na sekundę z obecnym silnikiem strony i około 4400–4900 z v0.1, czyli dziewięć do dziesięciu razy większą szybkość niż wyszukiwanie w stylu Cubiomes. Na 16 wątkach wyszukiwanie rzadkiego układu pól grzybowych, twierdzy i wioski blisko punktu odrodzenia osiągnęło około 31000 ziaren na sekundę, w porównaniu z około 2800 dla wyszukiwania w stylu Cubiomes. W pozostałych dwóch wyszukiwaniach v0.1 i wyszukiwanie w stylu Cubiomes działały z mniej więcej taką samą szybkością. Kontynuujemy optymalizację silnika po v0.1. Zanim podamy bardziej miarodajne liczby, zarejestrujemy pełny pomiar bazowy na nieobciążonym komputerze.

Co dalej

Będziemy nadal sprawdzać ziarna z katalogu i publikować tylko te, w których każda wymieniona lokalizacja została potwierdzona. Będziemy dodawać kolejne wydania Java, po jednej wersji. Ziarna Bedrock pozostaną poza katalogiem, dopóki nie będziemy mieć przetestowanego sposobu ich sprawdzania.

Możesz przeglądać katalog i filtrować go według wersji. Strona O nas zawiera pełną definicję tego, co sprawdzamy.

UDOSTĘPNIJReddit

Ziarna w tym wpisie

Źródła

  1. Ziarno (generowanie poziomu), Minecraft Wiki
  2. Fork Cubiomes dla Java używany przez mapę ziaren (xpple/cubiomes)
  3. Fork Cubiomes dla Bedrock używany przez mapę ziaren (FragrantResult186/cubiomes-bedrock)