Il Realismo nella Finzione

System Shock 2

Sottotitoli e lettere accentate? Ora si può!

In questa fredda mattina d'autunno, godendomi le ferie a modo mio, cerco di riepilogare tutto quello che ho fatto in questi tre giorni.

Da dove potrei partire? Qualcuno direbbe dall'inizio... Il mio obiettivo per il fine settimana scorso era di riscrivere le guide all'installazione di System Shock 2, Thief Gold e Thief II: The Metal Age includendo anche la parte relativa alle traduzioni in italiano. Dunque, sabato scorso ho fatto un giretto nella sezione Traduzioni Completate di OldGamesItalia e ho trovato due discussioni estremamente interessanti. Siccome però sto trattando di System Shock 2 mi limiterò a parlare di questo magnifico gioco cyberpunk horror.

Dicevo... Ho trovato una discussione particolarmente importante il cui titolo dice già tutto "System Shock 2 (sottotitoli)". Un nuovo iscritto al forum di OldGamesItalia, tale Mindead, pubblica un post in cui allega i file con i sottotitoli in italiano sfruttando la feature introdotta dalla nuova versione del NewDark (in realtà già la precedente la includeva). Incuriosito li ho provati ed è stata una gioia. Capire finalmente ciò che diceva la voce dell'istruttore all'inizio del gioco non è cosa da tutti i giorni. Però c'era un piccolo, ma proprio piccolo, dettaglio che non mi soddisfava. I filmati. I filmati non erano sottotitolati. Svariate ricerche mi hanno portato su questa vecchia discussione aggiornata di recente da un piccolo gruppo di appassionati che sta tentando di scrivere una nuova traduzione diversa da quella pubblicata su OldGamesItalia. Qui ho trovato la traduzione dei video e una revisione della traduzione di alglare fatte da motoko. A quel punto mi sono detto: "Perché non sottotitolare anche i filmati?". E così ho fatto. Ho scritto un post su Systemshock.org per informare motoko che intendevo utilizzare la sua traduzione, ma non ho avuto risposta né da lui né dai suoi compagni e così ho deciso di andare avanti comunque. La sincronizzazione non è stata semplice e in particolare il filmato finale mi ha portato via molto tempo perché ho cercato di trasporre nei sottotitoli la magnifica distorsione della voce di SHODAN. Non so se il risultato che ho raggiunto sia dei migliori, ma a me piace.

Uno dei più grossi grattacapi con cui mi sono scontrato era la presunta impossibilità di utilizzare lettere accentate. Abilitare i sottotitoli è un'operazione banale, basta aggiungere la riga "enable_subtitles" in fondo al file "shock.cfg", ma la visualizzazione è scadente per via del font utilizzato. Ho deciso di cambiare font e usare il METAFONT.FON, quello utilizzato dai programmatori per il menù principale. Ottima scelta perché nei filmati si legge benissimo e nel gioco mantiene una grandezza dei caratteri che è accettabile. Purtroppo però gli sviluppatori hanno disegnato questo e altri font togliendo e/o sostituendo molti dei caratteri presenti nel code page 850 (conosciuto anche come CP 850, IBM 00850, OEM 850, MS-DOS Latin 1) ereditato dal primo System Shock.

Ma cos'è un code page? E' una tabella di valori che associa un insieme di caratteri, di solito raffiguranti i grafemi dell'alfabeto che si usa per comunicare in lingua naturale, generalmente ad un insieme di numeri. Senza entrare in tecnicismi che non mi competono, diciamo che ogni carattere che viene digitato usando la tastiera ha un corrispondente valore numerico che deriva dal set di caratteri utilizzato. Ad esempio per scrivere la lettera "È" che non è presente sulla tastiera si usa la combinazione di tasti ALT + 212 del tastierino numerico. Ma la visualizzazione del carattere dipende dal font che viene utilizzato che è un insieme di caratteri tipografici. Quindi se i caratteri del font corrispondono esattamente ai caratteri del code page non c'è nessun problema, quanto si digita verrà visualizzato anche a video, ma se il font è strutturato in modo diverso sembrerà di aver sbagliato a scrivere.

