Kilka dni temu na kanale Atari Retro Fana, który ostatnio zainteresował się ogrywaniem nowszych produkcji na małe Atari, a nie tylko klasyków, pojawiła się entuzjastyczna recenzja gry "Assembloids XE" z 2013 roku:
Dziękuję za miłe słowa o mojej grafice. Przypomnę, że autorem kodu był Marek "xeen" Cora, muzyki Michał "stRing" Radecki, a gra jest obecnie dostępna na wiele platform (jako "Assembloids" lub "Quartet"), w tym na Atari 2600, Atari ST i Atari Lynx - Xeena zainspirowała wersja z C64.
Ciekawe może być przyjrzenie się różnicom graficznym na różnych platformach: ->link<-
Może to dobry moment, aby napisać kilka słów o tym, jak grafika powstawała.
Xeen zagadnął mnie luźno na temat gry w marcu 2013, badał moje potencjalne zainteresowanie udziałem w pracach przy konwersji, a chciał graficznie czegoś ekstra, czegoś lepszego niż na C64. Rozważaliśmy różne pomysły, a ostateczna koncepcja grafiki głównej planszy w grze wykrystalizowała mi się 5 dni później :)
Koncepcja polegała na połączeniu trybów graficznych GR.8 i GR.9 co drugą linię, czyli ekran ułożony jest z linii z pikselami w wysokiej rozdzielczości 1x1 na przemian z liniami o pikselach 4x1. PMG są nałożone prawie wyłącznie na linie hi-resowe: albo służą do podkolorowania powierzchni (takich jak twarze), albo do wyróżnienia elementów typu litery/ cyfry i ozdobniki. Przełączanie się pomiędzy tymi trybami jest dość proste i nie trzeba zmieniać rejestrów kolorów.
Dlaczego takie akurat połączenie trybów? Bo idealnie pasowało do gry: • tryb GR.9 z 16 odcieniami szarości daje możliwość uzyskania "realistycznej" grafiki monochromatycznej, niedostępnej dla większości 8-bitowców - jednak obiekty nie mogą być zbyt małe, bo wtedy bardzo razi "kanciastość" pikseli w poziomie, generalnie trzeba jakoś zrekompensować tę kanciastość i rozwiązaniem może być tryb hi-res • mamy duże, prostokątne powierzchnie do podkolorowania, więc można użyć rozszerzonych w poziomie PMG, a tryb hi-res ma taką zaletę, że jeden player nałożony na piksele pozwala na uzyskanie od razu dwóch odcieni tej samej barwy. Tak się składa, że w tej grze w środkowej części głównej planszy potrzebujemy w jednej linii jednocześnie do 4 różnych kolorów twarzy oraz koloru na punktację i komunikaty w środkowym oknie, więc pasowało to dobrze do możliwości łączenia kolorów PMG (2 podstawowe kolory playerów to czerwony i niebieski, zielony uzyskiwany jako nałożenie czerwonego i niebieskiego, brak playera to kolor szary plus brązowe obiekty missile na punktację i komunikaty).
Równo miesiąc później od wypracowania koncepcji pierwsza docelowa twarz była jako tako gotowa (szara twarz robota), i dopiero wtedy - po zobaczeniu efektu - Xeen odetchnął z ulgą, przyznał, że trochę bał się o ten nowy "tryb", ale że jest świetnie, "bardzo amigowo".
Na załączonym obrazku widać jak wyglądają twarze w rozbiciu na parzyste i nieparzyste linie.
Plansza tytułowa składa się w dolnej części z opisanego wyżej połączenia trybów, a w górnej części chciałem pokazać tęczę kolorów Atari, ale nie ułożoną jak zwykle w pionie, tylko w poziomie, dzięki użyciu standardowego (ale rzadko wykorzystywanego) trybu GR.11 z pikselami 4x1 (15 różnych kolorów w jednym odcieniu + czerń). Każda litera tytułowego napisu jest w 4 odcieniach innej barwy.
Kaz, to powyżej nie wyczerpuje tematu, można by całość jeszcze rozwinąć w przyszłości.
Wracając do marca 2013: koncepcja koncepcją, ale sam nie byłem pewien na początku, co uda się uzyskać, musiałem się dopiero "nauczyć" rysować w nowym mieszanym trybie i odkryć patenty na dobre wizualnie efekty. Tak naprawdę to był eksperyment i ciekawe wyzwanie, nikt wcześniej nie próbował rysować w taki sposób.
Niestety nie istniało narzędzie, które by wspierało taką mieszankę trybów, więc robiłem tak: w Graph2Font edytowałem jako "bazę" same linie w trybie GR.9, a gdy byłem w miarę zadowolony z obrazka, to potem używałem zwykłego Painta, żeby dodawać piksele hi-resowe i korygować low-resowe; na koniec łączyłem linie parzyste i nieparzyste w całość, żeby utworzyć plik MIC wczytywany przez G2F.
Po ujawnieniu pierwszego filmiku z gry Ilmenit był na tyle miły, że dodał nową opcję w swoim PicMixerze, pozwalającą na wczytanie w nim dowolnego obrazka graficznego i przerobienie na ciąg bitów dla połączenia trybów GR.8+9 - co nieco przyspieszyło moje prace. Ale dedykowanego narzędzia, w którym można by rysować od razu w pikselach 1x1 i 4x1, nie było i nie ma do tej pory.
Ciągle jednak liczę na to, że może kiedyś ktoś inny weźmie na warsztat takie połączenie trybów i użyje przy swojej grze :)
I jeszcze ciekawostka: na Commodore'a powstała później kolejna wersja Assembloids (napisana w Basicu), pierwotnie opublikowano ją w 2014 i wówczas napis tytułowy był zaadaptowany z atarowskiego Assembloids XE (spójrzcie na załączony obrazek, tak oto wygląda tęcza w kolorach C64 ;) ), w wersji v2.0 z 2017 roku posłużono się już bardziej oryginalną grafiką.
Poza tymi Basicowymi jest jeszcze podstawowa wersja z Commodore'a, przygotowana w 2012 roku na konkurs gier do 16KB i wygląda ona tak (jakby ktoś nie widział):
Tak w ogóle okazuje się, że dodatkowo pod nazwą "SupraKillMinds!" istnieje wariant tej gry na Sega Mega Drive/ Genesis:
Ze strony Gorgha dowiedziałem się, że powstał klon Quartet/ Assembloids na SAM-a Coupé, nazywa się Sploids i jest tam dodatkowa opcja użycia przycisku, pozwalająca na usunięcie losowych twarzy:
A powstała ona na podstawie Sploids na ZX Spectrum z 2019 roku:
Wg opisu pod filmikiem poziom trudności nie zwiększa się podczas rozgrywki, więc po jakimś czasie może wiać nudą ;)
Gra na ZX Spectrum wykorzystuje silnik Nirvana pozwalający na użycie 2 kolorów na obszarze 8x1 pikseli (zamiast na standardowym 8x8).
Ciekawe, że w 2014 roku były prowadzone prace nad grą "Assembloids ZX" na Spectrum, ale do dziś gra nie została dokończona (pisał ją Martin Wendt, autor wersji na C64, Atari Lynx i 2600) - załączam roboczy screenshot. I tam też wykorzystany miał być silnik Nirvana. Te twarze bardziej mi się podobają niż w Sploids.
O, w tym roku pojawiły się też wersje na Game Boya i Game Boy Color (pod nazwą oryginalnej gry, czyli "Quartet"). Liczba żyć pokazywana jest "lampkami", nieco podobnie jak w wersji na 8-bitowe Atari. Pewnym ułatwieniem w rozgrywce jest wcześniejsze prezentowanie, w której ćwiartce kwadratu pojawi się nowy element twarzy.
Gra w wersji na a8 wyjątkowa.Bo użyty tryb graficzny to jakiś World first na maluchu.. I można by w tym trybie niezłe gry robić... Taki StarDust dał by radę
@Adam: Świetny ten tryb wymyśliłeś. Zadziwia mnie rozdzielczość. Oglądam tego Assembloidsa i nie mogę się nacieszyć. Czy nadałeś mu jakąś nazwę? Opisałbym to w Atariki.
@Mono: Dzięki, efekty wyszły można powiedzieć ciekawsze niż sam się początkowo spodziewałem wkraczając w ten nierozpoznany wcześniej świat GR. 8+9.
Nie tworzyłem jakiejś specjalnej nazwy, ale roboczo zdarzyło mi się posłużyć skrótem nazwy naszej gry jako referencji dla tego trybu, a że ten skrót dobrze brzmi po angielsku, więc można go użyć: AXE :)
And if you had shifted between Gr. 8 and Gr. 10 and then Gr. 8 and Gr. 9 you would have had RIP (or HIP) mode. Just out of curiosity, it would be nice to know how the Assembloids XE graphics would have looked in RIP mode... ;-)