---
# System prepended metadata

title: 'Projekt: Produkcja demoscenowa'
tags: [sylabus]

---

# Projekt: Produkcja demoscenowa

###### tags: `sylabus`

Demoscena to międzynarodowa subkultura komputerowa – powstała w latach 80 ubiegłego wieku – zajmująca się tworzeniem dem, czyli programów komputerowych generujących w czasie rzeczywistym prezentacje audiowizualne. Celem dema jest zaprezentowanie umiejętności programistycznych, graficznych i muzycznych członków grupy demoscenowej. Produkcje demoscenowe wystawia się w konkursach na festiwalach zwanych _demoparty_, na których uczestnicy głosują na najlepsze produkcje w kilku kategoriach. Jeśli zainteresował Ciebie temat, to koniecznie obejrzyj polski film dokumentalny [_Sztuka przekraczania_](https://www.youtube.com/watch?v=NVEBWUM8lko).

Celem projektu jest przygotowanie dema na komputer [Amiga 500](https://pl.wikipedia.org/wiki/Amiga_500) pod szyldem grupy [Ghostown](http://www.pouet.net/groups.php?which=10931), która wielokrotnie zajmowała pierwsze miejsce na podium, np.: [Sushi Boyz](https://www.youtube.com/watch?v=ZQ3-nnoXGng) czy [Human Traffic](https://www.youtube.com/watch?v=mZTWdzJMiJA). Produkcję chcielibyśmy wystawić na [Revision](https://en.wikipedia.org/wiki/Revision_(demoparty)) – najbardziej prestiżowym i największym demoparty na świecie – odbywającym się co roku na przełomie marca i kwietnia. Grupa w swoich szeregach ma wysokiej klasy grafików [Slayer](http://artcity.bitfellas.org/index.php?a=artist&id=467) i [DKL](http://artcity.bitfellas.org/index.php?a=artist&id=894) oraz świetnego muzyka [Jazzcata](https://soundcloud.com/jazzcat-2/popular-tracks). Lubimy eksperymenty i nowe wyzwania, dlatego chcielibyśmy zaprosić do współpracy programistów niezwiązanych z demosceną i zobaczyć dokąd nas to zaprowadzi. A nuż będzie to strzał w dziesiątkę?

W projekcie wykorzystujemy szereg nowoczesnych technologii do tworzenia narzędzi, grafiki 2D, modeli 3D, muzyki i efektów audiowizualnych:

 - język [Python](https://www.python.org/), [GoLang](https://golang.org/) i [TypeScript](https://www.typescriptlang.org/)
 - shadery GLSL [ShaderToy](https://www.shadertoy.com/)
 - środowisko [Processing](https://processing.org/)
 - [Photoshop](https://www.adobe.com/pl/products/photoshop.html)
 - [Modo3D](https://www.foundry.com/products/modo) i [Blender](https://www.blender.org/)
 - instrumenty i efekty [VST](https://en.wikipedia.org/wiki/Virtual_Studio_Technology)

Zadania programistyczne pokrywają szerokie spektrum tematów o zróżnicowanym poziomie trudności:

 - konwersja danych
 - przetwarzanie i synteza dźwięku
 - przetwarzanie obrazu
 - kompresja danych
 - narzędzia wspomagające debugowanie i profilowanie
 - narzędzia do parametryzowania i sekwencjonowania efektów
 - prototypowanie efektów graficznych
 - adaptacja efektów do ograniczeń komputera _Amiga 500_
 - rozwój infrastruktury do uruchamiania efektów
 
Idealnie każdy uczestnik projektu powinien utworzyć prototyp efektu i z pomocą prowadzącego zajęcia zaadaptować go do ograniczeń platformy docelowej. Środowisko programisty bazuje na [Visual Studio Code](https://code.visualstudio.com/) i emulatorze [fs-uae](https://fs-uae.net/), ale ze względu na szereg ograniczeń skierowane do użytkowników systemu _Linux_ lub _macOS_. Więcej na temat kodu i środowiska można dowiedzieć się przeglądając publicznie dostępne repozytorium [cahirwpz/demoscene](https://github.com/cahirwpz/demoscene).

Jeśli uda Wam się wprowadzić swój efekt do produkcji, to zostaniecie uwiecznieni (pod wybranym pseudonimem) w sekcji _credits_ i członkowie grupy Ghostown będą Was zachęcać do uczestnictwa w _demoparty_. Wrażeń z obejrzenia efektów swojej pracy na ekranie kinowym i aplauzu publiczności nie da się zapomnieć!