In System Shock 2 i font non corrispondono al charset OEM 850 e ciò ha tratto in inganno i ragazzi del forum di Systemshock.org che nella loro revisione della traduzione hanno usato il carattere "É" al posto della "È" e "ó" al posto della "ò" convinti che i caratteri fossero incompatibili con il gioco. Il file METAFONT.FON è ancora peggiore perché in pratica le lettere accentate proprio non ci sono.

  1. Il code page 850
  2. Il font METAFONT.FON

Tra l'altro per poter visualizzare i file *.fon è necessario utilizzare il Thief Font Converter, un programma che permette di creare un file bitmap come quello che vedete nell'immagine. Una volta fatte le modifiche l'immagine può essere riconvertita nel file *.fon, ma ammetto che non ho provato a disegnare nessun carattere. Ci ha pensato Itanghell, un membro del forum di OldGamesItalia, a dare il suo contributo modificando alcuni caratteri già presenti nel file METAFONT.FON in modo da avere le lettere accentate. E così ho riscritto i sottotitoli dei filmati usando il nuovo file.

E per la revisione della traduzione? Andrebbero modificati gli altri font, ma in realtà l'operazione non è necessaria dato che ci ha pensato Chokboyz, un appassionato francese membro del forum di Systemshock.org, a fare il tutto nel 2009. Qui trovate la discussione. I font sono ottimi e i risultati si vedono.

Il meccanismo è quello di scrivere il carattere di cui si necessita partendo dal codice numerico in relazione alla tabella. Sul file di testo si leggerà una scritta strana, ma nel gioco tutto verrà visualizzato come vogliamo noi. I font di Chokboyz comprendono molti caratteri anche per altre lingue latine. Sarebbe bello vedere delle traduzioni in russo o addirittura in giapponese!

Ora il passo successivo è provare a revisionare tutti i testi.

Due giorni di analisi e prove per capire quale potesse essere lo schema migliore per finalizzare questa revisione hanno portato nella mia testa un po' di confusione. Ho guardato tutti i file (non sono molti in verità rispetto ad altri giochi), ho cercato di comprendere come muovermi per avere un percorso logico e di fare luce sulle ambiguità che ci sono. L'aspetto che mi è saltato all'occhio comunque è la mancanza di omogeneità dei termini, sembra quasi che il lavoro sia stato svolto da persone diverse senza che fossero coordinate. Manca un glossario comune che permetta di non avere difformità nella traduzione dei termini ricorrenti presenti all'interno del gioco e questo sarà uno dei punti su cui lavorare. Compito non semplice dato che si tratta di un'ambientazione fantascientifica con oggetti inventati e termini tecnici ed informatici. Probabilmente alcuni lemmi dovranno essere lasciati in inglese, ma non si sa mai, non è escluso che si possa trovare delle soluzioni eleganti. Per ora ho usato il correttore ortografico per sistemare tutte le lettere accentate e gli errori più evidenti. Ora dovrò iniziare il gioco e analizzare pezzo per pezzo tutti i componenti per redigere un glossario definitivo e mantenerne la coerenza nei vari file. Inoltre intendo scrivere i sottotitoli sincronizzati anche per le email e le registrazioni. Se per le seconde può sembrare un doppione visto che nel PDA possiamo trovare tutti i testi scritti, per le prime la ritengo una cosa utile dato che la prima volta che riceviamo l'email non possiamo sempre fermarci per leggerne il testo e quindi averlo a monitor può aiutare il giocatore. Un primo esempio è questo: SUB1 { Type "email" Descr "POLITO 12 LUG 14 re: Danno alla nave" Multisub "EM0215" { {Text "Fai attenzione..." Time 850 Length 650} {Text "Sto ricevendo strani segnali da quel radar al di là del vetro." Time 1950 Length 3650} {Text "É diventato instabile a causa..." Time 6600 Length 1500} {Text "Muoviti!" Time 8100 Length 500} {Text "Mettiti al riparo!" Time 9400 Length 800} } }

