Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

TheCompany.pl - hobbystyczny projekt związany ze starymi grami

Kocury 28 Mar 2021 21:07 1584 2
  • #1
    Kocury
    Level 8  
    Cześć,

    chciałbym Wam przedstawić nasz skromny projekt związany z popularyzacją starych gier z komputera Commodore Amiga.

    Mam na myśli:
    TheCompany.pl - hobbystyczny projekt związany ze starymi grami
    Działamy od roku 2008.

    Nasze założenia były proste - maksymalnie uprościć osobom nieznających się na emulacji i konfiguracji emulatorów uruchomienie gry na systemie Windows.

    Końcowy użytkownik dostaje od nas pliki exe, które zawierają podstawowe ustawienia, gdzie wystarczy dwuklik, aby uruchomić grę bez martwienia się o kwestię konfiguracji.

    Jednocześnie respektujemy prawa autorskie i nie publikujemy u nas gier, jeżeli właściciele praw autorskich nie wyrażą na to zgody.

    W sieci można znaleźć podobnie działające projekty z kolekcją gier jak archive.org:
    https://archive.org/details/softwarelibrary_amiga

    My jednak nie idziemy w masówkę i każdy tytuł wypuszczany przez nas przygotowywany jest z największą starannością (własne modyfikacje, reverse engineering, spolszczanie) i dbałością (np. własne ikony).
    Jak to tylko możliwe staramy się, aby "exeki" zawierały ostatnie wydanie gry, zauważone błędy - naprawiane, przygotowujemy również "trainery", czyli ułatwienia takie jak nieograniczone życie.

    Obecnie jednak projekt nie może się rozwijać tak jakbyśmy sobie tego życzyli.
    Na dzień dzisiejszy brakuje nam świeżej krwi w postaci programisty C/C++

    W związku z tym napisaliśmy ogłoszenie:
    https://www.elektroda.pl/rtvforum/topic3791813.html

    Obecnie exeki są przygotowywane dla Windows, może pewnego dnia i Linuxiarze i MacOS będą mogli zapoznać się z naszą twórczością.

    Dziękuję za uwagę :D
  • #2
    And!
    Admin of Design group
    Jak to działa?
    Jest to emulator połączony z grą, który w sposób bezobsługowy uruchamia interfejs gry,
    czy przepisujecie gry na PC i działają natywnie?
  • #3
    Kocury
    Level 8  
    To pierwsze - emulator z okrojonym interfejsem, dzięki temu gra może być zachowana 1:1.

    Tak wygląda różnica między klasycznym emulatorem WinUAE a zmodyfikowanym odłamem tcUAE:
    TheCompany.pl - hobbystyczny projekt związany ze starymi gramiroznice-in...-tcuae.png Download (164.51 kB)

    Postawiliśmy na modyfikację klasycznego emulatora - w czasie jak zaczynaliśmy nie było odłamu FS-UAE - emulatora amigi bazującego na kodzie WinUAE, tyle, że ze zmienionym interfejsem. A nawet jak się pojawił to nas nie kupił, ponieważ twórca zdecydował się całkowicie porzucić klasyczny interfejs okienkowy na rzecz 3D - w tamtym czasie działał bardzo topornie na typowym komputerze z Windows XP.
    Zresztą... my Windows XP darzymy dużym sentymentem i do dzisiaj świadczymy pomoc techniczną i dbamy, aby exeki działały prawidłowo na tym systemie, pomimo, że już definitywnie zakończono dla niego wsparcie.

    tcUAE to jednak jeden z trybików, który składa się na całość naszej pracy.

    Gdybyśmy poprzestali tylko na modyfikacji w postaci okrojenia emulatora, to po latach ktoś by mógł stwierdzić, że w sumie nic wybitnego nie zrobiliśmy.

    Pomimo naszych braków w C/C++ przez lata zdobyliśmy ciekawe doświadczenie w modyfikacjach z wykorzystaniem reverse engineering.

    Dzięki temu nie mając dostępu do oryginalnych źródeł gry jesteśmy w stanie często przygotować poprawki, które czasami uniemożliwiały ukończenie gry.

    Przykład takiej poprawki:
    Osoby, które miały Amigę na pewno pamiętają kultową grę Cannon Fodder.
    Gra posiada błąd w postaci losowego wywalenia się kodu na misjach 22 i dalej.

    Przy analizie dlaczego gra się wyburacza zauważyliśmy, że da się ukończyć grę, gdy liczba rekrutów nie przekraczała 255.
    (Co misja jak nasi żołnierze nie ginęli zwiększała się liczba rekrutów)

    Debuggując kod znaleźliśmy odpowiedź.
    Wadliwą okazała się instrukcja ASM z wadliwą długością słowa.
    Zamiast MOVE.W powinno być MOVE.B lub niedopuszczenie do przekroczenia wartości 00FF.

    Dla osoby w temacie wydaje się być trywialnym błędem, jednak gracz nie ma wiedzy jak dokonać naprawy.
    Inna osoba ma zdolności to naprawić, ale nawet jakby chciała nie wie, że w grze X istnieje taki problem i trzeba by to naprawić.
    No i w jakie miejsce publikować takie poprawki?

    Dzisiaj w takie starocie grają głównie hobbyści i osoby tęskniące za starymi czasami, choć w sumie temat retro-graczy jest obecnie na topie i nawet są osoby gotowe za to zapłacić duże pieniądze (GOG sprzedaje stare gry startujące z dosboxa na licencji gnu - no cóż, biznes jak każdy - my jednak wolimy pro bono działać).

    No i tutaj wkracza TC.
    Przygotowanie poprawki oraz udostępnienie poprawnej wersji gry to nasza rola.
    Tak samo reagowanie na zgłoszenie użytkowników, gdy wykryją nieprawidłowe działanie gier, które udostępniliśmy.

    Bardziej skomplikowane trainery to również zaawansowana modyfikacja kodu gry i dopisanie fragmentów, których pierwotnie twórcy gry nie przewidzieli.

    Tutaj za przykład niech znowu posłuży Cannon Fodder.
    Trainer pozwala już na starcie zaopatrzyć się w zdalnie sterowane rakiety, które normalnie były dostępne tylko jako ukryty easter eggs w połowie gry.

    Jednak otrzymanie przedmiotu jest dosyć proste do zakodowania (użytkownicy Cheat Engine by mi przyznali).

    Jednak powodzenia życzę przygotować w Cheat Engine:
    "Toggle Invulnerability" - gdzie po aktywacji jesteśmy nietykalni i... możemy chodzić po bagnie bez obaw, że utoniemy, a przeciwnicy w tym samym czasie toną.

    Podstawą podczas tworzenia exeków jest również przygotowanie tytułów tak, że nie wymagają zmiany dyskietek podczas rozgrywki - ten kto w latach '90 wachlował dyskietkami w stacji wie o czym mowa :)

    Tych niuansów jest sporo więcej i dopiero po połączeniu ich wszystkich sprawia to, że nasza kolekcja jest wyjątkowa w sieci - trudno jednak przelać mi całą esencję do posta i nie przynudzać.

    No i warto wspomnieć, że przed pandemią koronawirusa co rok w Łodzi organizowany był zlot naszej społeczności.