Przejdź do treści
pikselarnia
Menu
zniwowo-3-rysunki/okladka.webp
Okładka wpisu: napis Devlog Żniwowo, Część 3 na ciemnym polu, a w rogu czerwony kombajn nocą z reflektorami oświetlającymi zboże.

Pierwsze rysunki

· 6 min czytania

Zanim powstała jakakolwiek rozgrywka, chciałem sprawdzić, czy zboże, kamienie, kombajn i bocian będą czytelne na ekranie telefonu, bo poprawka rysunku kosztuje dużo mniej niż przebudowa gry. Akurat miałem około 150 dolarów środków na API firmy Anthropic (płaci się z nich za każde użycie modelu przez API, a dostaję je co miesiąc razem z abonamentem i niewykorzystane przepadają), które za kilka dni miały przepaść, więc rysowanie zleciłem agentom AI, którzy pracowali sami, bez mojego udziału.

Rysunek, który jest programem

Każdy agent dostał do narysowania jeden element i nie generował przy tym obrazka, tylko pisał program, który rysuje ten element piksel po pikselu (w ten sposób powstaje cała grafika w moich większych grach, na przykład w Zenogrodzie (otwiera się w nowej karcie)). Agent nie widzi, co narysował jego program, więc robił zrzuty ekranu i na ich podstawie sam oceniał, czy rysunek jest czytelny. Każdy pracował przy tym na osobnej kopii projektu, żeby agenci nie wchodzili sobie w drogę.

Każde zlecenie miało też limit kosztów, żeby agent, który utknie, nie przepalił wszystkich środków. Najpierw ruszyło jedno zlecenie na próbę, potem trzy naraz, a każdy rysunek kosztował tyle:

  • Kamienie:1,38 USD
  • Pole ze zbożem:3,94 USD
  • Bocian:3,91 USD
  • Kombajn:6,82 USD

Kamienie wyszły od razu

Z kamieniami nie było żadnego kłopotu: szary granit wyraźnie odcina się od złotego zboża, a dzięki ciemnemu obrysowi ich kształt widać nawet wtedy, gdy są bardzo małe. Agent narysował trzy rodzaje: mały kamień schowany do połowy w zbożu (to on ma być ukrytym zagrożeniem), średni, który można wypatrzyć przy odrobinie uwagi, i duży głaz, który zawsze widać i który trzeba objechać. Z małego kamienia w zbożu widać tylko dolną połowę i jeden jasny piksel, bo według koncepcji w dzień kamień ma zdradzać tylko przerwa w zbożu albo błysk.

kamienie
Pikselowy rysunek trzech kamieni w dużym powiększeniu: u góry w złotym zbożu, na dole na jasnym ściernisku w paski, od lewej mały kamień, średni i duży głaz z pęknięciem.

Kamienie z pierwszej wersji rysunku: u góry w zbożu, na dole na ściernisku, od lewej mały, średni i duży głaz. Zboże z tego rysunku nie trafiło do gry.

Zboże jak gąbka

Ze zbożem poszło gorzej: na rysunku kamieni pszenica wyglądała jak gąbka albo żwir, bo kłosy były rozsiane gęsto i nieregularnie na tle, którego każdy piksel miał losowy kolor, i z tego powstał szum zamiast kłosów. Agent, który rysował pole, znalazł tę przyczynę i narysował zboże inaczej: każdy kłos ma trzy piksele, które jaśnieją albo ciemnieją razem, a kłosy stoją w regularnych rzędach, co drugi przesunięty. Do tego po polu przechodzą szerokie jaśniejsze i ciemniejsze pasy, jakby zboże czesał wiatr, a wzdłuż niego biegną podwójne ślady kół. Dopiero wtedy zaczęło to wyglądać jak pole, a agent zapisał w notatkach, że zboże od żwiru odróżnia właśnie porządek: równe rzędy, co drugi przesunięty, i kłosy pochylone w jedną stronę.

Przed
Pikselowa pszenica z rysunku kamieni: drobny, chaotyczny szum złotych i brązowych pikseli bez widocznych kłosów.
Po
Pikselowa pszenica z rysunku pola: jasne kłosy w równych, przesuniętych rzędach, pochylone w jedną stronę, z szerokimi pasami cienia jak od wiatru.

Ta sama pszenica w tym samym powiększeniu, oba fragmenty z tego etapu: przed, z rysunku kamieni, i po, z rysunku pola.

Kombajn w 32 kierunkach

