Dziennik prac

Potwierdzone etapy
projektu

Krótkie informacje o odtworzonym zachowaniu i działających systemach gry.

OpenFA to projekt rozwijany w wolnym czasie, bez harmonogramu wydań.

Potwierdzone Bezpośrednio poparte kodem, danymi, zapisem lub kadrem z gry. Wnioskowane Zgodne z obserwacją, ale bez bezpośredniego dowodu. Nieznane Nieustalone.

Rzut oka na możliwą przyszłość

Może handlarze nie zawsze będą dostępni tylko z menu.

Sposób, w jaki działa handel w OpenFA, może kiedyś wyglądać zupełnie inaczej.

Powierzchnia asteroidy OpenFA z kilkoma statkami handlowymi zadokowanymi przy wysokim centrum handlowym
Coś właśnie dokuje…
Powierzchnia asteroidy OpenFA z różnymi typami statków odwiedzających to samo centrum handlowe
…i nie każdy gość wygląda tak samo.

· Preview 0.495 · Rekonstrukcja oryginału

Odtworzone Asteroid Engines

Preview 0.495 przywraca działające sterowanie Asteroid Engines i pozwala naprawdę zmieniać ruch asteroidy.

Gracz może zmieniać kierunek asteroidy i moc silników z odtworzonego panelu, a mapa pokazuje wybraną asteroidę i jej wektor ruchu względem pobliskich obiektów.

Przy okazji poprawiono także tempo poruszania się statków, flot i rakiet tak, aby odpowiadało oryginalnej grze. Ekran nie jest więc tylko odtworzonym interfejsem — jego przyciski faktycznie wpływają na świat gry.

Ekran Asteroid Engines w OpenFA pokazujący pobliskie asteroidy i wektor ruchu wybranego obiektu
Asteroid Engines Sterowanie kierunkiem i mocą jest połączone z odtworzonym stanem ruchu strategicznego.

Publiczny preview 0.495

Asteroid Engines, komendy ruchu strategicznego i zlokalizowany ekran sterowania trafiają do preview z 13 września.

· Społeczność

Pierwsze poprawki wynikające z feedbacku społeczności

Preview 0.478 uruchomił pierwszą rzeczywistą rundę zewnętrznych testów OpenFA.

Gracze testujący build z 10 września zgłosili kilka problemów, które przeszły przez dotychczasowe replaye i testy regresyjne. Zgłoszenia zostały odtworzone, poprawione i włączone do kolejnego publicznego preview zamiast pozostać wyłącznie obserwacjami deweloperskimi.

Przejście z 0.478 do 0.495 jest tym samym pierwszą pełną publiczną pętlą feedbacku w projekcie: release → testy zewnętrzne → zgłoszone problemy → zweryfikowane poprawki → kolejny release.

Testy społeczności stają się częścią procesu

Preview 0.495 jest pierwszym buildem OpenFA zawierającym poprawki wynikające bezpośrednio z feedbacku użytkowników publicznych nightly.

· Rdzeń

Ogromne mapy

Światy OpenFA nie są już ograniczone skalą oryginalnej areny Fragile Allegiance.

Silnik mapy potrafi teraz obsługiwać obszary znacznie większe niż w oryginale. Płynna kamera i rozszerzony zoom pozwalają wygodnie poruszać się po takim świecie, a klasyczne mapy nadal działają tak jak wcześniej.

Większy świat jest rozszerzeniem OpenFA, a nie zamiennikiem oryginalnej skali: standardowe mapy pozostają poprawne, a własne scenariusze mogą rozrzucić asteroidy, floty i kolonie na znacznie większych odległościach.

Animowana mapa strategiczna OpenFA pokazująca nawigację po znacznie większym świecie gry
Większa przestrzeń strategiczna Natywne areny, płynna nawigacja i rozszerzony zoom obsługują światy dużo większe od oryginalnej areny.

Preview 0.478

Preview z 10 września jest pierwszym publicznym buildem udostępniającym fundament powiększonej mapy strategicznej.

· Preview 0.478 · Rozszerzenia pakietów

Pakiety rozszerzają rozgrywkę, nie tylko katalogi

