->część 1<-
Rewind 2 – „Fantasia”
Kod: Święty / Grafika: Blasph / Animacja G2F: Solo (logo „Zelax” – Tiger) / Muzyka: Zoltar
Święty: tu w zasadzie kończy się cześć fabularna, a zaczynają efekty. W tej części są różne wersje paralaksy mojego autorstwa, które przeplatają animowane G2F.
tbxx: mamy w sumie cztery obrazki/animacje zakodowane przez Solo – trzy z logosami grup tworzącymi demo i na końcu logo „R2”.
Święty: co ciekawe Blasph narysował tę laskę co daje całusy i ona mi przypomina taką jedną z Akademii Policyjnej mimo, że się nią nie sugerował.
tbxx: przekaz podprogowy 😉 Sierżant Debbie Callahan
Święty: nie mów, że nie podobna 😉
tbxx: efekty paralaksy to jest jeden silnik czy różne?
Święty: to są różne warianty jednego silnika – tam są realizowane różne operacje logiczne, dlatego raz są pixele, raz szachownica, raz krata itp. W tej części jeśli mamy dwa układy Pokey, muzyka gra w stereo.
tbxx: nie wszystkie utwory w demo są stereo?
Święty: w pozostałych częściach drugi Pokey gra z opóźnieniem, robiąc lekki pogłos między kanałami.
Rewind 2 – „White Part”
Kod: Święty / Muzyka: Zoltar
tbxx: kolejna część, dość krótka ale dużo się dzieje.
Święty: Pierwszy efekt jest to strumień danych z dema „Overdrive 2”. Dane dostałem od kodera Titanów – Kabuto. Tam było ponad 1MB tablic, napisałem program na PC, który mi to przeliczył i skompresował, na Atari powstała odpowiednia procedura, która wyświetla obiekty,ustawia sprite oraz kolory w odpowiednich liniach. Same kolory były zakodowane jako RGB, więc musiałem użyć procedury autorstwa Tebe do konwersji ich na paletę Atari. Ostatecznie powstało około 40-48kB danych, które Atari wyświetla w czasie rzeczywistym z częstotliwością 50 fps i da się uruchomić na 64kB. W „Overdrive 2” cienie były wyświetlane w trybie podobnym do Amigowego halfbrite, czyli tam gdzie był cień bitmapa automatycznie wyciemniała kolory. Na Atari tam są wyświetlane sprity, które przyjmują połowę jasności koloru obiektu – tu też musiałem pokombinować z priorytetami spritów oraz kolorami tak żeby sprity pojawiały się tylko w obrębie obiektu. Od strony technicznej mamy 224 linie obrazu z dynamicznie budowaną listą DLI, oraz komend które mają zmienić kolor, pozycje sprite itp. Problem w tym, że w jednej linii nie ma na tyle czasu aby wszystko zmienić jednocześnie. Dlatego efekt jest w 95% taki sam jak na Mega Drive – są miejsca gdzie nie dało się idealnie ustawić spritów. Dalej już wchodzą wektory, które rozpadają się na trójkąty.
tbxx: czyli to co nazwałem „szkło dymione”, bryły kojarzą mi się z „Ray of Hope”.
Święty: zczaiłes 😉 Tak, właśnie miał być efekt przezroczystości. Tam dalej obiekty rozpadają się na trójkąty, co jest nawiązaniem do dema typu „Batman Rises”.
tbxx: wygląda to fajnie, ale nie rozumiem dlaczego z białego odpadają kolorowe trójkąty i odsłaniają czarno-szarą szachownicę.
Święty: chodziło o to, aby nadać więcej kolorytu, tam też kolory są zmieniane dynamicznie i mamy przejście do części z szachownicą.
Rewind 2 – „Chess”
Kod: Święty / Muzyka: Zoltar
tbxx: na początku tło podobne do sceny z „Disco”, które jest przesuwane w pionie. Później pojawiają się wielkie bryły, nakładanie koloru. Te bryły sprawiają wrażenie jakby były ze szkła, patrząc przez nie deformuje się szachownica – efekt refrakcji światła.
Święty: Początkowo jest szachownica 3D, na którą patrzysz z góry. Efekt zainspirowany demem Offence „A Press Space Odyssey” oraz 3SC „Ganzfeld” na ZX Spectum 128. Bryły wychodzące z szachownicy to takie nawiązanie do „Terminatora 2”. Ta cześć jest technicznie podobna do „Disco”, używam DLI i trików z maskowaniem spritów w celu uzyskania dodatkowych kolorów/odcieni. Ten efekt ma 239 linii, więc największym wyzwaniem było wyrobienie się w ramce gdyż wszystko jest liczone i rysowane w czasie rzeczywistym.
Rewind 2 – „Wall 3D”
Kod: Święty / Muzyka: Makary
tbxx: pojawia się ściana 3D z dużą klasyczną teksturą i nałożonymi napisami.
Święty: jest to kolejny efekt inspirowany demem „Overdrive 2” a tekstura to zwykła cegła.
tbxx: tam są tylko napisy, a w „Rewind 2” jest ta cegła w tle. To silnik Doom czy coś innego?
Święty: w tym efekcie cały tekst musiał być wielką teksturą co umożliwiło dołożenie tła. Największym problemem było odpowiednie zbudowanie mapy ekranu, danych w pamięci oraz tablic skalowania aby dało się szybko teksturować i czytać teksturę nieliniowo gdyż kolejne linie scrolla są między sobą przesunięte, co przy okazji daje efekt muru., tak że z Doomem nie ma to nic wspólnego, całkiem inny silnik.
Rewind 2 – „Synthwave”
Kod: Święty / Muzyka: Makary
tbxx: następnie mamy fikuśną bryłę 3D z mapowaniem środowiskowym.
Święty: tak, część „Synthwave” logo w tle to moja konwersja plus pikselowanie. Obiekt nawiązuje do dema „Reditus”, to tak na 20 lecie tej produkcji w tym roku :). Używamy dwóch map środowiskowych, a mapa kolorów jest tak zrobiona że najjaśniejsze są wspólne dla obu map. Ponadto od tego miejsca muzyka gra 2 razy na ramkę do samego końca dema.
tbxx: jedna rzecz mi tu nie pasuje – tam jest animowane podłoże, co nie ma wpływu na teksturę środowiskową bryły. Albo ja tego nie widzę.
Święty: no nie ma, za dużo by to wymagało obliczeń.
tbxx: przenosimy się do lat ’70 – Space Invaders z 1978r. i scroll z literami 3D – poznaję, że twoja robota.
Święty: tak dokładnie. Inspiracją do tego efektu było demo Anarchy „3D Demo”. Technicznie jest to system tekseli 3D, gdzie tekselem jest obracający się w czasie rzeczywistym sześcian i on służy jako programowy sprite do rysowania poszczególnych tekseli z matrycy scrolla. Przy okazji używam mapowania środowiskowego, przez co scroll w zależności od kąta pochylenia przybiera kolor tła – uproszczony ambient oclusion z oświetleniem ścian.
Rewind 2 – „Shiny 3D”
Kod: Święty, Solo / Logo R2: Pazur / Muzyka: Foster
tbxx: (przed)ostatnia część, w której dużo się dzieje. Symulacja szumu TV, torus z mapowaniem środowiskowym, paralaksa, na końcu logo 3D. Dalej twój silnik?
Święty: tak, ale silnik jest cały czas rozwijany, tutaj jest kilka map środowiskowych dzięki czemu torus ma jakby dwie jasności. Technicznie nie ma cudów – tło w trybie 9 podkolorowane pociskami oraz dynamicznie przełączane mapy środowiskowe do zmian jasności poszczególnych ścian torusa a efekt wyszedł fajny.
tbxx: dalej sześcian z ruchomym światłem nawiązuje do „Reditus”?
Święty: zgadłeś, tyle że ekran w „Rewind 2” ma 80×56 pikseli a nie jak w „Reditus” 64×56 oraz ruchome tło. Efekt został napisany całkowicie od nowa – przykładowo cień ma możliwość wychodzenia całkowicie poza ekran a obiekt używa kilku map jasności tekstury w celu uzyskania zmian natężenia światła w zależności od kąta położenia jego źródła.
tbxx: a w tle kto?
Święty: to jest nawiązanie do Star Wars, konwersja grafiki z sieci.
tbxx: czyli zamrożony Han Solo. Na końcu logo R2 jako bryła 3D
Święty: Han Solo -> „Solo” 😉 ogólnie to logo składa się ze spadających trójkątów – nawiązanie do dema „Batman Rises”, przy okazji zamysł był taki, że nie bez powodu spadały trójkąty w „White Part”.
tbxx: ta część to w 100% robota „Zelax”?
Święty: nie można tak powiedzieć, to praca wspólna, np. w części z torusem „miganie” dopisał Solo, tak przy okazji moim zdaniem muzyka Fostera to jeden z majstersztyków.
Rewind 2 – „Outro”
Kod: Sun / Grafika : Blasph, Dely / Muzyka: Makary
tbxx: zostało „Outro”. Na początku małe obrazki z tekstem.
Święty: jest to nawiązanie do utworu „When you grow up, yours heart dies” zespołu Gunship, którego cover napisany przez Makarego jest totalnym mistrzostwem.
tbxx: napisy końcowe – dzięki za „pozdrowienia” 😉 Chciałbyś coś jeszcze dodać, może technicznego odnośnie całego demo?
Święty: To czego nie widać to cały silnik dema napisany przez Solo – rdzeń, który zarządza przełączaniem części, kopiowaniem danych miedzy bankami pamięci, odgrywaniem muzyki, alokacją pamięci, loader i całą otoczkę aby demo można było skompilować. Ponadto dzięki Solo używaliśmy Gitlaba do kompilacji kodu z „chmury”, natomiast większość partów miało prototyp w AfterEfekcie. Kilka efektów używa podwójnego buforowania ekranu, inne potrójnego a wszystko po to żeby procesor cały czas mógł rysować a nie musiał czekać na wolny bufor, dobrym tego przykładem są wszystkie paralaksy oraz efekt ściany 3D. Tak samo (dzięki testom Solo ) implementacja dekompresji ZX0 sporo pomogła w płynnym przechodzeniu między partami, a część rzeczy depakuje się w tle, gdy na ekranie oglądamy jeszcze jakiś efekt.
tbxx: „Rewind 2” zbiera dobre oceny, co dalej? „R2:Epilogue”, „Rewind 3”, a może zmiana tematu?
Święty: Są już jakieś pomysły na „Rewind 3”, ale jak to Pazur powiedział albo „grubiej” albo lepiej nic nie robić 😉 co nie będzie łatwym zadaniem przy tak postawionej poprzeczce.
tbxx: „Rewind 2” to kooperacja trzech grup. Na Lost Part było prezentowane tylko jedno demo. Osobno mogło być więcej produkcji? A może wcale? Jak to wygląda od środka?
Święty: ja ze swojej strony sam nie ogarnę wszystkiego, więc o demo z takim rozmachem zrobione jedynie przez „Zelax” byłoby ciężko. Niestety za mało ludzi na tak dużą produkcję.
tbxx: czyli albo grubo albo wcale 😉
Święty: taki był zamiar. Mając kilku koderów, grafików i muzyków, każdy może pracować nad swoją częścią dema, co szalenie ułatwia pracę. Ogólnie naszym mottem było zrobić „16 bitowe demo na 8 bitowej maszynie” i patrząc na komentarze to nam się chyba udało.
tbxx: to też pierwsze od 30 lat demo z pełnym (koder, grafik, muzyk) składem „Zelax”. Jak układała się współpraca?
Święty: tak dokładnie, fajnie że chłopaki wrócili a współpraca zarówno z NG, jak i z ekipą Zelaxu układała się sympatycznie, mimo czasem pewnych różnic w zdaniach, ale to chyba zawsze jest nieuniknione przy tak dużej produkcji oraz liczbie osób.
tbxx: Dzięki za oprowadzenie po demo. Gratulacje dla całej ekipy, bo wykonaliście kawał rewelacyjnej roboty. Z niecierpliwością czekam na kolejna Waszą produkcję.
Jeśli będzie zainteresowanie, istnieje możliwość stworzenia czysto technicznego opisu „Rewnid 2”. Ewentualnie szczegółowe pytania można zadawać w komentarzach pod tekstem.
Teraz czekamy na wersję na rapidusa, reditus działa tam jak zło w czystej postaci .:.