Ogólnie gdy zabierałem się za tworzenie tej gry w 2008 roku nie miałem bladego pojęcia o DirectX, OpenGL itd, […]
I po to właśnie istnieją biblioteki takie jak SDL — nie potrzebujesz znać API np. OpenGL, aby móc renderować grafikę za pomocą GPU, bo SDL ma zestaw funkcji, które przyjmują proste parametry (np. teksturę i obszary), a cała magia dzieje się pod spodem. Nie tylko nie trzeba się uczyć API konkretnego backendu, ale też taki kod jest przenośny między platformami i isniejących na nich API (np. WIndows→Direct3D, Linux→OpenGL, macOS→Metal itd.).
[…] chyba największym problemem jest ta rozdzielczość 640x480, cała grafika była projektowana pod nią i samo zwiększenie rozdzielczości nie da zadowalających efektów, musiałbym przerobić całą grafikę […]
Nie musisz niczego przerabiać. Jeśli grafikę masz zaprojektowaną pod 640×480, to renderuj klatkę na tylnym buforze (teksturze) o takim rozmiarze, a następnie wyrenderuj gotową klatkę w oknie, odpowiednio ją rozciągając. Z tego sposobu korzystają deweloperzy, np. na potrzeby gier w stylu retro, które charakteryzowały się konkretną rozdzielczością i pikselozą.
Sam też z niego korzystam — tylny bufor ma rozmiar 358×224 piksele, na nim renderowana jest klatka, a następnie ten bufor renderowany jest w oknie, rozciągając klatkę na całe okno (z zachowaniem odpowiednich proporcji). Rozmiar okna i jego proporcje nie mają żadnego znaczenia.
Ogólnie to bardzo ciekawy projekt, rzadko można spotkać sensowniejszą grę pisaną w Pascalu, a już szczególnie taką, która wykorzystuje hardware'owe renderowanie i konkretny mikser dźwięków. Z chęcią kuknąłbym do źródeł tej gry, ale ich nie znalazłem — zdaje się, że to projekt zamkniętoźródłowy. ;)
To co pisałem na temat bibliotek to tylko pytanie zadane z ciekawości. Przeportowanie kodu całej gry, aby skorzystać ze współczesnych technologii, wymagałoby trochę czasu, choć 8kLoC to w sumie niewiele. Tak więc w razie czego warto pamiętać, że do Delphi i Free Pascala bez problemu można znaleźć odpowiednie nagłówki i korzystać z najlepszych istniejących bibliotek multimedialnych.
Przy okazji — antywirus windowsowy ubił mi proces gry mniej więcej po minucie grania, raportując zagrożenie w formie trojana. To najpewniej false-positive mechanizmów heurystyki, ale grać mi nie pozwolił. Zdążyłem obadać menu gry oraz przespacerować się kawałek. Fajna ta mechanika chodzenia — zaskoczyła mnie pozytywnie. :]