← Z dziennika budowy

Nokturn — jak powstawało pierwsze uruchomienie

Zespół Meduzy2026-07-12ok. 6 min czytania

Pierwsze uruchomienie programu to zwykle samouczek z dymkami i przyciskiem „Dalej" — a my chcieliśmy, żeby pierwsze minuty z Meduzą były opowieścią, którą ogląda się do końca, a nie instrukcją, którą się przeklikuje.

Nazwa przyszła sama: całą scenę prowadzi Nokturn Es-dur Chopina, więc pierwsze uruchomienie nazywa się po prostu Nokturn. Meduza pochodzi znad Bałtyku, dlatego Akt I dzieje się nad nocnym morzem. Ciemna woda, niski horyzont, a nad nim szara meduza z falującą białą obręczą — ciemny rdzeń, dwie przeciwbieżne aurory, obręcz z pięciu płatków. To ta sama sylwetka, która po onboardingu zostaje z Tobą jako orb na pulpicie: znak marki wprowadzamy w pierwszej scenie i już go nie zmieniamy. W tle gra Nokturn Es-dur op. 9 nr 2 Chopina, z nagrania w domenie publicznej. A rój orbów nurkuje w wodę dokładnie wtedy, kiedy pianista uderza w klawisz.

Zanim to zadziałało, sporo poszło na dno.

Zatonęło

Wariant wideo — wyrzucony w całości. Pierwsza wersja Aktu I to trzy warstwy plików wideo (niebo, woda, meduza) komponowane przez QPainter. Problem: QPainter składa klatki na CPU, a trzy dekodery pracujące równolegle dławiły maszynę. Efekt: zacinanie widoczne gołym okiem, najbardziej na falach, czyli dokładnie tam, gdzie płynność jest całą sceną. Nie łataliśmy tego — skasowaliśmy gałąź i przepisaliśmy scenę na warstwę webową: CSS i JavaScript w Chromium, renderowane na GPU. Płynnie od pierwszej klatki.

Pierwsze notki graficzne. Nad wodą miały unosić się nuty. Pokazaliśmy wersję roboczą i usłyszeliśmy wprost: „nuty nie są ładne". Słusznie. Zastąpiliśmy je grawerowanymi glifami, których pozycja na ekranie odpowiada wysokości dźwięku — im wyższa nuta w nagraniu, tym wyżej płynie glif.

Jak to działa

Fale liczymy, nie odtwarzamy. Woda w Akcie I to nie plik wideo, tylko suma sinusoid z domieszką 18% drugiej harmonicznej — to ona łamie idealną gładkość czystego sinusa i daje falom nieregularny, morski kształt. Pętle są bezszwowe: animacja wraca do punktu wyjścia bez cięcia, więc scena może trwać tak długo, jak długo na nią patrzysz.

# fala: podstawa + 18% drugiej harmonicznej
y = np.sin(faza) + 0.18 * np.sin(2 * faza)

Chopin dyryguje rojem. Nie mieliśmy pliku MIDI i nie chcieliśmy go mieć. Orby miały nurkować na uderzenia klawiszy z konkretnego, ludzkiego nagrania — z jego rubato, przyspieszeniami i oddechem, a nie z metronomicznej siatki. Zbudowaliśmy więc detektor: spectral flux wyłapuje momenty uderzeń (nagły przyrost energii w widmie), a HPS, czyli harmonic product spectrum, odczytuje wysokość dźwięku. Z samej fali dźwiękowej wyszło 157 nut. Zestaw testów sprawdzających trafność detekcji: 15/15. Zero MIDI w całym łańcuchu — każdy nurek w wodę to uderzenie klawisza odczytane wprost z nagrania.

Dźwięki od zera. 16 efektów — ocean, mewy, promień, dron, plinki pentatoniki — zsyntezowaliśmy w numpy, bez banków sampli i bez cudzych licencji. Każdy dźwięk to skrypt: można go odtworzyć, podkręcić parametr i wygenerować od nowa w sekundę.

Komisja bez taryfy ulgowej. Powołaliśmy czteroosobową komisję recenzentów: motion, wrażenie ogólne, grafika i QA. Zasada była jedna: iterujemy, aż każdy z czterech da minimum 9,5/10. Wersja v3 dostała 9,5 / 9,5 / 9,5 / 9 — i ta jedna dziewiątka wystarczyła, żeby wrócić do pracy zamiast ogłosić sukces. Próg przeszła dopiero kolejna iteracja. To wolniejszy tryb pracy, ale dzięki niemu nie musimy nikogo przekonywać, że onboarding „jest dopracowany" — mamy na to cztery niezależne oceny.

Co z tego masz

Pierwsze uruchomienie Meduzy ogląda się jak krótki film o Bałtyku, a nie klika jak formularz.


Ta funkcja gra w Largo — Nokturn zobaczysz przy pierwszym uruchomieniu w każdym planie, za 0 zł.

Chcesz zobaczyć to na własnym pulpicie?

Largo za darmo na zawsze — a betę Moderato otwieramy dla pierwszych stu.

Dołącz do bety