menu
Krylan | Krzysztof Koperkiewicz
Blog

RetroAchievements – stara rozrywka w nowym stylu

2025-02-28 / Inne / Komentarze (0) / Wyświetleń: 206

Osiągnięcia w grach – jedni uwielbiają, innym są całkowicie obojętne. Od lat 90 pojawiały się bezpośrednio w grach, ale dopiero w pierwszej dekadzie drugiego tysiąclecia zawitały na platformy. Dla wielu osób zdobywanie ich to świetna zabawa i możliwość wykonania dodatkowych wyzwań w ulubionych grach. A co, gdyby taką możliwość wprowadzić dla starszych gier?

Czym jest RetroAchievements?

RetroAchievements to inicjatywa umożliwiająca zdobywanie osiągnięć w grach retro z konsol minionych generacji. Zapoczątkowana została ona przez Scotta, który połączył swoją wiedzę zdobytą podczas studiów programowania gier oraz pasję do retro . W roku 2012 pojawił się pierwszy zestaw osiągnięć do gry "Sonic the Hedgehog" z konsoli Sega Mega Drive (Genesis). Sam autor nie spodziewał się, że jego hobbistyczny projekt rozrośnie się do takich rozmiarów, mając aktualnie ponad milion zarejestrowanych użytkowników i wsparcie osiągnięć dla ponad 9 tysięcy gier.

Stronę można znaleźć pod tym adresem: retroachievements.org

Tak wygląda strona główna RetroAchievements

Osiągnięcia i ich tworzenie

Techniczny aspekt działania osiągnięć jest następujący: emulator odtwarzając rom z grą, ładuje jej zawartość do dostępnej pamięci. Następnie w trakcie odtwarzania obserwuje konkretne adresy pamięci, a w razie gdy ich wartości spełnią warunki opisane w osiągnięciu, emulator odznaczy jego zdobycie i wyśle tę informację na serwer RetroAchievements.

Kolejne platformy (retro konsole) uzyskują wsparcie osiągnięć stopniowo, ponieważ zanim można osiągnięcia stworzyć, emulatory muszą być odpowiednio do tego przystosowane, co nie jest prostym zadaniem. Gdy to się już wydarzy, deweloperzy mogą rozpocząć prace nad tworzeniem osiągnięć do wybranych przez siebie gier z tej platformy.

Taki deweloper na samym początku musi zapoznać się z adresami pamięci danej gry (czy, będąc bardziej dokładnym, jej konkretnej wersji). Przykładowo: na samym początku gracz rozpoczyna grę z trzema punktami zdrowia. Developer filtruje wszystkie adresy pamięci aby wybrać te, które posiadają wartość "03". Następnie umyślnie traci jeden z punktów zdrowia i znów filtruje adresy, aby ograniczyć wyniki. Taką metodą prób i błędów może dojść do tego, który z adresów pamięci jest odpowiedzialny za tę wartość (i dla pewności zmieniając ją sprawdzać, czy rzeczywiście ona na to wpływa).

Gdy adresy najważniejszych elementów gry (wynik punktowy, numer poziomu, liczba wrogów na ekranie itp.) zostaną znalezione i opisane, można zabrać się za tworzenie warunków dla osiągnięć. W dużym uproszczeniu polega to na tym, że wybieramy adresy i to, jakie mają mieć wartości, aby osiągnięcie zostało zaliczone. Gdy wszystko jest gotowe i przetestowane, a osiągnięcia otrzymają swoje obrazki, można opublikować pełen zestaw i pozwolić innym graczom na zdobywanie osiągnięć!

Tworzenie osiągnięć może wyglądać strasznie skomplikowanie i męcząco, ale po tym, jak zapoznamy się z narzędziami, to odkrywanie wnętrza gry staje się świetną zabawą.

Wsparcie emulatorów

Najbardziej powszechnym i wszechstronnym emulatorem wspierającym RetroAchievements jest RetroArch (który zresztą można uruchomić na wielu różnych sprzętach). Korzysta on z tzw. "rdzeni", które obejmują wiele platform. Należy jednak wziąć pod uwagę, że nie każdy z nich będzie obsługiwał RetroAchievements, dlatego warto zajrzeć na tę stronę i sprawdzić, które z nich to wsparcie mają:
https://docs.libretro.com/guides/retroachievements/#cores-compatibility

W przypadku niektórych nowszych konsol, takich jak PSP, PS2, czy DS, lepsze może być skorzystanie z wyspecjalizowanych emulatorów – głównie ze względu na wydajność.

Z kolei tworzenie osiągnięć na większość z platform odbywa się przy pomocy RALibRetro, który posiada cały zestaw narzędzi deweloperskich.

Leaderboards – tabele wyników

Wbrew swojej nazwie RetroAchievements to nie tylko osiągnięcia. Owszem, stanowią one największą część tej inicjatywy, ale ta rozrasta się na inne strony.

Jedną z innych ciekawych cech RA są tabele wyników, dzięki którym nasze zmagania o najwyższy wynik w grze, np. arcade, nie zostaną zapomniane po resecie gry, a zapisane na serwerze RA. Dzięki temu można porównać swój wynik z graczami z całego świata. A może sprawdzimy, czy uda Wam się przejść poziom w jak najkrótszym czasie? Takie tabele wyników również możemy tam znaleźć.

Forum i społeczność

Nawet jeśli nie jesteście przekonani do samego zdobywania osiągnięć i uzyskiwania miejsc w rankingach, to RetroAchievements wciąż jest miejscem skupiającym rzeszę entuzjastów retro z różnych zakątków świata. Na samej stronie możemy znaleźć spore forum dyskusyjne, a jeśli zależy nam na szybszej wymianie zdań, to jest i również bardzo aktywny serwer na Discordzie.

Społeczność, bo to na niej opiera się cała inicjatywa, dba również o dodatkową zabawę w odkrywaniu nowych (starych?) gier. Jednocześnie organizowane są wydarzenia, które pozwalają na zdobycie dodatkowych odznak za wykonanie zadań w grach (a czasem poza nimi). Jednym z większych wydarzeń jest całoroczne "Achievement of the Week", gdzie każdego tygodnia wybierane jest jedno z osiągnięć, które należy zdobyć w tym czasie. Innym ciekawym wydarzeniem jest "The Unwanted", które skupia się na wybraniu każdego miesiąca znacznie mniej popularnych gier – to dobra okazja na poznanie tytułów, których kiedyś nie mieliście możliwości poznać i zagrać.

I to właśnie poznawanie nowych, ciekawych gier jest tym, czego możemy również oczekiwać od RetroAchievements. Ja sam nie miałem pojęcia o istnieniu niektórych konsol, gdyż te za czasów swojej świetności nawet nie były dostępne w naszym regionie. Tak samo było mnóstwo gier, które wychodziły tylko na konkretny rynek (np. japoński lub amerykański), dlatego dostęp do nich był zdecydowanie ograniczony dla ówczesnego gracza w Polsce.

Poradniki

Od pewnego czasu RetroAchievements coraz bardziej rozszerza swoje horyzonty i wspiera retro społeczność nowymi funkcjami. RA utrzymuje repozytorium na serwisie GitHub, na którym użytkownicy mogą zamieścić swoje poradniki do retro gier. Te zazwyczaj zawierać będą pomoc dotyczącą zdobycia przygotowanych przez dewelopoera osiągnięć, ale mogą być również ogólne dotyczące gry. Następnie poradnik może być podlinkowany bezpośrednio na podstronie gry, aby pozostali gracze mieli do niego łatwy dostęp.

RANews, RAPodcast

Jakby tego było mało, społeczność RA tworzy również comiesięczny fanzin o nazwie "RANews". Nie będę ukrywać, że skupia się on głównie na samej stronie i społeczności, niż na tematach retro, ale czasem można tam trafić na ciekawy artykuł związany z grami.

Z kolei użytkownik TimeCrush prowadzi w serwisie YouTube kanał RetroAchievements Podcast (i jest to osobny kanał od ogólnego kanału RetroAchievements). W każdym z odcinków rozmawia z zaproszonymi gośćmi ze społeczności RA, omawiając różne tematy dotyczące inicjatywy i gier retro.

RetroAchievements posiada również swoje maskotki: RAChan i Cheevo (projekty wykonane przez użytkownika Nydaxn)

Podsumowanie

Jak widzicie, społeczność fanów retro gier jest bardzo aktywna i stara się na różne sposoby dostarczyć rozrywki innym graczom, nadając starym grom "nowe życie" i dobrze się przy tym bawiąc. Gdyby nie działania społeczności, RetroAchievements nie byłoby takie duże jak jest dziś, a ciągle rośnie w siłę i zyskuje na rozgłosie z każdą kolejną obsługiwaną platformą.

Co więcej, ostatnio rozpoczął się proces przystosowywania strony internetowej do wielojęzyczności. Pojawiły się też już pierwsze tłumaczenia, w tym również wersja polska! Przyznam się, że w dużej części odpowiadam za to tłumaczenie. Jak na razie jedynie część strony jest przetłumaczona, ponieważ sporo podstron nie korzysta jeszcze z nowych szablonów wspierających wielojęzyczność.

Korzystając z okazji pochwalę się swoim profilem i zdobytymi osiągnięciami. Wy również się nie krępujcie: miejsce w komentarzach jest dla Was!

https://retroachievements.org/user/Krylan

Bonus: moja gra też ma retroosiągnięcia!

Dwa lata temu razem z bratem wzięliśmy udział w WASM-4 Game Jam #2. Efektem naszych prac była gra "Samurai Revenge" – prosta gra typu endless arcade na WASM-4 (fantasy console z całkiem sporymi ograniczeniami). Udział w konkursie był świetną zabawą, która dodatkowo skończyła się nagrodą, bo zajęliśmy 5. miejsce (wcześniej byliśmy ex aequo razem z innymi grami na 3. miejscu, ale po kolejnym głosowaniu jury spadliśmy).

Po Game Jamie pracowaliśmy nad dopracowaniem gry i po następnych aktualizacjach dodałem do niej osiągnięcia i tabele wyników właśnie poprzez RetroAchievements.

Gra jest dostępna za darmo na itch.io (można zagrać w przeglądarce, ale jeśli chce się korzystać z RetroAchievements, to trzeba pobrać ze strony rom i uruchomić go w emulatorze RetroArch):
https://krylan.itch.io/samurai-revenge

Oprócz tego przygotowałem w tamtym czasie specjalną aranżację utworu z gry z wykorzystaniem instrumentów orkiestry. Zapraszam do przesłuchania:

Źródła


Poprzedni post
Akihabara – elektryczność i kultura otaku

Wygląda na to, że nic tu nie ma
Uszczęśliw kotka i napisz komentarz