Port mobilnej trylogii Bunker 3D, Laboratorium 3D, Forteca 3D na GZDoom/UZDoom
Programista adaptuje trylogię mobilnych gier Bunker 3D, Laboratorium 3D i Forteca 3D od Netsoftware pod GZDoom i UZDoom. Oryginały z lat 2006–2000. tworzono dla telefonów bez GPU, z grafiką raycasting w stylu Wolfenstein 3D i Blood. Dwie gry z trzech są w pełni skonwertowane: mapy, tekstury, sprite'y wyodrębniono z formatu własnościowego i dostosowano do UDMF. Planuje się dodać tekstury floor/ceiling, dynamiczne oświetlenie z zachowaniem oryginalnych map jako oddzielnego trybu, a także efekty dźwiękowe. Cel — wydanie z okazji 20-lecia pierwszej gry.
Etapy wyodrębniania i przetwarzania zasobów
Proces zaczyna się od dekompilacji oryginalnego kodu. Funkcja ładowania poziomu do RAM jest zachowana w .json: skompresowane dane (gry ważą <100 KB) rekonstruują poziomy z minimalnego zestawu parametrów.
Konwersja odbywa się w Pythonie:
- Parsowanie JSON: Dane są strukturyzowane do analizy — ściany z tablicami tekstur (w przeciwieństwie do Doom, gdzie na sidedef jedna tekstura).
- Format pośredni: Adaptacja do logiki Doom — sektory dla poziomów podłogi/sufitu, rozdzielanie ścian na linedef/sidedef.
- Eksport do UDMF: Generowanie TEXTUREDEF, ANIMATED, MODELDEF dla bezpośredniej kompatybilności z GZDoom/UZDoom.
Przykłady poziomów po porcie: „Magazyn” (pierwszy poziom), „Ćwiczebna”, „Port”, „Więzienie”. Oryginalna geometria jest zachowana, ale dodaje się sektory dla lepszego renderingu.
Szczegóły techniczne adaptacji
Oryginalny format jest sztywno zoptymalizowany pod ograniczenia platform mobilnych: poziomy budowane są z podstawowych prymitywów bez jawnych tablic tekstur. Skrypty Python rekonstruują to w struktury Doom:
- Ściany: podział na segmenty z unikalnymi teksturami po lewej/prawej.
- Sektory: oddzielne dla podłogi/sufitu, z obsługą wysokości.
- Sprite'y/modele: przeniesienie do MODELDEF.
Aktualny status: pełna konwersja zasobów dla dwóch gier. Pozostało zintegrować oświetlenie (sector brightness), dźwięki (sound sequences) i dopracowanie trzeciej części.
Kod konwertera w trakcie development; stabilne wydanie oczekiwane później.
Co ważne
- Dwie gry z trylogii w pełni przeniesione do UDMF dla GZDoom/UZDoom.
- Zachowana oryginalna geometria z dodaniem sektorów dla podłogi/sufitu.
- Konwersja w Pythonie: od zrzutów JSON do TEXTUREDEF/MODELDEF.
- Plany: oświetlenie, dźwięki, wydanie z okazji 20-lecia Bunker 3D.
- Aktualne dla modderów Doom: przykład pracy ze starymi zasobami raycasting.
— Editorial Team
Brak komentarzy.