S.T.A.L.K.E.R. merita di essere giocato semplicemente perchè tutti, almeno una volta nella vita, ci siamo sentiti come uno stalker in mezzo alla Zona...
La sorprendente longevità di S.T.A.L.K.E.R. è dovuta quasi esclusivamente alla possibilità, da parte di chiunque ne abbia voglia, di modificare a qualsiasi livello ciascun capitolo della trilogia. Si spazia dal ritocco quasi impercettibile di alcuni dettagli (es.: modifica del peso trasportabile o del cono di luce emesso dalla torcia) allo stravolgimento radicale dell'intero software (es.: Misery o Lost Alpha). Chiaramente, la portata del modding riflette le capacità del modder: io che non conosco nulla di scripting, LUA, linguaggi di programmazione e, per giunta, sto pure invecchiando male non sarò mai in grado di produrre "ex novo" un megamod come Autumn Aurora nè una modifica sostanziale come può essere stata l'introduzione delle "news dinamiche" o lo sviluppo dell'IA in lavori quali il Massive Simulation Overhaul.
Il bello del modding, però, è che, come ho accennato prima, può essere intavolato a qualsiasi livello, senza necessariamente avere particolari conoscenze tecniche e questo è molto facile da attuare in S.T.A.L.K.E.R. una volta che si comprende la "struttura" del gioco e che ci si è procurato il software necessario.
Gli strumenti
S.T.A.L.K.E.R. database extractor - E' il software che ci serve per estrarre i singoli files che compongono il gioco, in modo da poter poi intervenire modificando quelli che ci interessano. Il pacchetto comprende l'eseguibile e una libreria .dll ad esso relativa. E' sufficiente scompattare i due files in una cartella a nostra scelta e lanciare l'eseguibile. In alto a destra si sceglie il capitolo della trilogia che intendiamo estrarre (in figura compare una versione obsoleta del software): Call of Pripyat, Clear Sky o Shadow of Chernobyl (English SoC, in questo caso).
Nella riga superiore si inserisce il percorso di installazione (è "auto-completante", quindi si inizia con la lettera del disco di installazione e si scelgono via via le sottocartelle relative) del capitolo scelto; nella riga inferiore la cartella (deve già esistere; se così non fosse occorre crearla prima di procedere nell'estrazione) nella quale vogliamo che i vari files estratti compaiano.
A questo punto si preme il pulsante Update e si selezionano tutti i files che compaiono nella finestra dell'estrattore. Una volta selezionati, si preme il pulsante Extract selected e si attende che l'estrattore faccia il proprio lavoro.
​
Winmerge - Serve per confrontare il contenuto di due files testuali. E' molto utile quando si esegue il "merge" (la "fusione") di due mod che contengono lo stesso file in modo da creare un nuovo, unico file che contenga a sua volta le istruzioni di entrambi i mod stessi.
In generale, se due mod intervengono su aspetti differenti del gioco è possibile installare entrambi contemporaneamente, senza problemi; se invece due mod toccano lo stesso aspetto (e, più precisamente, gli stessi files) del gioco, allora non potremo installarli insieme perchè il secondo sovrascriverà il primo. Ecco, quindi, che basterà scegliere di "copiare ma mantenere entrambi i files" per poi aprirli entrambi su Winmerge e fonderli insieme. Certo, non sempre la fusione è semplicissima ma Winmerge è pur sempre un inizio in tal senso. Fra l'altro comprende una comodissima funzione per copiare direttamente i "pezzi" di codice da un file all'altro.
​
Notepad++ - Tutti i files testuali di S.T.A.L.K.E.R. sono tranquillamente editabili col blocco note di Windows ma un software leggermente più potente e meglio organizzato torna molto più utile. I file in questione si trovano nella cartella \scripts (con estensione .script) e nella cartella \config (con estensione .ltx).
Quando apriamo un file .script, in esso viene usato il linguaggio di programmazione LUA: per poter avere una corretta visualizzazione delle parole chiave del linguaggio, occorre andare in "Configurazione" -> "Configura gli stili". Qui si scende nella colonna più a sinistra fino a trovare la voce "LUA" e ci clickiamo sopra con il pulsante sinistro. Nella stessa schermata, adesso vedremo la casella di testo "Estensioni utente": inseriamo "script" (senza le virgolette!!!) e premiamo "Salva & Chiudi".
​
GIMP - E' la versione "aggratis" di Photoshop e, nonostante le naturali differenze fra i due, per quel che dobbiamo fare noi va benissimo. GIMP ci permetterà di modificare tutti i file di immagine .dds presenti nel gioco e intervenire, così, su textures, HUD, menu, eccetera.
Introduzione
​
Il modding per S.T.A.L.K.E.R. inizia con la modifica del file fsgame.ltx presente nella cartella di installazione di ciascuna capitolo della trilogia. Possiamo aprirlo col blocco note di Windows oppure possiamo cominciare a usare l'arsenale che ci siamo procurati e aprirlo con Notepad++.
Quel che dobbiamo fare è modificare la stringa che abilita S.T.A.L.K.E.R. al riconoscimento dei mod da:
​
$game_data$ = false| true| $fs_root$| gamedata\
​
a
​
$game_data$ = true| true| $fs_root$| gamedata\
​
In tal modo il gioco potrà riconoscere qualsiasi modifica opportunamente inserita nella cartella gamedata, che dovremo creare nella cartella di installazione del gioco stesso. A questo punto è doveroso aprire una parentesi e spendere due parole su come si installano i mod.
​
Come installare i mod
​
La maggior parte dei mod è contenuta all'interno di una cartella \gamedata, cui ho accennato poco sopra, che va posizionata nella stessa cartella in cui c'è il corrispondente capitolo di S.T.A.L.K.E.R. installato sul nostro PC. Di conseguenza, la semplice mossa da compiere per installare un mod, almeno in prima analisi, è copia/incollare la gamedata del mod dove abbiamo installato il gioco: tutto qui!
​
Per esempio: io ho Call of Pripyat installato nella cartella E:\stalker\cop. Supponiamo che voglia giocarmelo con la mod Total Random Spawn, che modifica radicalmente, e in tutti gli aspetti, i png e i mostri che vengono generati, periodicamente, nelle varie mappe del gioco. Dovrò semplicemente scaricare il mod, aprire il file archivio per scompattarne il contenuto e piazzare la cartella gamedata al suo interno direttamente sul mio HD. Mi ritroverò quindi con una cartella E:\stalker\cop\gamedata che contiene il Total Random Spawn. Fine: se ho modificato correttamente il file fsgame.ltx come spiegato nella sezione qui sopra, non dovrò fare altro che lanciare normalmente CoP e il gioco, in automatico, mi caricherà il mod installato.
​
Prima di installare un mod è importante spendere un po' di tempo per capire di cosa si tratta.
​
Ad esempio, è inutile cercare di installare un mod per Clear Sky sperando di farlo girare dentro Shadow of Chernobyl. Inoltre, alcuni mod richiedono di copia/incollare la cartella \bin, oltre alla \gamedata: siccome la \bin contiene file indispensabili al corretto funzionamento del gioco nella sua interezza, in questi casi conviene prima fare un backup della \bin stessa. Giusto per sicurezza. Infine, alcuni mod "tosti" richiedono modalità di installazione particolari: nulla di trascendente ma bisogna sempre assicurarsi di aver compreso come muoversi, prima di fare qualcosa.
​
Ah, ancora una casistica: i mod "standalone". Questi sono contenuti in pacchetti piuttosto pesanti perchè contengono al proprio interno anche i file relativi al capitolo della trilogia dal quale sono derivati o, comunque, relativi al motore X-Ray nella versione adottata dal mod stesso. In questi casi non serve installare il modo dentro la cartella nella quale abbiamo istallato il corrispondente capitolo. Possiamo installarlo dove ci pare.
​
Perfetto, dopo questa lunga premessa possiamo tornare a come creare e installare i mod creati da noi stessi! Ovviamente, e a questo punto sarà quasi ovvio, dovremo creare una \gamedata da zero. Dentro la \gamedata metteremo tutti i file che modificheremo: dovranno essere riordinati secondo la stessa struttura che hanno all'interno della cartella in cui avremo estratto i file del gioco (10 sottocartelle in tutto).
​
Ad esempio, per Clear Sky avremo una situazione di questo tipo:
​
ai (cartella, contiene file relativi al sistema A-Life e all'intelligenza artificiale)
anims (cartella, contiene file relativi alle animazioni)
configs (cartella, contiene file relativi alla configurazione di oggetti, personaggi e situazioni)
levels (cartella, contiene file relativi alle mappe di gioco)
meshes (cartella, contiene file relativi alle animazioni di oggetti e personaggi)
scripts (cartella, contiene file relativi agli script principali del gioco)
shaders (cartella, contiene file relativi agli shaders usati)
sounds (cartella, contiene file audio)
spawns (cartella, contiene file relativi alla comparsa e alla posizione di oggetti e personaggi nel gioco)
textures (cartella, contiene file immagine)
gamemtl.xr
lanims.xr
particles.xr
senvironment.xr
shaders.xr
shaders_xrlc.xr
​
Call of Pripyat e Shadow of Chernobyl comprendono una struttura di cartelle identica con l'unica differenza che, in SoC, la cartella delle configurazioni si chiama \config e, oltre ai file .xr, ne sono presenti anche altri.
​
Se volessimo modificare le impostazioni grafiche del cono di luce emesso dalla torcia, ad esempio, dovremmo creare la nostra cartella gamedata, al suo interno la cartella configs, all'interno di questa la cartella models, all'interno di questa la cartella objects e copiare dentro quest'ultima il file light_night.ltx, che è proprio quello relativo alla torcia:
gamedata\configs\models\objects\light_night.ltx
​
A questo punto ci basta aprire light_night.ltx e modificare come preferiamo i settaggi delle varie stringhe. Salviamo le modifiche ed ecco fatto: abbiamo creato il nostro primo mod per S.T.A.L.K.E.R.!
Qualche dritta pratica prima di iniziare
​
1- Il "punto e virgola" fa ignorare al gioco qualsiasi istruzione scritta dopo di esso. E' molto comodo quando serve prendere appunti di qualsiasi genere all'interno del file che stiamo modificando:
​
;Questa funzione si riferisce alle modalità di fuoco impostabili ma fai riferimento all'altro file per i danni
​
;Cheppalle, non riesco a far funzionare questo script!
​
Oppure se ci serve impostare un segnalibro grafico facilmente riconoscibile a colpo d'occhio in qualche sezione del file:
​
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
​
;--------------------------------------------------------------------
;-------- Armi modificate a cura di Darimar's Zone -------
;--------------------------------------------------------------------
​
E' anche molto utile quando si modificano i valori numerici di un determinato settaggio per evitare di cancellare definitivamente quelli precedenti, in modo da poter conservare un confronto:
​
hit_probability_gd_novice = 1.00 ;0.80
​
scope_status = 2 ;0
​
2- Man mano che operiamo modifiche, conviene testare periodicamente la bontà del nostro prodotto. Se tutto funziona bene, salviamo quella gamedata da qualche parte prima di procedere in ulteriori modifiche, così se qualcosa dovesse andare storto avremo comunque un backup dal quale ricominciare.
​
3- Se intendiamo modificare qualcosa può essere utile cercare online qualche mod simile: magari troviamo esattamente quel che volevamo realizzare noi oppure troviamo qualcosa di molto simile che può servirci per confrontare i risultati o per capire come muoverci nella modifica.
​
4- La cartella in cui si trovano i messaggi di errore è variabile a seconda del sistema operativo e dell'installazione del gioco. In alcuni, fortunati, casi il log si trova nella \app_data presente nella cartella di installazione ma un buon modo per trovare l'esatta posizione è cercare nel file fsgame.ltx, verso il fondo, la stringa $app_data_root$: lì dovrebbe essere riportata l'esatta ubicazione della sottocartella app_data. All'interno di quest'ultima si troveranno le sottocartelle \logs, \screenshots e \savedgames che conterranno rispettivamente i file di errore, gli screen presi durante il gioco e i file di salvataggio:
​
$logs$ = true| false| $app_data_root$| logs\
$screenshots$ = true| false| $app_data_root$| screenshots\
$game_saves$ = true| false| $app_data_root$| savedgames\
Guide: come moddare S.T.A.L.K.E.R.
Guida #01 - L'equipaggiamento iniziale
Guida #02 - Il peso trasportabile
Guida #03 - L'headbobbing
Guida #04 - La velocità di movimento
Guida #05 - Le icone
Guida #06 - Le schermate di caricamento
Guida #07 - I settaggi visuali
​
Altre guide: sdk.stalker-game.com/en
MODDING