Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Decomp / Recomp / Native PC Ports - gry konsolowe dostają drugie życie na PC!

 

Ostatnio natrafiłem na bardzo ciekawy dział Reddita, który chciałbym się z Wami podzielić:

https://www.reddit.com/r/decomps/

Jeżeli ktoś interesuje się technologią, programowaniem, reverse engineeringiem, emulacją albo po prostu grami komputerowymi, to naprawdę warto tam zaglądać.

W ostatnim czasie pojawia się tam mnóstwo interesujących projektów związanych z uruchamianiem gier konsolowych na komputerach PC. I nie chodzi wyłącznie o klasyczną emulację, jaką znamy od lat.

Coraz częściej programiści i niezależni entuzjaści próbują odtwarzać działanie oryginalnego kodu, rekompilować go na inne architektury lub tworzyć środowiska pozwalające uruchamiać kod konsolowy bezpośrednio na komputerze.

Najciekawsze jest to, że dotyczy to już nie tylko starych gier z Nintendo 64 czy PlayStation 1, ale również tytułów z PS2, PS3, PS4, Xbox 360, Wii U i Nintendo Switch.

O co właściwie chodzi?

W dużym uproszczeniu mamy kilka różnych technologii:

Decompilation (dekompilacja) - analiza kodu maszynowego gry i próba odtworzenia jej kodu źródłowego, często w C lub C++.

Static Recompilation (statyczna rekompilacja) - wcześniejsze przetłumaczenie kodu maszynowego gry na kod, który można skompilować i uruchomić na innej architekturze.

Native Port / Source Port - dostosowanie gry do działania jako aplikacja na nowej platformie. Może wykorzystywać odtworzony kod, rekompilację lub własną implementację mechanizmów oryginalnej gry.

Emulation (emulacja) - odtwarzanie środowiska konsoli, jej interfejsów systemowych i, gdy jest to konieczne, działania procesora oraz pozostałych podzespołów.

Granice między tymi rozwiązaniami bywają płynne. Przykładowo gra może wykonywać swój oryginalny kod procesora bez emulacji CPU, ale jednocześnie wykorzystywać tłumaczenie poleceń graficznych na Vulkan.

Nie oznacza to automatycznie, że rekompilacja będzie zawsze szybsza od emulatora. Wszystko zależy od jakości implementacji.

Kilka projektów, które szczególnie zwróciły moją uwagę

 

1. Bloodborne (PlayStation 4 → Windows)

Jeden z najciekawszych przykładów ostatnich tygodni.

Społeczność rozwija rozwiązania pozwalające uruchamiać oryginalny kod Bloodborne na PC. Projekt bloodborne_pc wykorzystuje kod x86-64 pochodzący z wersji PS4, własne implementacje funkcji systemowych i renderer tłumaczący grafikę na Vulkan.

Autorzy rozwijającego się portu dodali między innymi:

Obsługę NVIDIA DLSS i AMD FSR.

Możliwość działania powyżej oryginalnych 30 FPS.

Obsługę wyższych rozdzielczości, w tym 4K.

Ustawienia graficzne, mody i dodatkowe funkcje.

Na Reddicie pojawiły się demonstracje przekraczające 100 FPS na RTX 5060. Trzeba jednak pamiętać, że są to wyniki konkretnych konfiguracji i scen, a nie gwarancja identycznej wydajności u każdego.

GitHub: https://github.com/Supermedo/bloodborne_pc

Demonstracja i dyskusja:

 

 

2. God of War III Remastered (PlayStation 4 → Windows)

Kolejny bardzo interesujący projekt.

Powstał port wykorzystujący oryginalny kod x86-64 z wersji PS4, własny runtime zastępujący część usług systemowych konsoli oraz tłumaczenie grafiki na Vulkan.

Autor deklaruje możliwość przejścia gry od początku do końca. Projekt zawiera też poprawki wydajności, własny launcher, ustawienia oraz patch umożliwiający ustawienie limitu do 240 FPS.

Oczywiście samo wsparcie dla takiego limitu nie oznacza, że gra będzie wszędzie osiągać 240 FPS, ale pokazuje możliwości modyfikowania oryginalnego silnika.

GitHub:
https://github.com/FelipePrado0/gow3_pc

 

3. P.T. (PlayStation 4 → PC)

Pamiętacie słynne P.T., czyli horrorowe demo Kojimy?

Powstał projekt jego portu na komputery, w którym logikę gry odtworzono w C++, a renderer napisano z wykorzystaniem Vulkana.

To ciekawy przykład innego podejścia niż bezpośrednie wykonywanie konsolowego kodu. Autor odtworzył mechanikę gry i wykorzystuje oryginalne zasoby z kopii użytkownika.

Projekt pokazuje również, jak reverse engineering może pomóc w zachowaniu gier, które nie są już normalnie dostępne w cyfrowej dystrybucji.

GitHub:
https://github.com/LoreanXavier/pt-pc

 