System pakietów służy już do opcjonalnych mechanik i prezentacji, a nie tylko do odtwarzania katalogu zawartości oryginału.

Najbardziej czytelnymi przykładami są Interceptor Missile, który autonomicznie przechwytuje nadlatujące rakiety i może także atakować asteroidy, oraz Decoy Missile, rozdzielający się w pobliżu celu na cztery nieszkodliwe obiekty przeciążające obronę przeciwrakietową. Obie rakiety są dostarczane jako rozszerzenia .ofapkg, a nie jako część wpisana na stałe do podstawowej gry.

Preview 0.478 zawiera 12 pakietów .ofapkg, m.in. nowe rakiety, rzadkie asteroidy i dodatkowe warstwy informacji na powierzchni. To pierwszy publiczny build, w którym rozszerzenia OpenFA można wyraźnie zobaczyć podczas zwykłej gry.

Ekran Missile Construction w OpenFA pokazujący zdefiniowany w pakiecie Interceptor Missile
Interceptor Missile Nowa rakieta obronna dostarczana jako opcjonalne rozszerzenie.
Ekran Missile Construction w OpenFA pokazujący zdefiniowany w pakiecie Decoy Missile
Decoy Missile Dwufazowa rakieta definiowana przez pakiet, tworząca przy celu cztery nieszkodliwe obiekty.

Granica rozszerzeń sprawdzona w rozgrywce

Nowe elementy rozgrywki można dodawać jako osobne pakiety, bez zmieniania podstawowej wersji Fragile Allegiance.

· Rozszerzenia pakietów

Warstwy planowania i stanu powierzchni

Opcjonalne warstwy HUD definiowane przez pakiety pokazują informacje, które w oryginalnym interfejsie były trudne do podejrzenia.

Warstwa planowania pokazuje na powierzchni informacje przydatne podczas gry: zasięg Screen Generatorów, miejsce zajmowane przez budynki, przeszkody, priorytety zasilania oraz konkretny powód, dla którego wybranego obiektu nie da się teraz postawić.

Drugi zestaw nakładek pokazuje postęp budowy i kondycję budynków, a także stan statków bezpośrednio w inwentarzu. Każdą z tych informacji można włączać niezależnie, a ich wyłączenie nie wpływa na samą rozgrywkę ani zapis gry.

Powierzchnia asteroidy OpenFA z niebieską nakładką pokazującą zasięg ochrony Screen Generatora
Ochrona ekranu Chronione pola powierzchni są widoczne jako warstwa informacyjna.
Widok rozmieszczania budynku w OpenFA pokazujący dostępne i wymagane fundusze
Diagnostyka budowy HUD wyjaśnia, dlaczego wybranego budynku nie można obecnie postawić.
Kolonia OpenFA z paskami postępu nad budynkami w trakcie budowy
Postęp budowy Nakładki pakietowe mogą pokazywać stan prac na powierzchni.
Kolonia OpenFA z paskami stanu nad uszkodzonymi budynkami
Stan budynków Uszkodzenia można ocenić bez otwierania dodatkowego ekranu.
Inwentarz statków OpenFA z kolorowymi paskami stanu pod ikonami poszczególnych jednostek
Stan statków Kondycja poszczególnych jednostek jest widoczna bezpośrednio w inwentarzu.

Rozszerzenia tylko do odczytu

Nakładki tylko pokazują dodatkowe informacje. Nie zmieniają zasad działania oryginalnej gry.

· Badanie oryginalnej gry

Rozgryźliśmy, jak działał multiplayer oryginału

Udało się odtworzyć sposób, w jaki oryginalny Fragile Allegiance utrzymywał kilku graczy w tej samej, zsynchronizowanej rozgrywce.

Wiemy już m.in. jak gracze dołączali do sesji, jak wybierany był komputer koordynujący grę, jak polecenia trafiały do wszystkich uczestników i jak gra próbowała wrócić do zgodnego stanu po problemach z synchronizacją. Zidentyfikowane zostały też stare sposoby połączenia używane przez wersję DOS.

Nie oznacza to jeszcze działającego multiplayera w OpenFA. Oznacza natomiast, że wiadomo już, jakie zachowanie trzeba odtworzyć, aby w przyszłości zbudować współczesną wersję gry sieciowej.

