Niewiele osób wie, że w ciągu paru ostatnich lat na PC i nie tylko opublikowano kilkadziesiąt, jeśli nie kilkaset gier współdzielących fragmenty DNA z niegdyś popularnym Canabaltem. W samym 2016 roku były to między innymi rozpikselowany symulator władcy Kingdom: New Lands, abstrakcyjny Simian Interface++, erpegowo-strategiczny Defender's Quest: Valley of the Forgotten DX czy monochromatyczna strzelanka Rot Gut. Tytuły te są bardzo różnorodne jeśli idzie o ich rodzaj i dostępność (pod Windows i/lub MacOSX, dystrybuowane poprzez Steam, Desurę i Itch io). Na pierwszy rzut oka nie mają nic wspólnego z wiekową flaszówką. Okazuje się jednak, że gdyby nie Flixel, biblioteka stworzona przez autora Canabalt między innymi na potrzeby tejże gry - część z nich w ogóle by nie powstała.
Prapoczątki Flixela
Jak zapewne pamiętacie, Canabalt to flaszowa gra z 2009 roku, napisana w języku ActionScript przez Adama Saltsmana, w światku twórców gier znanego pod pseudonimem Adam Atomic. Powstała w ciągu pięciu dni na Experimental Gameplay Project, w ramach którego deweloperzy konkurują ze sobą na prototypy gier niezależnych. Canabalt momentalnie zyskał olbrzymią popularność (ponad pół miliona odsłon w pierwszym tygodniu!) i zapoczątkował gatunek zwany “endless runner”, w którym kierowana przez gracza postać biegnie bez końca unikając rozmaitych przeszkód. Od tamtej pory Canabalt został przeniesiony na wiele różnych platform, między innymi Android, iOS, PC (Steam), PSP, Ouya, a nawet Commodore 64. Co to jednak ma wspólnego z Flixelem?
Otóż Canabalt jest tak naprawdę pierwszą popularną grą która wykorzystała bibliotekę Flixel Adama Saltsmana, a tym samym rozsławiła ją w środowisku twórców gier. Bibliotek ta jest kolekcją klas i narzędzi w ActionScript, które pozwalają łatwo tworzyć dwuwymiarowe gry w stylu retro, takie jakie rządziły kiedyś na starszych konsolach i komputerach: platformówki, zręcznościówki, strzelanki i klasyczne RPGi. Oddajmy głos Adamowi: “Kilka razy próbowałem stworzyć coś w rodzaju małego silnika gry (ang. “game engine”), który pozwoliłby mi robić retro gry. Próbowałem w C++/Pythonie/OpenGL tuż po skończeniu uczelni, jakieś siedem lat temu? W każdym razie, to była porażka. Gdy wyszedł ActionScript 3, umiałem już programować na poziomie pikseli, co mnie naprawdę interesowało. Ale kiedy dostałem AS3 w swoje ręce, bardziej bawiło mnie po prostu pisanie małych gier i obserwowanie jakie wzorce wyewoluują. Robiłem coraz bardziej skomplikowane gry, recyklingując kod z poprzednich projektów, aż w końcu przeniosłem te fragmenty które widziałem w każdym programie do ich własnego folderu. Wydaje mi się, że wielu programistów ma taki folder gdzieś na swoim twardym dysku.”
I właśnie z tego folderu w okolicach marca 2008 narodził się Flixel (ponad rok przed premierą Canabalta). Pierwsza publicznie dostępna wersja Flixela ujrzała światło dzienne w czerwcu 2009 roku, jednak dopiero sukces wykorzystującej tę bibliotekę gry utorował jej drogę do popularności.
Apostołowie Flixela
Początkowo Flixela zaczęła używać społeczność twórców gier niezależnych skupionych wokół portalu i forum TIGSource, głównie dlatego że biblioteka ta była prosta w obsłudze, darmowa i doskonale pasowała do rozgrywki w stylu retro, często przez nich preferowanej. Wielu znanych autorów i autorek zdobywało pierwsze szlify w tworzeniu gier właśnie we Flashu ze wsparciem Flixela. O niektórych pisaliśmy już wcześniej na łamach Grama, acz nie zawsze zaznaczaliśmy wtedy z jakich narzędzi korzystali.
Dog and Bone Are Friends, Beulah & the Hundred Birds, Kentucky Route Zero
Przykładowo, pierwsze gry Jake’a Eliotta, człowieka znanego głównie z gorąco przyjętego Kentucky Route Zero, powstały właśnie przy użyciu Flixela. Widać jak z każdą kolejną Jake uczy się coraz bardziej skomplikowanych technik: Dog and Bone Are Friends jest prościutka jak konstrukcja cepa, w Beulah & the Hundred Birds pojawiają się m.in. roje ptaków i rozległe poziomy, natomiast już A House in California została nagrodzona na Independent Games Festival w 2011 roku. Z czasem Eliott przesiadł się na Unity i zaczął robić znacznie bardziej skomplikowane gry w trzech wymiarach - więcej o tych tytułach i drodze twórczej Jake’a przeczytacie w tym artykule.
Podobnie zaczynał Lucas Pope, autor obsypanego nagrodami i wyróżnieniami Papers, Please. Swoją debiutancką grę The Republia Times napisał w ActionSript posiłkując się biblioteką Flixel, kolejne (6 Degrees of Sabotage, The Sea Has No Claim i Usolicited) w Haxe, ale wspierając się HaxeFlixel, czyli portem biblioteki na ten język, aż wreszcie Papers, Please powstało w samym Haxe. Obecnie zaś Pope pracuje nad grą Return of the Obra Dinn (warto zapamiętać, za jakiś czas może być o niej głośno), tak samo jak Jake Elitott - również w Unity.
The Republia Times, The Sea Has No Claim, Papers, Please
Z kolei Anna Anthropy, znana też jako Auntie Pixelante, pierwsze kroki w growym świecie stawiała w Game Makerze, jednak wykorzystując Flixela stworzyła tytuły takie jak Redder, When Pigs Fly czy Lesbian Spider-Queens From Mars. Większość z nich została już zapomniana, ale w swoim czasie każdy z nich odbił się mniejszym bądź większym echem w światku gier niezależnych. Później Anthropy odkryła Twine’a i stała się jego gorącą orędowniczką, autorką wielu hipertekstowych opowieści i kuratorką gier w Twine.
Akolici Flixela
Długo byłoby wyliczać wszystkich twórców, którzy zaczynali od Flixela lub korzystali z niego na którymś etapie, jednak warto przytoczyć kilku mniej znanych i paru kompletnie nieznanych, żeby wyrobić sobie pojęcie o zasięgu tej niepozornej biblioteki.
Defender's Quest i Defender's Quest DX - znajdź dziesięć drobnych różnic
W tej pierwszej grupie znajduje się Gregory Avery-Weir, któremu w nazwisku przydałaby się jeszcze literka “d”, bo z jego umysłu wyszło parę naprawdę dziwnych gier, takich jak Ossuary, The Majesty of Colors, Looming, Babies Dream of Dead Worlds czy Beneath The Waves. Trzy ostatnie powstały na bazie Flixela, przy czym wśród beta-testerów znaleźli się m.in. wspomniany wcześniej Jake Eliott i Jonas Kyratzes (autor m.in Alphaland czy The Sea Will Claim Everything). Kolejnym autorem jest Lars Doucet, może nie aż tak popularny jak powyżsi, jednak rozpoznawalny w branży: odpowiada za cykl gier Defender’s Quest, z których ostatnia ukazała się w tym roku, a także prowadzi bloga o pisaniu gier publikowanego na Gamesutrze. Również Richard Davey, w sieci znany pod pseudonimem Photon Storm, pomógł rozbudować Flixel o wiele przydatnych narzędzi (zebranych pod nazwą Flixel Power Tools) i stworzył kilka gier flaszowych używając ich: najbardziej popularne to Chikaboom, Cat Astro Phi i Droplets. Warto zapamiętać dwa ostatnie nazwiska, bo jeszcze wspomnimy o nich w tym tekście.
Grupę znacznie mniej znanych lub zgoła w ogóle nieznanych otwiera Jarnik, czyli czeski deweloper Jaroslav Meloun, który posiłkował się Flixelem tworząc mnóstwo rozmaitych prototypów, często na game jamy w rodzaju Ludum Dare. Jednym z nich była intrygująca gra On The Shoulders Of Ancestors, która z czasem została wydana jako pełny tytuł. Jeśli nic Wam to nie mówi, nie przejmujcie się - możecie za to kojarzyć Jaroslava poprzez grę Dex, której jest współautorem.
On The Shoulders of Ancestors (prototyp), On The Shoulders of Ancestors (pełna), Dex
Kolejnym niespecjalnie rozpoznawalnym twórcą jest Holender Thomas van den Berg, którego Kingdom rozpoczęło swój żywot jako wykorzystująca Flixela flaszówka, a potem zyskało pewną popularność, na bazie której autor wystartował kampanię na Kickstarterze. W ten sposób sfinansował dewelopment pełnej wersji, która ukazała się na Steamie w 2016 roku.
Ostatnią grupę szerzej nieznanych autorów gier we Flixelu stanowią ci, którzy wykorzystalli tę bibliotekę akcydentalnie, zrobili jedną grę i słuch o nich zaginął. Wśród nich znajdzie się irański deweloper Aidin Zolghad, odpowiedzialny za prostą strzelankę Rot Gut, programista Thomas Jahn, który stworzył operującą światłem i mrokiem Rune Hunt, spieniężył ją, po czym wrócił do pisania poważniejszych rzeczy, duet Jonathan Kittaka i Sean Hogan, autorzy Anodyne, niepozornej gry zeldopodobnej, która trafiła na pecety i komórki (dostępna była m.in. w Humble Bundle). Polski akcent w tym gronie stanowi Hubert Rutkowski, którego Ninja Cat and Zombie Dinosaurs “chwyciło” do tego stopnia, że podjął próbę zbiórki na Wspieram To celem stworzenia rozszerzonej wersji Power Pack. Zbiórkę wsparł Krzysztof Gonciarz, zebrano potrzebną kwotę, natomiast w wyniku rozmaitych życiowych zawirowań Hubertowi jeszcze nie udało się dokończyć Power Packa.
Kolejnym przechodniem we flixelowym światku był Alex McGilvray, który napisał prościutką grę The Loop. Warto porównać jej pierwszy prototyp z ostateczną wersją. Alex pracował później nad różnymi grami - dwa ostatnie punkty w jego portfolio to Disney Infinity: Marvel Battlegrounds i Sleeping Dogs: Definitive Edition. Jak widać nauka podstaw przy użyciu Flixela zaowocowała z czasem wejściem do branży i pracą nad tytułami AAA.
That Thing I Lost aka Purple Flowers aka Mark of Deity (twórca nie mógł się zdecydować)
Coraz rzadziej odwiedzane forum Flixela stanowi też istne cmentarzysko gier nieukończonych - jest tam tyle konceptów i prototypów, że można by o nich napisać oddzielny tekst. Wspomnę tylko o jednym z nich That Thing I Lost, bo pierwsze czarno-białe demo ujęło mnie nastrojem. Niestety, choć zapowiadało się intrygująco, to autor gry, Joseph L. Laquinte, nigdy jej skończył.
Spadkobiercy Flixela
Z czasem Flixel zaczął obumierać: w miarę wzrostu popularności JavaScript i HTML5 coraz więcej deweloperów przesiadało się na nowsze technologie, w dodatku Adam Saltsman zajął się innymi rzeczami i przestał rozwijać swoją bibliotekę. Przez jakiś czas grupa ochotników utrzymywała jeszcze oddzielną gałąź (tzw. fork) pod nazwą Community Flixel, ale w miarę schyłku Flasha także i oni odpuścili temat. Jednakże fakt że Flash jako technologia znajduje się już w fazie schyłkowej, nie oznacza bynajmniej końca Flixela.
Jeśli czytaliście uważnie, to pamiętacie jeszcze wzmiankę o bibliotece HaxeFlixel, czyli jej wersji dla języka i środowiska Haxe, z której korzystał Lucas Pope. Otóż wśród współtworzących ją deweloperów odnajdziemy między innmi wspomnianego już wcześniej Larsa Douceta (tego od Defender’s Quest) i Samuela Batistę, zawodowo związanego z Firaxis Games, wcześniej również aktywnego w środowisku Flixela. Dzięki magii Haxe możliwe jest tworzenie gier na różne platformy, w tym PC, Mac, Androida i iOS - i to właśnie jest główną przyczyną, dla której w 2016 roku nadal znajdujemy fragmenty DNA Canabalta w tytułach na Steamie czy iPhonie.
Drugą powstałą na bazie Flixel biblioteką jest Phaser, która umożliwia pisanie gier HTML5 w JavaScript i TypeScript, której autorem jest Richard Davey (autor Cat Astro Phi i Flixel Power Tools). Nazewnictwo i struktura Phasera są w znacznej mierze zapożyczone z Flixela, co nie dziwi zwłaszcza jeśli wie się że początkowo nazywano ją Flixel5. Phaser wykorzystują między innymi takie gry jak marvelowskie Avengers Tactics i Spider-Man Web Slinger, polityczne Trump on Top i Bubble Burst Bernie, Speed of Light promujące płytę Iron Maiden o tym samym tytule, stworzona przez Andrzeja Mazura Wizard Quest (kolejny polski akcent!) - i wiele, wiele innych.
Jak widać, czas Flasha i Action Scriptu przeminął, ale dziedzictwo Flixela i Adama Saltsmana żyje nadal w kodzie gier i bibliotek w różnych językach.