Concludo dicendo che un aspetto che potrebbe portare un valore aggiunto potrebbe essere la traduzione dei testi presenti nelle immagini dell'interfaccia utente (cosa che gli Spagnoli hanno fatto), ma non mi sbilancio in merito dato che le mie capacità in campo grafico sono molto molto scarse.

Mattinata trascorsa ad analizzare la possibilità di tradurre i testi presenti nelle immagini. Se ci sono riusciti gli Spagnoli non vedo perché non potrei provarci anch'io... Magari poi non riesco a fare nulla come al solito, ma intanto io ci ho tentato. E devo dire che il risultato non è poi così male a prima vista. Sempre su Systemshock.org Ho trovato la famiglia di font Square721 che è quasi identica a quella usata nel gioco.

  • La famiglia Square721 sembra proprio identica ai font del gioco...

La grafica non è un mio punto forte e non mi sono mai cimentato in questo genere di attività però "smanettando" un po' con GIMP sono riuscito a tirare fuori qualcosa. Non è escluso che ci possa fare un pensierino. Per ora ho provato con le scritta "STRENGTH" ed "ENDURANCE" nel file "STATS.PCX" e con le seguenti impostazioni si crea una scritta quasi identica a quella originale (solo guardando i singoli pixel si notano le leggere differenze). Ma se poi scrivo in italiano la differenza in larghezza non conta più nulla...:

  • Font: Square721 BdEx BT Expanded
  • Dimensione: 14
  • Antialiasing: abilitato
  • Hinting: nessuno
  • Colore: 00ffbf
  • Spaziatura caratteri: 0,0

  1. La vecchia scritta in inglese...
  2. ...si trasforma in italiano!

Ovviamente per ogni scritta sarà necessario verificare il tipo di font, la dimensione e il colore, ma sul resto non credo che servirà fare grandi modifiche. Inoltre, un altro punto a favore del NewDark è la possibilità di utilizzare anche immagini diverse dal formato *.pcx e quindi penso che, se dovessi imbarcarmi anche in questa impresa, utilizzerò il formato *.png che mi piace tanto. Guardando la traduzione degli Spagnoli i file da modificare sono 90.