Najwięcej pracy wymagał kombajn. Gra jest pikselowa, a rysunek pikselowy obrócony o dowolny kąt trzeba przeliczyć na nową siatkę pikseli, przez co krawędzie się rozmywają i maszyna traci kształt. Z tego powodu każdy kierunek jazdy to osobny rysunek, a żeby zakręt wyglądał płynnie, kierunków jest 32 (co 11,25 stopnia).

Żeby nie rysować wszystkich 32, część kierunków powstaje z innych przez obrócenie o 90 stopni albo lustrzane odbicie, bo w obu tych przypadkach każdy piksel trafia dokładnie w miejsce innego piksela i nic się nie rozmywa. Tak samo powstają kierunki kosiarki w Zenogrodzie, gdzie działa to bez zarzutu.

Wszystkie 32 kierunki kombajnu, od jazdy w prawo, zgodnie z ruchem wskazówek zegara, już po poprawce opisanej niżej.

Kosiarka w Zenogrodzie jest symetryczna, więc lustrzane odbicie niczego w niej nie psuje, ale kombajn symetryczny nie jest, bo kabinę i rurę do wysypywania ziarna ma tylko z lewej strony. W lustrze lewa strona staje się prawą, przez co w 12 z 32 kierunków kabina i rura trafiły na złą stronę maszyny, a kombajn sypałby ziarno po stronie przeciwnej do przyczepy.

Naprawiły to trzy dodatkowe rysunki maszyny celowo odwróconej w lustrze, z kabiną i rurą po prawej: po drugim odbiciu kabina i rura wracają na lewą stronę. Każdy z tych rysunków daje cztery kierunki (po jednym w każdej ćwiartce obrotu), więc trzy wystarczyły na wszystkie dwanaście.

Przed
Dwa pikselowe kombajny jadące w dół ekranu z wysuniętą rurą: u lewego rura wystaje w lewo, u prawego w prawo.
Po
Te same dwa pikselowe kombajny jadące w dół ekranu: u obu rura wystaje w prawo.

Dwa kombajny wysypujące ziarno: lewy jedzie prawie w dół ekranu, prawy dokładnie w dół. Obraz „przed” jest odtworzony później, bo wersja z błędem nie została zapisana: to obecne rysunki złożone dawną metodą.

Czy to w ogóle wygląda jak kombajn, sprawdzał inny agent: dostał sam wycinek obrazka, bez podpisu, i w obu próbach odpowiedział, że to kombajn zbożowy (jako drugie skojarzenie podał raz czerwony traktor lub ciężarówkę z pługiem śnieżnym albo kosiarką z przodu, a raz mały traktor z kosiarką albo pługiem z przodu). Z notatek agenta wynika, że kombajn rozpoznaje się przede wszystkim po szerokim hederze, bo bez niego sama maszyna wyglądałaby jak ciężarówka.

Bocian, który trafił do poprawki

Bocian w locie wyglądał jak bocian: białe skrzydła z czarnymi lotkami, wyciągnięta szyja, długi czerwony dziób i nogi wystające za ogon. Na ziemi wypadł gorzej, bo zwrócony w górę albo w dół ekranu przypominał długopis albo lotkę do badmintona. Do tego był za duży: stojący bocian miał 17 pikseli długości, czyli ponad połowę szerokości hedera kombajnu (27 pikseli). Z obu tych powodów trafił do poprawki.

bocian
Pikselowe bociany z pierwszej wersji rysunku: jeden w złotym zbożu, pięć na jasnym ściernisku, część bokiem, a część ukośnie, wąska i podłużna.

Bociany z pierwszej wersji rysunku: ustawione bokiem wyglądają jak bociany, a ustawione ukośnie, wąskie i podłużne, łatwiej wziąć za długopis.

Cały ten etap kosztował około 16 dolarów i dał na razie same rysunki, bez gry, ale... właśnie na rysunkach najtaniej było się przekonać, że zboże z losowych pikseli wygląda jak żwir, a lustrzane odbicie przestawia kabinę na drugą stronę maszyny. Żaden z tych problemów nie był trudny do naprawienia, ale każdy trzeba było najpierw zauważyć i nazwać, a samo polecenie „narysuj mi kombajn” raczej by tego nie załatwiło.

DevlogSeria: Żniwowo

  1. Część 1Od pomysłu do koncepcji
  2. Część 2Plan, zanim powstał kod
  3. Część 3Pierwsze rysunkiCzytasz teraz
  4. Część 4Kolejny wpis już wkrótce