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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *