Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
A fim de incentivar a arte do Romhacking voltado aos jogos
Visual Novel (vulgo jogos Hentai ou H-Games) decidi fazer
esse tutorial de fácil compreensão, porém completo.
Espero suprir as expectativas de todos que estão
interessados em aprender como localizar os textos,
métodos para tradução, edição de imagens, ponteiros,
como se virar e conseguir que um VN fique em português.
Atenção: Você não precisa, necessariamente, saber inglês/japonês
para traduzir um VN, mas é bom conhecer esses idiomas, ter um
dicionário sempre à mão ou como eu costumo fazer, usar o
Google Tradutor. Outra coisa, tudo que tá em amarelo
é um link para o magnífico mundo da sabedoria da busca
googleana.
1º O jogo cobaia, nesse tutorial, vamos usando o jogo M1, da
consagrada saga Viper da Sogna. (Apesar de que pode ser
qualquer outro, mas é bem melhor para o entendimento).
2º Um programa para alterar um programa (?), eu usarei o
Resource Hacker, excelente quando o assunto é modificar
menus e mensagens.
3º Um editor hexadecimal, recomendo o Translhextion usado para alterar o
texto/programação do jogo e etc.
Só isso? Vocês devem estar se perguntando.
Claro que para uma tradução completa, além da alteração dos textos, podemos ir além,
traduzir a tela de título, alguns gráficos e outras coisas. Mas, se você não souber o básico,
ai fodeu! Também é muito importante sempre pesquisar no Google e nos fóruns de
tradução nacionais e estrangeiros (russos são muito bons nessa parada), pois às vezes,
achamos aquela ferramenta especial que tornará a vida do Romhacking muito mais feliz!
Não se esqueçam de baixar os dois utilitários abaixo específicos para o jogo:
Sogna ANM Editor – visualiza, extrai e reinsere imagens do jogo.
Archive extractor – muito útil, extrai pacotes reinsere arquivos... você entenderá!
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
No meu site - www.tiozinho.cjb.net – deixei o pacotão das ferramentas
que usaremos no tutorial, como sou bonzinho, não? =^)
Eu acho que se você está aqui, já baixou (comprou?) o jogo e
as ferramentas necessárias e tá doido pra ver a bagaça
funfando e o “IF I CATCH YOU” virando “AI SE EU TE PEGO”.
Na imagem abaixo, vemos os arquivos do jogo, são vários
arquivos MID (musiquinha), dois arquivos EXE (executáveis do
jogo) e um arquivo monstro SGS.dat que tem as vozes, as
imagens, os textos e outras coisas que eu não sei pra que serve. :P
Como você sabe Tio?
> Descobri fuçando, mas geralmente os VN são divididos em
arquivos que contém outros, imagine um arquivo ZIP com os
textos, outro com as animações, um com as vozes, e etc.
Mas não é sempre assim, às vezes os arquivos podem estar todos espalhados, como
exemplo, no jogo Three Sisters Story tem milhares de arquivos, os *.GRA que são imagens,
os *.OVL que são os textos, com o tempo fica fácil achar o que procuramos.
Uma dica que funciona bastante é procurar os textos nos arquivos menores.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Prosseguindo, execute o jogo (jogar.bat) e observe o menu da tela principal:
Vamos começar traduzindo essa parada, saia do jogo e abra o programa Resource Hacker.
Abra o arquivo SGS.EXE através do programa e veja o que pode ser alterado:
Como no Explorer do Windows, você pode navegar no arquivo SGS.EXE, o que é
importante no momento são as pastas Menu (já sabemos o que é) e Dialog que são as
telas que geralmente encontramos no jogo para confirmação de alguma ação, como sair
do jogo. O interessante do Resource é que ele exibe o menu como aparece no nosso jogo,
temos lá: Load – Save – Display Mode – Music – Volume – Exit – Repeat
Observando a parte dos
comandos no meio da tela
temos os textos do menu
“Display Mode” e subitens:
POPUP “Display Mode(&D)”
Altere para:
POPUP “Modo de Exibição(&D)”
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Atenção: Antes de salvar qualquer alteração, recomendo extremamente,
fazer sempre uma cópia do arquivo original e deixar salvo em outro local,
crie uma pasta backup, por exemplo.
Voltando...
Salve a alteração, clicando no botão “Compile Script” e depois em “File – Save” ou Ctrl+S.
Se quiser, rode o jogo e veja se está tudo OK. Traduza o restante, observe que as palavras
a serem traduzidas estão sempre entre “ ” (aspas). Olha como o meu ficou bonito:
Note que esse jogo por se tratar de uma versão internacional tem os idiomas Japonês,
Inglês e Italiano, também me “apossei” do Inglês e o deixei como Português, pois nossa
tradução será feito do inglês. (Fique a vontade em utilizar o italiano ou japonês)
A próxima etapa é procurar pelo script (texto do jogo), o que pode ser simples ou
não, vamos à explicação:
1º Identificamos o texto que iremos procurar, escolhi o texto inicial do episódio “Green
Boy” (Hulk é você?) que está assim:
[OLHAR LÁ FORA] [PENSAR] *Podia ser também “OLHAR PARA FORA”.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
O texto poderia estar no próprio EXE, novamente no caso de 3sisters, a introdução está lá.
Ou em outro arquivo, mas como saber? Aqui usamos o 2º programa – Translhextion que é
um editor hexadecimal.
O sistema hexadecimal é um sistema de numeração posicional
que representa os números em base 16, portanto empregando
16 símbolos. Está vinculado à informática, pois os
computadores costumam utilizar o byte ou octeto como
unidade básica da memória; e, devido a um byte representar
valores possíveis, e isto poder representar-se como, o que,
segundo o teorema geral da numeração posicional, equivale ao
número em base 16 , dois dígitos hexadecimais correspondem
exatamente —permitem representar a mesma linha de inteiros—
a um byte. (Wikipédia)
Caso você não tenha entendido porra nenhuma (desculpe o linguajar) veja o exemplo:
T H I N K = 54 48 49 4E 4B
Abaixo segue a tabela ASCII que geralmente utilizaremos:
Ficou mais claro? Cada letra, número, sinal e símbolo são representados por um valor
hexadecimal, no exemplo da palavra THINK, a letra H equivale ao hexa 48.
Lembra que eu falei que a busca do texto pode ser simples ou não, olhe na próxima
imagem como é a tabela ASCII do jogo X-Change, que eu nomeei de tabela
ASCII INVERTIDA DOS INFERNOS:
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Do lado esquerdo (devido a minha dificuldade com direções) temos a tabela comum
usada na maioria dos jogos de PC e do lado direito a tabela do X-Change que quase me
fez ficar louco, junto com o pessoal da MiB (Johnny Bravo e Sux_Daemon).
Abra o arquivo SGS.DAT no editor hexadecimal e observe que a tela é
dividida em três partes:
Na coluna do quadrado vermelho temos os offsets (endereço da linha), no quadradão azul
são os valores hexadecimais e na última coluna temos os textos ou o conteúdo do arquivo.
Para ficar mais fácil veja da seguinte forma, no offset 00000050 ou simplesmente 50 eu
tenho escrito TEXT.US que em hexa vale 54 45 58 54 2E 55 53.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
A navegação no editor é simples, use as setas, pageup e pagedown, por exemplo, se eu
quiser alterar a letra T de TEXT.IT é só clicar sobre a letra e escrever, mas se você quer
alterar diretamente no valor hexadecimal (54), basta apertar a tecla TAB para alternar
entre os modos de edição.
Muito importante! Evite a movimentação das localizações
dos valores hexadecimais diferentes de textos, os . .
(localizados entre os textos, no início, no final), pois se
você não souber o que está fazendo, pode corromper o
arquivo e perder seu trabalho (backup, backup e backup).
Agora, se você navegou um pouco pelo arquivo SGS.DAT, identificou vários nomes de
arquivo, tipo: TEXT.JP, TEXT.IT e TEXT.US, que são nossos arquivos de script no meio de
toda essa confusão, dê um CTRL+F e digite a palavra que queremos buscar (THINK).
Localizamos o script do jogo em inglês, repare que entre o texto LOOK OUTSIDE e THINK
temos os hexas 0A00 que chamamos de endstring, ou seja, ele é o delimitador do bloco de
texto. O endstring não será sempre o mesmo, poderia ser somente o hexa 00.
Agora temos:
Em inglês - LOOK OUTSIDE = 12 caracteres (inclua sempre o espaço).
Em português - OLHE LÁ FORA = 12 caracteres (coincidência?) ou
OLHAR PARA FORA = 15 caracteres (passou ).
Tudo vai depender da sua tradução, a arte do Romhacking depende de paciência,
conhecimento e de adaptações, o importante é evitar alterar o sentido do texto original.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Depois de alterar, salvar (ctrl+s), abrir o jogo e ir ao episódio do Green Boy (ufa!),
veremos isso daqui:
Tudo muito lindo, que alegria de viver, porém os gringos são meio preguiçosos com o seu
inglês, tem mania de abreviar tudo, usar muitas contrações, escrever palavras de forma
extremamente pequenas e que em português dão uma dor de cabeça para o tradutor.
Ex.:
She’s hot. (10) – inglês
Ela é quente. (13) – tradução literal
Ela é gostosa. (14) – adaptação
Olhe abaixo o que acontece, quando eu troco a tradução que fizemos anteriormente para
OLHAR PARA FORA:
Deformamos o texto, engolimos o endstring 0A00 e a palavra THINK virou ATHINK.
Antes de prosseguirmos com a explicação de como corrigir esse pequeno
contratempo, vamos extrair o conteúdo do arquivo SGS.dat e trabalhar
diretamente nos arquivos de texto. Vá à pasta do programa Archive extractor (o do
meu site já tá configurado) e execute o arquivo “extract - Viper.bat” e informe onde
está o SGS.dat, após concluirmos a extração será criado a pasta SGS.dat~.
ANM – são as imagens e animações.
PCM – Vozes.
PCMSE – Sons e efeitos sonoros.
*.* - Outros arquivos.
O que interessa nesse momento é o
arquivo TEXT.US que contém os scripts
do jogo em inglês. Abra o arquivo no
editor hexa, ficará bem melhor para
explicar o que vem por aí.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Basicamente, o ponteiro “indica” onde um texto, um valor
e/ou alguma coisa do jogo começa. Dê uma olhada nos
tutorias existentes lá no site do PO.B.R.E., eu recomendo o
que o Gambas fez a “muitoooos e muitos anus” atrás. :*
Para os jogos de computadores é basicamente assim (pode mudar), verifique o endereço
da primeira letra da frase (lembra-se do offset?), pegue os últimos 4 dígitos e inverta as
posições, veja no TEXT.US original, sem alterações:
A letra L de LOOK OUTSIDE está no endereço 0x10E4, eu só considero 10E4 e inverto E410.
A letra T de THINK está no endereço 0x10F2, eu só considero 10F2 e inverto F210.
Então teremos os ponteiros:
E410 para LOOK OUTSIDE
F210 para THINK
E assim por diante, agora vamos procurar onde está a tabela de ponteiros, na maioria dos
casos ela fica muito próxima ao texto (nos VN que trabalhei sempre estavam antes deles).
Observe: E4 10 00 00 F2 10 00 00 F9 10... e por aí vai, em outro jogo, de costume ela
costuma ficar assim: E4 10 F2 10 F9 10... sem espaço entre as referencias.
Fica claro saber o que devemos fazer quando movemos o texto do lugar, temos que
alterar os valores aqui na tabela também.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Traduzindo os três primeiros textos teremos:
Ponteiro Inglês Novo Ponteiro Português
E410 LOOK OUTSIDE E410 OLHAR LÁ FORA
F210 THINK F310 PENSAR
F910 [NATANE] It’s a beautiful day. FB10 [NATANE] Está um lindo dia.
Observe com atenção que eu mantive o endstring 0A00 entre os textos, só o movemos de
lugar.
Salve a alteração e recompacte os arquivos da pasta SGS.DAT~, dessa vez, usando o
insert - Viper.bat. (demora um pouco, aguarde!) e depois abra o jogo.
O meu jogo ficou todo bugado e só
aparece certinho o OLHAR LÁ FORA,
sabem por quê?
Na tabela acima o único ponteiro que não foi alterado é o dele. Para o jogo rodar
corretamente então temos que alterar F210 para F310 e F910 para FB10 que são os novos
endereços após traduzirmos.
Alteramos assim (use o TAB para editar os valores hexadecimais):
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Salve a alteração, compacte novamente os arquivos da pasta SGS.DAT~ e surpresa \o/.
Quando dominamos o ponteiro de
um jogo fica fácil a tradução, pois
teremos a possibilidade de adquirir
mais espaço, vocês poderiam, por
exemplo, colocar o texto traduzido
lá no final do script e direcionar o
ponteiro para lá, sem ter que
alterar o texto em inglês.
Outra coisa a ser observada é que
alguns raros jogos não têm
ponteiros, só os endstrings, então
todas as possibilidades tem que
serem testadas. Vamos ao próximo passo, edição de imagens em Visual Novel! =^o^=
Sabemos que sem as imagens os VN não seriam nada de
mais, porém há um sério problema na edição de
imagens de visual novel que é conseguir as
ferramentas necessárias para o serviço, temos
algumas, como o AnimED, Grapholic e Susie que na
maior parte das vezes só extrai os gráficos. Mas de vez
em quando achamos bons programadores que criam
ferramentas para a recompilação como no caso do Archive
extractor e o editor de arquivos ANM - Sogna ANM Editor que usaremos agora.
Abra o editor e em File > Open abra o arquivo SELECT.ANM que está na pasta
SGS.DAT~/ANM que extraímos anteriormente e tem todas as animações e imagens
do jogo.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Vamos traduzir a tela de escolha dos episódios, para isso escolha o frame SELECT (006), vá
ao menu FRAME e SAVE AS...
A imagem é salva como SELECT (006).png, usaremos o Photoshop ou outro programa
para editar a imagem, pode ser até o Paint.
Para o exemplo, fiz algo bem simples só acrescentei a tradução dos títulos em português,
se quiser algo profissional você pode tirar o que está em inglês e substituir... mas vai dar
um trabalhinho.
Agora, salve a imagem alterada no mesmo formato do arquivo original (PNG), vá a
FRAME > ADD adicione a nova imagem, selecione a antiga e exclua em FRAME > REMOVE.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena
Tutorial - Tornando o Mundo um lugar mais bonito e feliz, traduzindo Visual Novel para o Português do Brasil
Salve as alterações em FILE > SAVE, compacte tudo e teste o jogo outra vez.
Lembre-se que cada jogo tem suas
particularidades e formas para ser
traduzido, o meu intuito aqui foi fazer uma
pequena introdução a esse mundo do
Romhacking de Visual Novel que não é tão
divulgado e trabalhado como deveria.
Até que ficou bom, agora fica o desafio para que vocês traduzam outros VNs para o
Português do Brasil.
Espero que vocês tenham gostado desse tutorial geral sobre tradução, as dúvidas
podem ser enviadas para [email protected] ou no meu site
www.tiozinho.cjb.net.
Versão 1.0 – Março/2012 Por Tiozinho da Telesena