Odtworzone zachowanie protokołu

Przyszły multiplayer nie musi już powstawać metodą prób i błędów — jego najważniejsze zasady są znane.

· Preview 0.370

Pierwsze publiczne wydanie

OpenFA po raz pierwszy wychodzi poza środowisko deweloperskie jako build do pobrania i testów społeczności.

Preview 0.370 jest jawnie publikowany jako niedokończony snapshot deweloperski. Na tym etapie można przejść mechaniki objęte tutorialami Fragile Allegiance 1–6, ale nadal należy oczekiwać niekompletnych systemów, regresji i różnic względem oryginału.

Preview wymaga lokalnie zainstalowanej legalnej kopii oryginalnej gry i korzysta z First-Run.ps1 do wskazania jej zasobów. Repozytorium kodu źródłowego pozostaje na razie prywatne, a feedback i powtarzalne zgłoszenia błędów trafiają do publicznego projektu preview.

Początek publicznych testów

0.370 rozpoczyna linię wydań preview: grywalne snapshoty testowe bez przedstawiania rekonstrukcji jako gotowego produktu.

· System rozszerzeń

.ofapkg wyrasta na pełny system modów i rozszerzeń

Pakiety zaczynały jako sposób na opisanie katalogu budowy. Teraz potrafią znacznie więcej.

Budynki, statki, floty, rakiety, rudy, badania, handel, personel i scenariusze nie muszą już być wpisane na stałe do jednej wersji gry. OpenFA może pobierać ich definicje z aktywnych pakietów, a wraz z nimi także potrzebne grafiki, animacje i dodatkowe informacje na ekranie.

Pakiety nie są osobnymi programami uruchamianymi wewnątrz gry. Korzystają z możliwości przygotowanych w silniku i konfigurują je danymi. Dzięki temu można dodawać np. nowe rakiety, nakładki powierzchni czy systemy przemysłu, a wierna wersja oryginalnej gry pozostaje osobnym zestawem zawartości.

Od rekonstrukcji do rozszerzalnej gry

Fragile Allegiance pozostaje podstawą, ale dodatkową zawartość i nowe pomysły można od tej chwili dodawać osobno i włączać tylko wtedy, gdy gracz ich chce.

· Tutorial 2

Tutorial 2 ukończony

Odtworzona lekcja o budowie statków działa już od początku do końca.

Lekcja obejmuje wymagane budynki, małe statki, punkty uzbrojenia, zlecenia, stan Stoczni i anulowanie budowy. Następnie przechodzi do orbitalnego Doku Kosmicznego i większych konstrukcji.

Tutorial korzysta z tych samych ekranów i zasad co normalna rozgrywka. Nic nie jest tworzone „na skróty” tylko po to, żeby nagranie wyglądało poprawnie.

Tutorial 2 OpenFA wyjaśniający budynki, rudę i fundusze wymagane do budowy statków
Wymagania Stocznia, Fabryka Broni, ruda i fundusz Pojazdów.
Tutorial 2 OpenFA prezentujący statek zwiadowczy w projektancie
Małe statki Zwiadowcy, Combat Eagle i Assault Fighter.
Tutorial 2 OpenFA montujący osłonę w punkcie uzbrojenia statku zwiadowczego
Punkty uzbrojenia Broń i osłony są montowane na wybranym statku.
Tutorial 2 OpenFA pokazujący zlecenia zwiadowcy i Combat Eagle w Stoczni
Stocznia Zlecenia, czas budowy i komunikaty o blokadach.
Tutorial 2 OpenFA prezentujący budowę orbitalnego Doku Kosmicznego
Dok Kosmiczny Większe statki korzystają z osobnego obiektu orbitalnego.
Tutorial 2 OpenFA prezentujący budowę Transportera w Doku Kosmicznym
Budowa orbitalna Transportery i Destruktory korzystają z odtworzonych planów.

Sprawdzone w kliencie

Wszystkie 272 odtworzone akcje wykonały się w docelowym kliencie z oryginalnymi zasobami i narracją.

· Tutorial 1

Tutorial 1 ukończony

Pełna lekcja o budowie kolonii działa już w OpenFA.

