Laboratorium skali: cała gra w jednym rzędzie

Laboratorium skali: w jednym rzędzie Słońce, sześć planet, czarna dziura, meteoryt, kometa, stacja, dron i statek, każdy otoczony kolorowymi okręgami, pod spodem linijka od 0 do ponad 200 jednostek

Prawdziwy zrzut ekranu z laboratorium skali. Wszystko, co jest w grze, w jednym rzędzie i w rozmiarach z gry. Statek roju to ta prawie niewidoczna kropka na samym końcu po prawej.

Od kilku dni powoli zmieniamy skalę Swarm Protocol: najpierw zmniejszyliśmy statki i stację, potem powiększyliśmy planety i Słońce. Każdy taki krok sprawdzaliśmy w grze, ale w grze obiekty są porozrzucane po dziewięciu orbitach i trudno je porównać „na oko”. Dlatego powstało nowe narzędzie, laboratorium skali. Każdy może je otworzyć w przeglądarce: michalstankiewicz4-cell.github.io/Space/labs/scale.html.

Pomysł Michała i jedno pytanie o wydajność

Michał opisał to tak: „przydałoby się laboratorium skali, w którym wszystkie obiekty z gry są jeden przy drugim w rzędzie, w wielkości jakiej są w grze. To pozwoli precyzyjnie stwierdzić, co trzeba urosnąć, a co zmniejszyć”. Od razu też zapytał, czy takie laboratorium utrzyma płynność nawet na minimalnych detalach, i zaproponował, żeby zamiast modeli wstawić obrysy z podpisami.

Obawa o płynność była zrozumiała, bo planety w grze to dość ciężkie shadery. Tyle że laboratorium pokazuje po jednym egzemplarzu każdego obiektu, czyli kilkanaście rzeczy, a sama gra rysuje to wszystko naraz, do tego niebo, orbity i inne statki. W laboratorium wyszło 165 klatek na sekundę przy niskich i przy wysokich detalach, czyli tyle, ile odświeża się ekran. Pomysł z obrysami okazał się jednak świetny, tylko z innego powodu: obrysy pokazują rzeczy, których na modelu w ogóle nie widać. Dlatego są oba tryby, przełączane osobno.

Liczby prosto z gry

Najważniejsza decyzja była mało widowiskowa. Laboratorium nie ma własnej listy rozmiarów, tylko czyta je z tych samych plików, z których korzysta gra. Gdybyśmy przepisali liczby do osobnego pliku, pewnie po trzech zmianach skali laboratorium pokazywałoby już coś innego niż gra, i nikt by tego nie zauważył. Teraz wystarczy zmienić stałą w grze i laboratorium od razu to pokazuje. Modele też są te same co w grze: planety, Słońce i czarna dziura z laboratorium ciał, stacja, dron i statek z laboratorium statków. Stacja jest nawet zniszczona dokładnie w takim stopniu jak na starcie gry.

Kamera patrzy bez perspektywy (rzut ortogonalny), więc rozmiary porównują się dokładnie w każdym miejscu ekranu, a nie tylko na środku. Kółkiem myszy przybliżasz w miejscu kursora, przeciąganiem przesuwasz, a podwójne kliknięcie w obiekt dopasowuje do niego widok.

Co widać w obrysach

Ten sam rząd bez modeli: przy każdym ciele kilka okręgów, biały, żółty przerywany, turkusowy i fioletowy przerywany, przy czarnej dziurze duży pomarańczowy okrąg przyciągania

Prawdziwy zrzut ekranu: ten sam rząd w trybie samych obrysów.

Każdy kolor to inna liczba z gry:

  • biały: promień, jaki widzisz na ekranie;
  • żółty przerywany: rozmiar „rozgrywkowy”, od którego zależą grawitacja, punkty i zdrowie. Po powiększeniu planet te dwa rozmiary się rozeszły i dopiero tu widać, jak bardzo: planeta rysowana jest dwa i pół raza większa, niż „waży”;
  • turkusowy: orbita, z której statki roju gryzą ciało;
  • fioletowy przerywany: zasięg, w którym dron tankuje i atakuje;
  • przy czarnej dziurze czerwony to punkt bez powrotu, a pomarańczowy to zasięg przyciągania. Przy stacji zielony to jej pole ochronne, w którym nie działa grawitacja.
Zbliżenie na trzy planety: MAGMA, TERRA-1 i RIME, każda z opisem promienia, rozmiaru rozgrywkowego, orbity jedzenia i zasięgu dokowania, wokół nich turkusowe i przerywane okręgi

Prawdziwy zrzut ekranu: po przybliżeniu przy każdym obiekcie pojawiają się jego liczby. Mały przerywany okrąg w środku planety to jej rozmiar rozgrywkowy.

Pierwsze spostrzeżenia

Już pierwszy rzut oka dał kilka rzeczy do przemyślenia. Orbita jedzenia Słońca (14,2) jest ledwie nad jego powierzchnią (12,6), więc gryzący je rój lata praktycznie po tarczy. Zasięg przyciągania czarnej dziury (11,25) sięga dalej niż promień którejkolwiek planety, choć sama dziura wygląda niepozornie. Stacja jest półtora raza większa od meteorytu i jedenaście razy dłuższa od statku roju. Czy to dobre proporcje, jeszcze nie wiemy. Ale teraz przynajmniej dokładnie wiemy, jakie są.

Po lewej stacja HAVEN w białym okręgu zasięgu kliknięcia, przez środek kadru zielona przerywana granica pola stacji, po prawej malutki dron i jeszcze mniejszy statek roju, w rogu podziałka 1 jednostka

Prawdziwy zrzut ekranu: stacja, dron i statek obok siebie. Zielona linia to granica pola ochronnego stacji, a podziałka w rogu pokazuje jedną jednostkę.

Drobne wpadki

Nie obyło się bez nich. Najpierw po przybliżeniu na statek jego podpis uciekał pod górny pasek. Odstęp podpisu od obiektu liczyłem w jednostkach gry, a przy mocnym przybliżeniu 0,3 jednostki robiło się ogromnym dystansem. Teraz odstęp jest w pikselach. Przy mocnym przybliżeniu linijka pod rzędem wyjeżdża poza ekran, więc w rogu doszła stała podziałka, która sama dobiera długość: 10 jednostek, 1 jednostka, 0,1 jednostki. W widoku całego rzędu podpisy małych obiektów wchodziły na siebie, więc co drugi jest teraz o linijkę wyżej, a liczby pojawiają się dopiero wtedy, gdy jest na nie miejsce. Była też moja literówka: jakość planet wybierałem po nazwie („low”), a BodyKit trzyma ją w tablicy pod numerami. Na szczęście wyszło to przy pierwszym uruchomieniu.

Co dalej

Laboratorium jest narzędziem, a nie końcem pracy. Teraz, gdy widać wszystko naraz, łatwiej będzie zdecydować o kolejnych krokach skali. Może Słońce potrzebuje wyższej orbity jedzenia, może stacja powinna urosnąć względem planet, a może trzeba wrócić do odległości między orbitami, co jest najdroższą z tych zmian, bo zależy od niej fizyka. Laboratorium weszło też na naszą listę kontrolną: przed każdą zmianą skali i po niej zaglądamy do rzędu.

Komentarze

Popularne posty z tego bloga

Witajcie na blogu Swarm Protocol

Stacja kosmiczna, pamiętliwy dron i pierwsze plany na hacking

Pod maską: pętla bez końca, 15 statków i klawisz C