← Devlog
v0.2.9-pre-alpha

Ultraviolet v0.2.9-pre-alpha: poziomy są już proceduralne

Dłuższa przerwa niż zwykle — pięć tagowanych buildów od v0.2.0, zebrane w jednym release tutaj. Nagłówek: misje są generowane. v0.2.0 miał jeden ręcznie zbudowany korytarz testowy; v0.2.9 składa świeżą misję z seeda za każdym razem, gdy wychodzisz z huba. Reszta tego cyklu to rusztowanie wokół tego — przełącznik języka, prawdziwe menu opcji, pauza, pierwszy dźwięk. Wciąż placeholderowa grafika, to samo pytanie: czy dobrze się gra.


Misje są generowane (v0.2.5 + v0.2.6)

Wyjście z huba przez portal nie ładuje już stałego poziomu. MapGenerator buduje graf pokoi z seeda — model Dead Cells: wejście → kilka stref walki / traversala → pokój wyboru → jeszcze jedna strefa → boss. Pokój wyboru rozgałęzia się na opcjonalne gałęzie — relikwiarium w misji, skrót, pokój wyzwania, czasem nagroda za drzwiami na czas 90 s — i jest ~35% szansy na ukryty pokój przy głównej ścieżce.

Same pokoje są ręcznie zbudowane (16 na razie dla dzielnicy Nadodrze). Generator wybiera i układa je według typu, głębokości i tego, które drzwi się zgrywają — nie rysuje geometrii. Ten sam seed = ten sam układ, za każdym razem.

Główny kręgosłup jest ciągły: zamiast fade między każdym pokojem, trzy pokoje są zszyte w jedną ciągłą scenę z przesuwanym oknem, więc kamera płynie z jednego do drugiego, gdy idziesz. Gałęzie, sekret i arena bossa wciąż wchodzą z fade. Jedna wygenerowana misja to ok. 10–20 minut sesji. (--map-debug-level w linii poleceń wciąż ładuje stary ręczny poziom, jeśli chcesz porównać.)


Angielski i polski (v0.2.7)

Gra ma przełącznik języka. Domyślnie angielski; polski to druga opcja. Pierwsze uruchomienie pokazuje jednorazowy prompt; potem Opcje → Język i przełącza na żywo. Każdy string idzie przez klucze tłumaczeń (cztery pliki CSV — UI, relikwie, tatuaże, dialog). Angielski tekst to pierwszy pass i dostanie edycję prozy; kolejne języki to kolejna kolumna.


Prawdziwe menu opcji i pauza (v0.2.8)

„Opcje” były stubem. Teraz mają:

  • przełącznik pełnego ekranu
  • rozdzielczość (1152×648 do 1920×1080, okienkowo)
  • głośność — trzy suwaki, niżej

Kadrowanie kamery jest stałe między rozdzielczościami: obraz skaluje się w całości, kamera zawsze pokazuje ten sam wycinek świata, więc zmiana rozdzielczości nie zmienia tego, ile widzisz. Dziwne proporcje monitora dostają letterbox.

Zmiany są stagingowane — lewo/prawo edytuje wartość oczekującą (oznaczoną *), wbudowany wiersz Zastosuj zatwierdza wszystko naraz. Wyjście bez Zastosuj odrzuca.

Esc w trakcie runu otwiera menu pauzy: Wznów / Ustawienia / Wyjście do menu głównego (z potwierdzeniem). Ten sam panel co Opcje, poziom niżej. Na padzie: Start otwiera i zamyka, B cofa poziom, A wybiera. Muzyka gra w pauzie.


Dźwięk (v0.2.9)

Duża rzecz tego buildu. Wcześniej zero efektów — teraz 30 placeholderowych klipów podpiętych pod walkę (wymachy katany, trafienia, parady, guard break, wyrzucenie), rewolwer (strzały, pusty trigger, przeładowanie), ruch (skok, podwójny skok, dash, chwyt krawędzi), obrażenia i całe UI (ruch kursora, wybór, wstecz, zastosuj). To chropowate zastępstwa z paczki dźwięków — niewybalansowane, do wymiany — ale gra nie jest już cicha.

Audio na trzech busach — Master / Music / SFX — z suwakiem każdego w ustawieniach. Ścisz muzykę, zostaw dźwięki trafień, albo odwrotnie.

Dwa utwory „Corrupted Hunt” grają też na wygenerowanych misjach (wcześniej tylko na starym poziomie testowym), shuffle, przetrwają każde przejście pokoju i pauzę.