Końcowa część obejmuje precyzyjne ustawianie budynków, obszary ochrony i efektów, rozbiórkę oraz komunikat o braku środków.

Zachowano oryginalne ruchy kursora, czasy, napisy i narrację. Wszystkie akcje wykonują te same mechaniki, których używa normalna rozgrywka.

Tutorial 1 OpenFA pokazujący ustawianie budynku na siatce taktycznej
Tryb taktyczny Położenie budynków i zasięgi efektów wynikają z aktualnego stanu kolonii.
Tutorial 1 OpenFA wybierający polecenie rozbiórki w menu budowy
Polecenie rozbiórki Tutorial wraca na powierzchnię w trybie wyboru celu.
Tutorial 1 OpenFA wybierający budynek do rozbiórki na powierzchni asteroidy
Rozbiórka Budynek jest wskazywany przez jego obszar na powierzchni.
Tutorial 1 OpenFA wyjaśniający komunikat o braku środków na budowę
Brak środków Nieudana budowa jest zgłaszana w oknie wiadomości.

Sprawdzone w kliencie

Wszystkie 200 odtworzonych akcji wykonały się w docelowym kliencie z oryginalnymi zasobami i narracją.

· Tutorial 1

Tutorial 1: budowa kolonii

Odtworzona lekcja doszła do menu budowy i powierzchni asteroidy.

Tutorial otwiera katalog, wybiera budynek i wraca na powierzchnię. Budynek powstaje dokładnie tak samo jak podczas zwykłej gry, razem z wymaganiami miejsca, pieniędzy i czasu budowy.

Tutorial 1 OpenFA wskazujący ikonę menu budowy
Budowa Lekcja wchodzi przez produkcyjny interfejs.
Tutorial 1 OpenFA pokazujący stronę wsparcia personelu w menu budowy
Katalog Strony grupują odtworzone budynki kolonii.
Tutorial 1 OpenFA wybierający Security Centre do budowy
Wybór Koszt, czas budowy i opis są takie same jak podczas normalnej gry.
Tutorial 1 OpenFA ustawiający rusztowanie budynku obok Sky Hooka
Ustawianie Rusztowanie pokazuje postęp budowy na powierzchni.

Działająca ścieżka

Wybór z katalogu i ustawienie na powierzchni korzystają z tych samych poleceń co zwykła gra.

· Tutorial 1

Tutorial 1: mapa i finanse

Pierwsza odtworzona sekwencja dociera już do ekranu finansów kolonii.

Lekcja zaczyna się na mapie strategicznej, otwiera zaznaczoną asteroidę i objaśnia pięć funduszy. Budżet zmienia się odtworzonym przeciąganiem w lewo i w prawo.

Ruch kursora, napisy i momenty odtwarzania narracji pochodzą bezpośrednio z danych tutoriala w oryginalnej grze.

Tutorial 1 OpenFA rozpoczynający się na mapie strategicznej
Obszar gry Pierwsza akcja otwiera zaznaczoną asteroidę.
Tutorial 1 OpenFA objaśniający główne konto Money
Money Przychody i zakupy korzystają z głównego konta.
Tutorial 1 OpenFA objaśniający fundusze Construction, Vehicles, Missiles i Personnel
Pięć funduszy Construction, Vehicles, Missiles i Personnel mają osobne przydziały.
Tutorial 1 OpenFA pokazujący przeciąganie paska przydziału środków
Transfer Przeciąganie paska naprawdę przenosi środki między funduszami.

Odtworzony zakres

Nawigacja, opisy kont i sterowanie budżetem zachowują oryginalną sekwencję akcji.

· Rekonstrukcja świata

Pierwszy odtworzony świat

Ten sam oryginalny zapis gry może już zostać pokazany jako kolonia na powierzchni i jako świat na mapie strategicznej.

OpenFA odczytuje z oryginalnego zapisu asteroidy, frakcje, budynki, statki, personel i dyplomację. Nieznane jeszcze fragmenty danych są zachowywane, żeby niczego nie zgubić. Pokazywane kolonie pochodzą więc z prawdziwych zapisów gry, a nie z ręcznie przygotowanych demonstracji.

