Demoscena i jej użyteczność w codziennym programowaniu

piątek, 13 stycznia 2017

Demoscena i jej użyteczność w codziennym programowaniu


W poprzednim wpisie zapoznałem czytelników z ogólnym pojęciem "demosceny". W tym wpisie zaś nakreślę, jaki ona ma wymiar i czy jest użyteczna w codziennym programowaniu.
 Demonstracje, demonstracjami i sztuka sztuką, ale "demoscena" wbrew pozorom miała i ma ogromne znaczenie dla tego, w jaki sposób wyglądają w dzisiejszych czasach gry video i aplikacje. Otóż osoby związane z demosceną mają już lat -dziesiąt i więcej. Jak wspomniałem w poprzednim wpisie, demoscena sięga końcówki lat 70, a nawet i wcześniej - pierwsze prymitywne dema były już w latach 50 (!), jednakże z uwagi na poważniejszą komputeryzację, na prawdziwe początki przyjmuje się lata 70.

Z uwagi na to, że programiści pracujący przy tworach demosceny są mistrzami w optymalizacji - ma to wymierne efekty w dzisiejszych grach video czy też aplikacjach mobilnych. Otóż większość twórców demosceny, to dzisiejsi programiści w topowych korporacjach tworzących gry video czy też aplikacje. Jednym z wiodących designerów gry "Angry Birds" dla przykładu, jest zapalonym twórcą dzieł w demoscenie - Jaakko Iisalo. 

Takich przykładów jest znacznie więcej, mnóstwo ludzi z demosceny zostało "wyłowionych" przez headhunterów korporacji IT i tam otrzymali porządną pracę. Nie muszę chyba mówić, jak to wpłynęło na rynek gier video. Optymalizacja jest ogromna - to dzięki oszczędności w zasobach, możliwe jest stworzenie cudów na nasze urządzenia. I choć moc obliczeniowa urządzeń w 2017 roku jest ogromna, to nadal preferuje się oszczędność w zasobach.

Zatem demoscena ma walor nie tylko artystyczny, ale także poznawczy i utylitarny - doświadczenia związane z demosceną są zwyczajnie użyteczne. Stąd się biorą różne sztuczki, które stosuję developerzy w grach, aby śmigała ona znacznie sprawniej, stąd różne formy generowanie proceduralnego zawartości w grze - a o co chodzi z tym "proceduralnym" generowaniem - o tym niżej.

Rodzaje tworów demosceny to dema nieograniczone (full size) oraz ograniczone (np. 64K oraz 4K). W demach full size nie mamy ograniczenia jako takiego, więc twórca ma dowolność w używaniu zasobów, natomiast w ograniczonych mamy różne kategorie - np. 64K (ograniczenie do 64kilobajtów) itd. aż do 4K (4kilobajty). 

Twory demosceny to nie tylko samonarzucanie sobie granic lecz wręcz przeciwnie - przełamywanie ich! W przypadku starych sprzętów - np. Commodore 64, celem tworów demosceny było często wyniesienie sprzętu znacznie daleko, niż ich fabryczne limity, ustanowione przez producenta maszyny. Twórcy demosceny prześcigali się w być może mało ambitnych tworach - np. największa liczba szybko zapalających i gasnących pikseli na ekranie itd. Z tym doświadczeń mamy gry i aplikacje wyciskające tzw. ostatnie soki ze sprzętu - właśnie z doświadczeń z obyciem ze sprzętem, z tworów demosceny. Demoscena nie polega zatem jedynie na ograniczeniach lecz właśnie przede wszystkim na łamaniu ograniczeń. 
 Zatem twórcy albo "samonarzucają" sobie ograniczenia - i próbują z nich wycisnąć ostatnie soki - albo ograniczenia nadane przez twórców starszego sprzętu po prostu łamią. Przykładem jest m.in. odpalenie filmiku na Pegazusie (!) - czyli NESie. Uwierzcie mi - odpalenie ruszającego się filmiku - nawet w czerni i bieli - na tak słabym sprzęcie,  w żaden sposób nie przystosowanym do odtwarzania filmów, a jedynie zbitek pikseli w małej ilości kolorów, jest osiągnięciem naprawdę godnym podziwu.

0 komentarze :

Prześlij komentarz