4. Lost Odyssey (Xbox 360 → PC)

Tutaj wchodzimy w temat statycznej rekompilacji kodu PowerPC z Xboxa 360.

Projekt Lost Odyssey Recomp rozwija natywny port z obsługą między innymi Direct3D 12, Vulkana, wyższych rozdzielczości, DLSS, FSR, HDR i różnych limitów FPS.

Co ciekawe, powstały również wersje na macOS i Androida.

GitHub:
https://github.com/freefrank/LostOdysseyRecomp

 

5. The Legend of Zelda: The Wind Waker HD (Wii U → PC)

Kolejny bardzo ciekawy projekt oparty na rekompilacji.

Twórcy ZeldaWWHDRecomp rozwijają możliwość uruchamiania wersji z Wii U na współczesnych systemach, m.in. Windows, Linux i macOS.

Pojawiają się również usprawnienia graficzne, poprawki sterowania i obsługa modów.

GitHub:
https://github.com/ZeldaWWHDRecomp/ZeldaWWHDRecomp

 

6. Super Mario Odyssey (Nintendo Switch → PC)

W projekcie SwitchRecomp autor zaprezentował eksperymentalne uruchomienie Super Mario Odyssey jako aplikacji PC.

Technologia polega na wcześniejszym tłumaczeniu kodu ARM64, natomiast obsługa GPU nadal wymaga osobnej warstwy tłumaczącej.

Według autora gra uruchamia się i pozwala na rozgrywkę w początkowych lokacjach. Na bardzo słabym Celeronie N4500 raportował około 15 FPS.

Projekt jest jednak na wczesnym etapie, zawiera istotne błędy graficzne, a jego kod nie został jeszcze publicznie udostępniony.

Dyskusja:

 

 

7. The Legend of Zelda: Breath of the Wild (Wii U → Windows)

Na Reddicie zaprezentowano również eksperymentalny projekt narzędzia tłumaczącego kod gier Wii U na architekturę x86.

Autor wymienia między innymi Breath of the Wild, Mario Kart 8, Super Mario 3D World i Splatoon.

Na razie jest to demonstracja i deklaracja autora, bez publicznie udostępnionego repozytorium. Co interesujące, sam twórca przyznał, że wydajność jego aktualnej implementacji wypada jeszcze słabo w porównaniu z emulatorem Cemu.

Dyskusja:

 

 

8. Dragon Quest VIII (PlayStation 2 → PC)

Ciekawy przykład rekompilacji gry z PS2.

Projekt DQ8Recomp wykorzystuje narzędzie tłumaczące kod MIPS gry na C++, który współpracuje z własnym środowiskiem uruchomieniowym.

Gra uruchamia się i dociera do właściwej rozgrywki, ale według dokumentacji projektu kompatybilność, stabilność i wydajność nadal wymagają pracy.

GitHub:
https://github.com/Sinan-Karakaya/DQ8-Recompiled

 

9. The Legend of Zelda: Majora's Mask (Nintendo 64 → PC)

Warto również wspomnieć o jednym z najbardziej rozpoznawalnych przykładów statycznej rekompilacji.

Zelda 64: Recompiled pokazuje, jak stare gry Nintendo 64 można przekształcić w aplikacje działające na współczesnych systemach komputerowych.

To jeden z projektów, które pomogły spopularyzować całą technologię.

GitHub:
https://github.com/Zelda64Recomp/Zelda64Recomp

 

Dlaczego uważam ten temat za tak interesujący?

Przede wszystkim dlatego, że obserwujemy zupełnie nowe możliwości związane z zachowywaniem i modernizacją starszych gier.

Niektóre projekty pozwalają na rzeczy, których oryginalna konsola nigdy nie oferowała: wyższy framerate, ultrawide, HDR, nowoczesny upscaling, nowe systemy sterowania czy zaawansowane modyfikacje.

Druga sprawa to rozwój narzędzi i wykorzystanie AI w reverse engineeringu oraz programowaniu.

Niektóre projekty otwarcie deklarują korzystanie z asystentów AI. Budzi to również kontrowersje, szczególnie wokół jakości kodu i wiarygodności prezentowanych demonstracji. Moim zdaniem jest to dodatkowy ciekawy temat do technicznej dyskusji.

Jednocześnie warto zachować rozsądek. Materiał wideo pokazujący uruchomioną grę nie jest równoznaczny z ukończonym, stabilnym portem. Wiele eksperymentów nadal ma problemy z renderingiem, wydajnością, dźwiękiem czy kompatybilnością.

Zróbmy z tego wspólny wątek technologiczny!

Chciałbym, żeby ten temat służył jako miejsce do dzielenia się nowinkami z r/decomps, GitHuba i innych społeczności zajmujących się reverse engineeringiem i portowaniem gier.

Jeśli znajdziecie ciekawy projekt, demonstrację, repozytorium albo przełom techniczny, wrzucajcie tutaj informacje i linki.