Powierzchnia asteroidy, miejsca dostępne pod budowę i mapa strategiczna korzystają z tych samych danych świata. Dzięki temu to, co gracz widzi i klika, zgadza się z odtworzonym stanem gry.

Oryginalna powierzchnia asteroidy obok rekonstrukcji OpenFA
Powierzchnia Oryginał i OpenFA z tego samego zapisu.
Oryginalna siatka budowy obok rekonstrukcji OpenFA
Siatka budowy Zapisany teren i zablokowane pola.
Oryginalna mapa strategiczna obok rekonstrukcji OpenFA
Mapa strategiczna Odtworzona skala, własność i sensory.

Potwierdzony wynik

Początek mapy i odstęp pól są zgodne z referencją; środki asteroid różnią się najwyżej o jeden piksel.

· Fundamenty

Fundamenty rekonstrukcji

Od początku założenie jest proste: nie zgadywać działania gry i nie dołączać do OpenFA materiałów należących do oryginału.

Zrzuty ekranu pokazują, jak gra powinna wyglądać. Program, jego dane i zapisy pomagają ustalić, dlaczego zachowuje się właśnie w taki sposób.

OpenFA nie rozpowszechnia oryginalnych grafik, dźwięków ani filmów. Są one wczytywane z legalnej instalacji Fragile Allegiance wskazanej przez gracza.

Już na tym etapie zawartość gry zaczyna być oddzielana od samego silnika. Z czasem ten pomysł rozwinie się w format .ofapkg, używany dziś także do modów i opcjonalnych rozszerzeń.

AI pomaga analizować dekompilat. Testy odtwarzają przypadki zasobów, zapisów i symulacji; wygenerowane wyjaśnienia pozostają hipotezami.

Ekran główny oryginalnego Fragile Allegiance używany jako referencja
Kadr referencyjny Widoczny układ i stany kontrolek.
Oryginalny katalog budowy obok OpenFA
Ta sama gra, nowy silnik OpenFA korzysta z oryginalnych zasobów, ale odtwarza zachowanie we własnym kodzie.

Zasada pracy

Zrzut ekranu mówi, jak coś wygląda. Żeby ustalić, jak naprawdę działa, potrzebny jest program, dane, zapis gry albo powtarzalny test w oryginale.

· Początek

Pierwszy zdekodowany obraz

OpenFA zaczęło się od dekodera grafiki oryginalnego intra.

Fragile Allegiance .256 Dekoder w Pythonie piksele

23 września 2023 roku skrypt w Pythonie zdekodował proste pliki .256 z intra gry. Pełna rekonstrukcja Fragile Allegiance nie była wtedy planowana.

Artefakty badań oryginalnej gry

Wyniki pierwszych eksperymentów z dekoderem

Wczesne wyniki dekodera: błędne palety, testy przesunięć i końcowa konwersja VGA.

Kalendarium wczesnych badań

Od jednego pliku do potoku renderowania

Pierwszy eksperyment

Dekoder prostych plików intra .256 w Pythonie.

Udokumentowana struktura pliku

Pierwszy opis pól i granic formatu .256.

Loader odnaleziony w pliku wykonywalnym

IDA Pro lokalizuje i dekompiluje fragment loadera odwołujący się do pliku intra.

Działający dekoder

Dekoder tworzy użyteczne obrazy; próba kodowania PNG do .256 testuje format w drugą stronę.

Potwierdzone przesunięcia, paleta i skalowanie VGA

Zweryfikowano przesunięcia i PALETTE wraz z konwersją sześciobitowych kanałów VGA.

Renderer i teren proceduralny

Badania obejmują już teren, kratery, sposób cieniowania, kolory i kolejność rysowania poszczególnych warstw.

Dekoder doprowadził do prac nad paletami, kompresją, animacją, zapisami i zachowaniem gry.

Obecna baza kodu powstała później; pliki z 2023 roku nadal służą jako referencje.

Pierwszy wynik

Pierwsze działające narzędzie badawcze OpenFA.

Aktualizacje projektu

Nowe wpisy będą dodawane po weryfikacji prac

Oprócz zweryfikowanych wpisów dziennika możesz śledzić bieżące buildy preview, filmy z rozwoju projektu i dyskusję społeczności.