• Autore:   Elia Argentieri
  • Ultima modifica:   21 nov 2022 15:21
  • Redazione:   15 giu 2016 19:28
  • Sorgente di questa pagina
  • Tempo di lettura:   3 minuti

Se non avete mai giocato a Serious Sam The First Encounter o The Second Encounter, questo è il momento giusto per farlo. Si tratta di due sparatutto sia in prima che terza persona di alto calibro, molto ben fatti che, a ben 15 anni di disatanza dal rilascio, possono ancora divertire molto.

Purtroppo fino ad oggi era necessario installarli e giocarli sul sistema operativo proprietario di Microsoft, ma con il rilascio del Serious Engine 1.10 come software libero, non c’è voluto molto per adattare il codice a GNU/Linux aggiungendo il supporto per la compilazione tramite cmake invece di Visual Studio e renderlo più compatibile con le architetture a 64 bit, dato che quando fu scritto questo codice Windows girava solo sull’architettura x86.

Visto che non ci sono molte guide a riguardo ho deciso di scrivere questa piccola guida. Assumerò che stiate usando Debian GNU/Linux, non dovrebbe essere molto diverso per le altre distribuzioni. Spero vi torni utile.

L’occorrente per proseguire consiste di pochi elementi: i file di uno dei due giochi o entrambi (ottenibili in modi più o meno legali), il codice sorgente del Serious Engine modificato da rcgordon e un po’ di dipendenze.

Iniziamo con le dipendenze, cioè tutti quei programmi necessari a compilare correttamente il Serious Engine. Non so dirvi con precisione quali siano, quindi vi scrivo una lista approssimativa:

  • build-essential, senza compilatore si va poco lontano…
  • cmake
  • flex
  • bison
  • libsdl2-dev
  • zlib1g-dev

Per installarle basta eseguire sudo apt install build-essential cmake flex bison libsdl2-dev zlib1g-dev.

Poi scarichiamo il Serious Engine modificato con git clone https://github.com/rcgordon/Serious-Engine.git. Verrà creata una cartella chiamata Serious-Engine contenente il codice sorgente che dobbiamo compilare. Al momento in cui scrivo è necessario includere una patch per far funzionare il tutto che si può ottenere grazie a git con questi due comandi git fetch origin pull/56/head:nullfix && git checkout nullfix. Entriamo nella cartella con cd Serious-Engine/Sources e ne creiamo una per comodità mkdir build, entriamo nella cartella appena creata cd build ed eseguiamo cmake .. se vogliamo compilare il Serious Engine per il The Second Encounter, altrimenti cmake -DTFE=TRUE .. per il The First Encounter. Avviamo la compilazione con make -j8, dove il numeretto è il numero di thread che il processore può eseguire in parallelo, nel mio caso un processore con 8 core. Il tempo necessario per compilare varia in base alla CPU.

A questo punto bisogna copiare i file giusti nel posto giusto. Dentro alla cartella build troveremo i file ssam o ssam-tfe, ecc e la cartella Debug. Copiamo questi file nella cartella Bin dei file del gioco (quella che contiene i vari .exe). Se state lavorando con il TFE, copiate anche il file SE1_10.gro che trovate nella cartella Serious-Engine nella cartella del gioco (quella che contiene Bin).

Alla fine il tutto dovrebbe avere questo aspetto:

.../Serious Sam The First Encounter/
     |--- SE1_10.gro
     |--- altri_file.gro
     |--- ...
     |--- Bin/
           |--- ssam-tfe
           |--- ...
           |--- Debug/
                   |--- libEntitiesD.so
                   |--- libGameD.so
                   |--- libShadersD.so

oppure

.../Serious Sam The Second Encounter/
     |--- file.gro
     |--- ...
     |--- Bin/
           |--- ssam
           |--- ...
           |--- Debug/
                   |--- libEntitiesMPD.so
                   |--- libGameMPD.so
                   |--- libShadersD.so

Finalmente possiamo eseguire ssam o ssam-tfe da dentro la cartella Bin ed il gioco dovrebbe avviarsi. Attualmente ogni tanto compare un messaggio di errore che di solito possiamo ignorare senza ripercussioni, altre volte… segmentation fault. Migliorerà sicuramente, ma intanto è più che giocabile!