Oggi ho riprovato a convertire l'immagine "STATS.PCX". In particolare ho trascorso molto, ma veramente molto, tempo a inserire la scritta "STATISTICHE" (il risultato si vede nel post precedente). Non è perfetto, la S e la T iniziali non sono staccate, ma ora ho riprovato e con la dimensione di un punto più piccola e con spaziatura pari a zero il risultato è migliore. Mi pare di aver capito che l'importante è mantenere l'altezza del carattere e la posizione iniziale, poi sulla lunghezza il problema è relativo, tranne per il fatto che la scritta deve rimanere nello spazio a sua disposizione. Al limite posso farle più piccole o cercare un testo alternativo. Per ora ho usato il colore "cccdd1" ma non è escluso che si possa usare una variante leggermente più scura. Credo che una volta trovata si possa utilizzare per tutte le scritte verticali presenti sulle aree metallizzate. Ah, dimenticavo, l'effetto in rilievo l'ho ottenuto con il classico gioco dell'ombra (magari c'è anche Garrett nascosto...) impostando -1px x, -1px y, 1px raggio, 100% opacità, colore nero. Tutto questo va ovviamente legato alla terminologia che verrà utilizzata nel gioco.

Dopo le prove fatte, raccolgo in modo disordinato le mie riflessioni sul da farsi. Ciò che pensavo di fare era una "semplice" revisione della traduzione già esistente ma mi sono reso conto leggendo continuamente i file che non è questo ciò che voglio veramente. Questo gioco è un'icona del cyberpunk e merita qualcosa di più. Ci vuole una traduzione completamente rinnovata che non permetta soltanto di comprendere il testo ma anche di trasmettere le sensazioni che porta con sé. Compito improponibile per uno come me? Può darsi. Sicuramente è un lavoro meticoloso che può essere fatto solo entrando con l'anima all'interno del mondo creato dagli sviluppatori. Devo immergermi con tutto me stesso nel personaggio, nelle possibilità offerte dall'interazione con la Von Braun e la Rickenbacker, capire il carattere e la psicologia dei personaggi coinvolti, ragionare come loro per esprimere al meglio le loro registrazioni, i loro messaggi. L'ambientazione è ricca e inusuale, il linguaggio è particolarmente tecnico, informatico, a volte è difficile interpretare, capire e permettere a chi gioca di provare le stesse emozioni. La terminologia è specializzata per un contesto fantascientifico oscuro, duro, freddo. Devo calarmi in questa realtà e sentirmi parte di essa con tutte le difficoltà che questo comporta. Mi aiuterò con il manuale in italiano e con la Prima's Official Strategy Guide ma non sarà sufficiente.

Stile. Questa parola sarà il mio riferimento per tutta la durata della traduzione. Dovrà essere il mio punto fermo. Lo stile, ciò che permette di identificare subito chi è l'autore, il suo modo di essere e di comunicare. Tutto ciò però dovrà essere integrato mantenendo lo stile del gioco. Visto e considerato che la visuale è in soggettiva ritengo appropriato che il gioco comunichi con il giocatore, quindi tutte le azioni in cui si tenterà di usare un oggetto verranno espresse in seconda persona singolare.

Oggi è il giorno in cui ho deciso qualcosa di importante ai fini della rinnovata traduzione. Tutta la revisione verrà fatta partendo dalla System Shock 2 Community Patch (SCP) giunta alla Beta 2 il cui rilascio è del 31 ottobre 2015. Questo lavoro ha introdotto dei notevoli miglioramenti rivolti alla coerenza del mondo, alla rifinitura degli errori progettuali negli script, nei testi, negli elementi dell'ambiente, ecc. e alle parti visuali (textures e modelli) che presentavano problemi tecnici.

Ovviamente in questo caso ciò che interessa di più a me è la parte che riguarda la correzione dei testi ed è per questo motivo che inizierò nuovamente la traduzione (ho fatto pochissimo sinora quindi non è un gran danno) riferendomi alle nuove stringhe. In più ora ho recuperato anche tutti i sottotitoli in inglese grazie sempre al lavoro svolto dalla community di systemshock.org.

Dopo aver sperimentato per un po' il font di Itanghell, ho deciso, per ora, di tornare ad utilizzare quello di Chokboyz per i testi del gioco. Ho segnalato sul forum di OldGamesItalia i problemi che ho avuto con il font ridisegnato senza antialiasing.

Ora devo solo ricordarmi di modificare tutte le "ò" e le "È" scritte con codifica OEM 850 nei corrispondenti caratteri ASCII 242 e 200 perché vengano visualizzati correttamente. Alla fine del lavoro ovviamente.

I ferri del mestiere

Di seguito elenco i programmi che sto utilizzando per la revisione.

strumento autore utilizzo
Notepad++ Notepad++ team Traduzione file *.str, *.sub e *.srt
GIMP 2.8.10 Spencer Kimball, Peter Mattis e il team di sviluppo di GIMP Traduzione scritte nelle immagini *.pcx
Font modificati Chokboyz (membro del forum di systemshock.org) Font per il testo
Font modificati Itanghell (membro del forum di OldGamesItalia) Font per i sottotitoli

Work in progress

Nella tabella che segue evidenzio lo stato di avanzamento dei lavori.

fase di lavoro progresso file
Scrittura sottotitoli filmati e sincronizzazione dialoghiMovies.sub, cs1.srt, cs2.srt, cs3.srt
Traduzione sottotitoli dialoghi in-game
Revisione traduzioneFile *.str contenuti in strings.crf e intrface.crf
Schermata caricamento file configurazione tastiBNDLOAD.STR
Schermata salvataggio file configurazione tastiBNDSAVE.STR
Nomi dei controlliCONTROLS.STR
Schermata rapporto missioni generazione personaggioDEBRIEF.STR
Schermata selezione partita da caricareGAMELOD.STR
Schermata selezione partita da salvareGAMESAV.STR
Schermata partita in caricamentoloading.str
Menù principaleMAIN.STR
Menù principaleNETMAIN.STR
Schermata partita multigiocatore in reteNETPLAY.STR
Schermata nuova partitaNEWGAME.STR
Schermata opzioni di giocoOPTIONS.STR
Menù secondarioSIM.STR
Descrizione delle missioni per la creazione del personaggioCHARGEN.STR (33 blocchi di testo)
Operazioni da hacker (Come tradurre "hack"? Violare o tenere la traduzione "manomettere"?)HACKTEXT.STR
Interfaccia delle abilità da hacker, di riparazione e di modificaHRM.STR
Popup dell'HUD (Head Up Display) che compaiono quando si usa qualcosaHUDUSE.STR (61 righe)
Terminali informativiINFOCOMP.STR
Cursore nell'inventarioinvcursor.str
Gergo per i riscontri dell'interfaccia delle abilità da hacker, di riparazione e di modificaJARGON.STR
Email e registrazioni livello 1LEVEL01.STR (32 tra email e log)
Email e registrazioni livello 2LEVEL02.STR (40 tra email e log)
Email e registrazioni livello 3LEVEL03.STR
Email e registrazioni livello 4LEVEL04.STR
Email e registrazioni livello 5LEVEL05.STR
Email e registrazioni livello 6LEVEL06.STR
Email e registrazioni livello 7LEVEL07.STR
Email e registrazioni livello 8LEVEL08.STR
Email e registrazioni livello 9LEVEL09.STR
Sistemi di chiusuraLOCKMSG.STR (10 righe)
Aree delle mappeMAPTEXT.STR (99 aree)
Stringhe gioco PigMinigame.str
Testi variMISC.STR (179 righe)
Prima modifica dell'armaMODIFY1.STR
Seconda modifica dell'armaMODIFY2.STR
Messaggi multigiocatoreNETWORK.STR
ObiettiviNOTES.STR (71 righe)
Descrizione degli oggettiOBJLOOKS.STR (113 oggetti)
Nomi lunghi degli oggettiOBJNAME.STR (493 righe)
Nomi brevi degli oggettiOBJSHORT.STR (259 righe)
Descrizioni delle discipline psioniche per l'Unità di Avanzamento PsionicaPSIHELP.STR
Rapporti delle ricerche scientificheRESEARCH.STR
Oggetti non identificatiRSRCHTXT.STR
Nomi dei salvataggiSAVENAME.STR (25 righe)
Descrizioni delle modalità primarie delle armiSETT1.STR
Descrizioni delle modalità secondarie delle armiSETT2.STR
Attacco primario delle armiSHEAD1.STR
Attacco secondario delle armiSHEAD2.STR
Descrizioni delle abilitàSKILHELP.STR (13 blocchi)
Descrizioni delle statistiche di base per l'Unità di Avanzamento StatisticheSTATHELP.STR (7 blocchi)
Descrizioni degli Avanzamenti del SO per l'Unità di Avanzamento dell'OSTRAITS.STR
Stringhe di riscontro dagli oggetti utilizzabili del mondo e riassunti delle missioni di addestramentoUSEMSG.STR (79 righe)
Condizioni delle armiWEAPON.STR
Scrittura sottotitoli registrazioni (139) e email (96)log.sub e email.sub
Traduzione del testo nelle immaginiImmagini *.pcx (87/90 file)