Też naprawione

Eksportowany build nie miał podłogi na wygenerowanych misjach — wychodziłeś z huba i spadałeś przez świat. W edytorze działało, więc łatwo było to ścigać: w eksporcie Godot zmienia nazwy plików zasobów, skan katalogu loadera pokoi przestał cokolwiek matchować, pula pokoi wracała pusta i generator nie miał z czego budować. Naprawione.


Sterowanie

AkcjaKlawiaturaPad (Xbox)
Ruch← / →lewy stick / d-pad
Skok (podwójny)Spacja / EnterA
Melee (combo 3-hit)A — tapRB
Atak ładowanyA — trzymaj ≥ ~0.5 sRB — trzymaj
Wariant trzeciego hitutrzymaj ↓ ciężki · nic = szybki · ↑ = launcherto samo
Blok / paradaD — trzymaj / tap tuż przed hitemLT
Unik (dash, i-frames)ShiftLB
Strzał (8 kierunków)SRT
PrzeładowanieR (auto przy pustym)Y
Interakcja / wyrzucenieEX
Pauza / menuEscStart
Dialog i menu: ruch / potwierdź / wstecz↑↓ / Enter / Escd-pad / A / B
Podgląd (relikwia + tatuaże, tylko odczyt)Tab — trzymajSelect — trzymaj
Chwyt krawędziautomatyczny; wspinaczka = skok / ↑, zejście = ↓to samo

Jak uruchomić

SystemPlikUwagi
Windowsultraviolet.exe (+ ultraviolet.pck obok)SmartScreen może ostrzec — „Więcej informacji” → „Uruchom mimo to”.
Linuxultraviolet.x86_64 (+ .pck obok)chmod +x, potem ./ultraviolet.x86_64.
macOSUltraviolet.appNiepodpisane: prawy przycisk → Otwórz → potwierdź, albo xattr -dr com.apple.quarantine Ultraviolet.app.

Wyjście: Esc w menu głównym zamyka grę (uwaga). W runie Esc otwiera pauzę — stamtąd wyjście do menu głównego.


Wciąż pre-alpha — czego nie ma

  • Placeholderowa grafika. Gracz ma zastępczy pakiet sprite’ów; wrogowie, teren i UI to kolorowe prostokąty.
  • Placeholderowy dźwięk. SFX to chropowate zastępstwa, nie finalne i niewybalansowane; dwa utwory muzyki w pętli.
  • Boss to stub. Pokój na końcu misji spawnuje placeholder „Legion” — blokera z dodatkowym HP — który blokuje wyjście, dopóki nie padnie. Prawdziwa walka nie jest zbudowana.
  • Balans niedostrojony — obrażenia, HP wrogów, koszty, rampa liczby wrogów na pokój: wszystko tymczasowe.
  • Brak ekranu śmierci, licznika prób, meta-progresji poza tatuażami (wciąż podmiana za darmo, brak dusz bossów na nowe).
  • Śmierć albo wpadek w pustkę = hub, nowy seed, reset runu.

Jak zgłaszać feedback

BŁĄD — co się stało, gdzie (menu / hub / który pokój), jak odtworzyć, platforma, screen albo klip jeśli możesz.

ODCZUCIA — działa, ale jak się gra? W tej wersji szczególnie:

  • misje proceduralne — pacing OK? pokoje płyną, czy czuć tasowaną talię? run za długi / za krótki?
  • ciągłe przejścia — kamera czyta się dobrze, czy brak pauzy między pokojami dezorientuje?
  • rampa trudności w misji — za płaska, za stroma?
  • pokój wyboru i gałęzie — warto zbaczać? widać, co wybierasz?
  • nowe menu — Opcje i pauza: czytelne? model „Zastosuj” — oczywisty, czy irytujący?
  • poziomy dźwięku — coś za głośne albo za cicho względem reszty? (placeholdery, ale skrajne nierówności warto znać)
  • starsze pytania: skok, chwyt krawędzi, zimny rewolwer na starcie walki, dash-as-dodge, 3–4 wrogów naraz.

Zostaw feedback w komentarzach pod grą albo tym postem. Testerzy z pełnym przewodnikiem mają checklistę — nawet częściowy run pomaga.

Dzięki za granie w coś, co wciąż jest głównie prostokątami.

— SolarNine · v0.2.9-pre-alpha