The Witcher Enhanced Edition
Il Full Combat Rebalance in italiano!
(dedicato a mamma, Barbara e Patrizia)
Traduzione FCR Easy! Traduzione FCR Hard!Premessa
L'acquisto di un mouse Logitech G400s da usare con il mio portatile Santech T55 mi ha dato modo di provarne l'efficienza con The Witcher. A memoria non ricordo di aver mai affrontato un GDR così tante volte come ho fatto con questo. Credo di averlo giocato almeno quattro o cinque volte, ovviamente al livello più difficile consentito. E' un gioco meraviglioso, ha un'atmosfera affascinante e particolare, un protagonista che è tutto fuor che comune, ma... Già, c'è un ma. Il sistema di combattimento, seppur diverso dai classici GDR isometrici, è un po' controverso. Inizialmente è bello, ma alla lunga diventa noioso anche al livello di difficoltà più elevato. Non ha nulla a che vedere con le regole dei vari giochi basati sull'Infinity Engine (Baldur's Gate per citarne uno) o Fallout. Si tratta di azione in tempo reale basata su degli stili di combattimento creati appositamente per simulare su pc le mosse tipiche dei witcher presenti nei racconti di Andrzej Sapkowski. Peccato però che dopo la meraviglia della prima partita si senta la mancanza dello spessore tattico che si trova ad esempio in Icewind Dale. Alcuni ragazzi polacchi facenti parte del team Ifrit decisero quindi di rendere più realistica questa componente del gioco crando il Full Combat Rebalance, un mod che cambia completamente tutte le regole degli scontri e molto altro, dall'ecosistema dei mostri all'albero delle abilità, dal sistema di punteggio alle caratteristiche delle armi e non solo. Il livello di sfida è incrementato a dismisura soprattutto installando il pacchetto difficile. Il livello "Witcher" è qualcosa di stupefacente, a tratti rasenta il masochismo, ma dà una soddisfazione impareggiabile. Ma... C'è un altro ma, purtroppo. Le meccaniche di gioco funzionano alla perfezione, ma i testi visualizzati a video seppur in italiano non sono corretti. Questo perché il mod è stato sviluppato in polacco e inglese in prima battuta e successivamente tradotto in russo per merito di un appassionato. Infatti, impostando una di queste tre lingue nelle opzioni, tutti i testi vengono riprodotti secondo quanto previsto dal FCR. Quindi perché non pensre di tradurlo anche in italiano?
I preparativi
Gli sviluppatori hanno pensato bene di inserire un'informativa che spiega quali file vanno tradotti per godere appieno del mod. A prima vista non sembra nulla di complicato, ma ho ormai capito che questi lavori non sono mai banali. Innanzitutto riesco a capire come mai il gioco in inglese riproduca i testi corretti mentre in italiano no. Per ogni lingua è stato previsto un file *.tlk che è inserito nella cartella "Data". L'installazione del mod ha creato una sottocartella "z_FCR" che contiene, tra le altre, la cartella "tlk" dove è contenuto il nuovo file *.tlk nella lingua desiderata. Qui andrà inserita la nuova versione italiana del file "dialog_13.tlk". Non si tratta di un semplice file di testo, infatti al suo interno oltre alle scritte in chiaro sono presenti delle righe di programmazione che non si possono modificare manualmente dato che non si sa a cosa corrispondono. Per questa operazione utilizzerò un apposito editor in grado di leggere e salvare questo tipo di file, il TalkEd che ho trovato su questo sito. Il punto è capire quali sono le stringhe che vanno ritradotte. Per scoprirlo farò affidamento sul plugin Compare per Notepad++, confronterò i due file inglesi "dialog_3.tlk" alla ricerca delle stringhe modificate, cercherò con il TalkEd il riferimento di stringa che le contiene e con un'altra istanza del TalkEd apporterò le modifiche al file italiano. Ho effettuato un primo test sulle scritte dell'albero delle abilità e sembra aver funzionato alla perfezione. Non ho ancora valutato la mole di lavoro ma credo che anche questo sia un progetto fattibile per le mie modeste capacità. Probabilmente dovrò effettuare il lavoro per i due pacchetti di difficoltà, ma lo vedrò in seguito. Per ora inizierò con il pacchetto difficile.
L'informativa dei creatori del FCR dice che vanno tradotti anche i file *.dlg che contengono i dialoghi e le annotazioni del diario e i file *.uti che contengono gli oggetti. Essi possono essere letti e modificati con il D'jinni editor. Il problema è che, come per i file *.tlk, devo sapere quali sono le differenze fra il file originale inglese e il nuovo file del mod. Nella cartella del gioco i file *.uti sono presenti nella sottocartella Templates/Items, ma i file *.dlg non ci sono perciò vuol dire che sono nascosti, o meglio archiviati, in qualche altro file. Ormai è diventata una regola comune a tutti i giochi che sto tentando di tradurre o adattare. Una paziente ricerca su internet mi permette di scoprire che i file del gioco sono contenuti nei file *.bif ai quali è associata una chiave. Un'ulteriore ricerca mi consente di trovare l'UnBIF, un piccolo strumento che permette di estrarne il contenuto. Dopo una fase di scoraggiamento iniziale durante la quale il programma leggeva i file *.key e i relativi file *.bif ma non estraeva proprio un bel niente, ho scoperto che doveva essere eseguito in modalità compatibilità per Windows XP con Service Pack 2. A quel punto si è aperto il mondo, ho estratto tutti i file del gioco, 407.384 file in 10.5 GB!!! In realtà quelli che servono a me sono gli stessi che sono contenuti nel mod per poter effettuare il confronto delle stringhe. Il passo seguente è più semplice. Utilizzando il D'jinni, l'editor delle avventure allegato al gioco, posso leggere i file *.dlg e *.uti ed esportarli in file *.xml in modo da poterli confrontare più facilmente con Notepad++.
Il lavoro
Ho esportato tutti i file *.dlg in file *.xml per una miglior ricerca delle differenze. Purtroppo però il plugin Compare di Notepad++ in questo caso mostra i suoi limiti in quanto vengono soltanto evidenziate le righe differenti tra due file ma non il contenuto differente all'interno della singola riga. Per un lavoro migliore ho deciso di abbandonare l'uso di Compare a favore di WinMerge che è molto più potente. Per i file *.uti il procedimento è leggermente diverso. Ogni oggetto possiede delle caratteristiche impostate da uno di questi file e per poter visualizzare le differenze tra l'inglese e l'italiano si deve prima selezionare la lingua desiderata e poi esportare i dati in *.xml. A questo punto con WinMerge è facile trovare le diversità e con D'jinni apportare le dovute modifiche sulla lingua italiana.
Il mod inizia a parlare italiano!!!
Ho tradotto tutti i file *.dlg. Ora mi appresto a tradurre il file "dialog_13.tlk". Una brutta sorpresa però mi attende. Il TalkEd non legge correttamente le lettere accentate, è come se non riuscisse a codificare la lingua italiana pur avendo impostato il giusto set. Devo trovare un altro editor atto allo scopo. Lo trovo su questo sito, si tratta del Simiy's Neverwinter Nights 2 TLK Editor v0.22. Questo piccolo ma potente strumento riesce a leggere perfettamente i file *.tlk di ogni versione e possiede il supporto per i set di caratteri UTF-8 che vengono utilizzati nei file "dialog_x.tlk" di The Witcher, cosa che il TalkEd non ha. Inoltre, contiene delle interessanti funzioni come la comparazione di due file con estrazione delle differenze, l'esportazione e l'importazione di file *.txt e il riepilogo delle informazioni del file *.tlk esaminato. Ora sì che posso proseguire con il lavoro! Le righe aggiornate sono 302, quelle nuove sono 7 e quelle cancellate sono 8. Tra la versione Hard e la versione Easy ci sono 8 righe differenti.
Ho tradotto i due file "dialog_13.tlk". Ora potremo capire ciò che succederà nel gioco.
Bene. Ora posso iniziare a dedicarmi agli oggetti. Sono tanti ma in teoria non dovrebbe essere troppo difficile sistermarli. In fondo si tratta solamente di cambiarne la descrizione. Non l'avessi mai detto! L'esportazione in *.xml funziona senza problemi, il confronto delle stringhe pure, peccato che non riesca ad inserire i testi con il D'jinni. O meglio, non riesco a mandare a capo il testo. Schiacciando Invio si conferma la stringa. Eppure le scritte non sono tutte sulla stessa riga. Non c'è altro da fare che leggere il file *.xml esportato. E qui scopro tutto quello di cui ho bisogno. I ritorni a capo ci sono, eccome se ci sono, solo che sono codificati in entità html esadecimali e quindi appaiono come "
" che corrispondono ai famosi "\r\n" che conosco ormai sin troppo bene. A questo punto l'unica cosa da provare è scrivere, per l'appunto, "\r\n" all'interno della descrizione dell'oggetto ove è necessario e verificare se nel gioco le scritte appaiono a capo. Stupore e gioia quando scopro che funziona, unica accortezza è scrivere solo "\n". Il lavoro può proseguire e terminare ora.
Ore 21:00, anche le descrizioni degli oggetti sono state sistemate. La traduzione è terminata! Ora devo solamente creare gli eseguibili di installazione e il lavoro sarà concluso.
Prima di creare gli eseguibili e di rilasciare la patch ho ritenuto corretto informare i creatori del mod di quanto ho fatto. Ho inviato loro un'email per sapere se hanno intenzione di inserire la traduzione direttamente nel mod o se posso pubblicarla autonomamente.
Nell'attesa di avere una risposta dal team Ifrit ho deciso comunque di pubblicare le traduzioni dei due pacchetti.
I ferri del mestiere
Di seguito elenco i programmi che sto utilizzando per la traduzione.
strumento | autore | utilizzo |
---|---|---|
WinMerge 2.14.0.0 | Dean P. Grimm e altri | Confronto file *.tlk, *.xml relativi ai file *.dlg e *.uti |
UnBIF 1.0 | Csimbi | Estrazione file *.dlg dal file dialogues00.bif |
D'jinni 1.4.5.1304 | CD Projekt Red Studio | Creazione file *.xml dai file *.dlg e *.uti e traduzione |
Neverwinter Nights 2 TLK Editor 0.22 | Simiy | Traduzione file *.tlk |
Work in progress
Nella tabella che segue evidenzio lo stato di avanzamento del lavoro di traduzione dei file.
file modificato | traduzione |
---|---|
alchemy.dlg | |
bestiary.dlg | |
hostage_m.dlg | |
quebrith.dlg | |
recipe.dlg | |
recipe_oil.dlg | |
tutorial.dlg | |
vitriol.dlg | |
dialog_13.tlk (Hard) | |
dialog_13.tlk (Easy) | |
File *.uti (225 oggetti) |