Szczególnie interesują mnie:

Nowe projekty uruchamiające gry konsolowe na PC.

Postępy w dekompilacji i statycznej rekompilacji.

Porównania wydajności z klasyczną emulacją.

Nowe funkcje graficzne, takie jak DLSS, FSR, HDR czy odblokowany FPS.

Rozwój otwartych narzędzi do reverse engineeringu i wykorzystanie AI w tych pracach.

Jestem ciekaw, jak będzie wyglądać ta technologia za kilka lat. Czy rekompilacja stanie się popularną alternatywą dla tradycyjnej emulacji? A może rozwiązania hybrydowe okażą się najbardziej praktyczne?

Co o tym sądzicie? Który z takich projektów zrobił na Was największe wrażenie?

 

 

Ważna informacja dotycząca charakteru wątku

Chciałbym wyraźnie zaznaczyć, że jestem przeciwny piractwu oraz nielegalnemu rozpowszechnianiu gier i materiałów chronionych prawem autorskim.

Ten wątek ma wyłącznie charakter technologiczny, informacyjny, edukacyjny, dydaktyczny i badawczy. Jego celem jest omawianie postępów programistycznych, reverse engineeringu, emulacji, dekompilacji, rekompilacji i sposobów zachowywania cyfrowego dziedzictwa gier.

Nie jest to miejsce do udostępniania pirackich kopii, ROM-ów, obrazów płyt, zastrzeżonych plików gier ani instrukcji obchodzenia zabezpieczeń. Zachęcam do korzystania wyłącznie z legalnie pozyskanych materiałów i przestrzegania obowiązujących przepisów.

Zapraszam wszystkich zainteresowanych do merytorycznej dyskusji oraz dzielenia się własnymi obserwacjami, odkryciami i nowinkami technologicznymi!

  • Like 1
  • Thanks 7
  • Upvote 1
Opublikowano

Potwierdzam działanie FH 1 i 2

1 nie chodzi idealnie, czasem coś glicznie i nie potrafi wykorzystać sprzętu porządnie, pewnie wymaga jeszcze dopracowania ale 2 śmiga jakby się urodziła na PC :D

 

8b5f9b5d5c37d224b39b2af8d022f9c7.thumb.png.6555d5020683cf314b0140e333c9d465.png

 

d98290ad597a49beb5a98a96ca389933.thumb.png.cf77bf457ec43234780f868954732194.png

 

5485ad380c43bce57a329d4a658d1fb5.thumb.png.c2ba9134748ed355c2660a483b0e5ac4.png

 

image.thumb.png.8036875f2e3ea147120494e244461b05.png

 

 

  • Like 3
  • Upvote 4
Opublikowano
1 godzinę temu, samsung70 napisał(a):

Zróbmy z tego wspólny wątek technologiczny!

Sama technologia fajna, tylko jestem ciekaw, ilu faktycznie robi własne dumpy*, a ilu po prostu pobiera gotowe paczki z torrentów.

*podejrzewam, że nikt. :E 

Opublikowano (edytowane)

Widac ze tutaj juz lecimy na gruubo :D.

A co do FH2 jak jeszcze dodarzą tryb online i jeszcze mody to gra zostanie drugie zycie.

 

A miałem grac tego gears of war e-day i dokończyć mgs 5 tpp ale zycie weryfikowało 8:E

 

Edytowane przez brainq
Opublikowano
15 minut temu, KiloKush napisał(a):

To jest świetna wiadomość dla graczy retro. A i era exclusivów na konsole może się skończyć.

Chyba co najwyżej przyspieszyć erę pozwów.  :E Już widzę, jak ninja Nintendo ostrzą shurikeny. :E 

 

Opublikowano (edytowane)
11 minut temu, Kadajo napisał(a):

Był update lunchera do FH1 i już jest ultra elegancko.

Tylko jednego glicza ciągle widzę :E

 

Jutro może znów sprawdzę bo na 0.40 była lipa mega a teraz znów mnie dwójka wessała.:lovin: 

11 minut temu, Shad napisał(a):

Tutaj można podejrzeć aktualne postępy prac nad dekompilacją gier z 5/6/7 generacji

https://decomp.dev/projects

Czyli to co jest napisane (full linked) dojdzie na 100% to można bez obaw atakować??

Edytowane przez brainq
  • Kadajo przypiął/eła ten temat
Opublikowano

Niezła rewolucja, w przeciwieństwie do emulatorów które powstają latami, tego raczej nie da się tak łatwo zatrzymać.
Mam pytanko co do FH2, na filmikach widać spore przepalenia w mieście, na oryginalnym sprzęcie też tak jest?

Opublikowano

Trzeba będzie kupić parę płyt na PS2, 3 itd - ściągniecie przerobionej gierki raczej nie jest ok.

Kupujesz gierke na płycie robisz ISO albo bezpośrednio z płyty tylko uruchamia się przez programik który przerabia gre na wersje PC

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...
{literal} {/literal}