Tradução de jogos nunca antes traduzidos...

Iniciado por Dekt, Janeiro 25, 2022, 15:21:30 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Dekt

Boa tarde senhores!
Gostaria de inquirir o seguinte fato:

Existem certos RPGs de consoles mais antigos, que embora sejam incríveis, nunca foram traduzidos para o nosso bom, velho e difícil português...

Um deles é o meu favorito Y's the Vanished Omens, para o Master System.

Qual seria a razão desses percalços? E se alguém souber, existem meios de fazer uma tradução nessa rom, do supracitado jogo?

Obrigado, de antemão por eventuais respostas!

Rodrigo

ØX-Carnage

Bom cara esse tipo de pergunta é uma pergunta sem fim, ou seja sempre teve e terá esse tipo de pergunta.
O fato é que sim, existem diversos jogos lindos que merecem tradução e que nunca terão.
Lembre-se que para isso, a pessoa precisa ter tempo, e quem faz isso faz por hobby.
Por exemplo o Y's the Vanished Omens na sua visão é um jogo excelente que merece uma tradução, mas é o mesmo pra mim ou para outra pessoal para que possa pegar um projeto?
Dificilmente você vai ver um jogo sendo traduzido por que é modinha (apesar de que uns caras fazem isso ai...)
Nesses casos a recomendação é aprender com se faz, arregaçar as manhas e por a mão na massa.
Outro detalhe é, sim todos os jogos podem ser traduzidos. Desde que saiba como fazer.

Dekt

Obrigado pelo feedback, ØX-Carnage

Então... alguns jogos eu consegui algum progresso por serem "relativamente mais fáceis" (leia-se o texto se encontra disponível de uma forma "visível" dentro da rom)...

Mas Y's, lamentavelmente, possui alguma sistemática de tabelas (não sei exatamente como descrever, pois não faço uma constância no mundo dos romhacks/traduções, de maneira direta).....O único progresso feito, foi umas mexidas no modo debug (depuração) do meka onde permite de certa forma, uma alteração dos diálogos com o jogo em funcionamento (o que me possibilitou descobrir uma espécie de "grade de alfanuméricos" para substituição)

João13

Citação de: Dekt online Janeiro 25, 2022, 22:05:44 PM
Obrigado pelo feedback, ØX-Carnage

Então... alguns jogos eu consegui algum progresso por serem "relativamente mais fáceis" (leia-se o texto se encontra disponível de uma forma "visível" dentro da rom)...

Mas Y's, lamentavelmente, possui alguma sistemática de tabelas (não sei exatamente como descrever, pois não faço uma constância no mundo dos romhacks/traduções, de maneira direta).....O único progresso feito, foi umas mexidas no modo debug (depuração) do meka onde permite de certa forma, uma alteração dos diálogos com o jogo em funcionamento (o que me possibilitou descobrir uma espécie de "grade de alfanuméricos" para substituição)

Continue com a mão na massa. Eu também queria que um jogo muito adorado por mim fosse traduzido, no caso o Spartan: Total Warrior, pesquisei sobre, entendi a base e traduzi. De início parece ser um bicho de sete cabeças mesmo (tem jogo assim haha), mas faz parte da coisa. :cafune:
✺ Traduções ✺
⌛: 2
✅: 4
✔️: 10

✮ Veja aqui

𖤐 Servidor do Discord 𖤐


Dekt

#4
Eu vou sim, pode deixar! Mas tenho uma série de dúvidas sobre arquivos ips... tipo...
do supracitado jogo (Y's, obviamente), eu possuo dois arquivos de formato IPS (os quais funcionam perfeitamente ao aplicar em uma rom em seu formato original), um com uma tradução em Francês, e outro com uma tradução em Espanhol... existe alguma forma de editar ditos arquivos (aproveitando assim os pointers dentro da rom), e fazer do arquivo um ips com uma tradução em PT-BR? Assim uma eventual dor-de-cabeça seria evitada com um patch ips do zero.

kuroi

Bom... Pelo que eu pude entender desse jogo aí, meu caro, acredito que você não chegou a procurar direito os textos, pois embora sejam um pouco mais complicados de se encontrar, eles ainda estão lá na rom sim... Basta fazer as buscas relativas corretamente e seguir o tilemap da fonte (que não está comprimida, por sinal...).

Vou dar um "pequeno tutorial" dessa rom pra você, ok?

Primeira característica do jogo: A fonte não está comprimida, portanto você não terá problema para visualizá-la usando um Tilemolester simples a partir do Offset: 0xD140 usando o Codec 2bpp planar. Dá até pra encontrar os textos: "PLAYER" e "ENEMY", que ficam na tela principal do jogo, mas parece que eles estão com uma compressão simples...

Segunda característica do jogo: A fonte original não contém todos os caracteres em sequência, o que pode inviabilizar uma busca relativa simples usando o Monkey Moore, por isso você terá que usar "artifícios" para fazer a busca relativa e encontrar os textos...
Repare que a fonte não possui os caracteres "O" ("Ó" maiúsculo) e o "l" ("ele" minúsculo), pois o jogo usa os caracteres 0 (zero) para simbolizar o "O" e o "I" (I maiúsculo) para simbolizar o l.

Com isso em mente eu comecei pela seguinte frase:

"Make way! Make way!
There's a wounded
man here!

Who am I?
I'm Dr.KRAZE."

Fiz a busca relativa pela palavra "Make" (sem as aspas) pelo Monkey Moore e obtive a seguinte resposta em um dos resultados:



Isso significa que no endereço 0xDFD6 está o começo da frase e uma possível tabela pode ser montada com os valores de A=AA até a=C3. Após os valores da tabela é possível se ver os possíveis caracteres encontrados, que no caso está: ...Make##vax##Make#vax##...
Ora, para bom entendedor meia palavra basta, né? Portanto já dá pra entender que em "Make#vax", se trocarmos o "v" por "w" e o "x" por "y", fica claro que a frase ficaria "Make#way", né...

Portanto, a partir daí eu montei a tabela indicada pelo programa, e como eu já expliquei antes, como a fonte do jogo omite dois caracteres (o "O" maiúsculo e "l" minúsculo), é necessário editar a tabela criada, deslocando todos os caracteres abaixo do "k" uma posição acima e todos os caracteres abaixo do "N" também uma posição acima, além de adicionar também os valores numéricos. Chegando à seguinte tabela:

A0=0
A1=1
A2=2
A3=3
A4=4
A5=5
A6=6
A7=7
A8=8
A9=9
AA=A
AB=B
AC=C
AD=D
AE=E
AF=F
B0=G
B1=H
B2=I
B3=J
B4=K
B5=L
B6=M
B7=N
B8=P
B9=Q
BA=R
BB=S
BC=T
BD=U
BE=V
BF=W
C0=X
C1=Y
C2=Z
C3=a
C4=b
C5=c
C6=d
C7=e
C8=f
C9=g
CA=h
CB=i
CC=j
CD=k
CE=m
CF=n
D0=o
D1=p
D2=q
D3=r
D4=s
D5=t
D6=u
D7=v
D8=w
D9=x
DA=y
DB=z
DC=.
DD=:
E7=
EE=!
EF=?
F3=-
FE={br}
FF={end}

A partir daí eu gravei isso como .tbl, abri no Editor Hexadecimal, fui até o Offset 0xDFD6 e Voilá!! Habemos textos!!

Mas como nem tudo são flores nesse jogo, reparei também que os textos usam uma belíssima compressão de dicionário que "omite" algumas palavras de serem exibidas no Editor Hexadecimal, mas para a sua sorte a compressão é simples e os índices do dicionário estão alinhados com os valores dos Bytes de controle que "chamam" as entradas do dicionário, que começa no endereço 0x800 da rom (bem no comecinho...).

Exemplo do funcionamento do dicionário:

O Byte de controle 0x22 representa a entrada "here" do dicionário;
E o Byte de controle 0x23 representa a entrada "cloak" do dicionário;
Com esses valores em mãos, você vai até o endereço 0x800 e procura respectivamente o trigésimo quarto índice do dicionário (0x22 em Hexa é 34 em decimal), seguido do trigésimo quinto índice do dicionário (0x23 em Hexa é 35 em decimal).
Se tudo correr bem, você encontrará as palavras que procura, aí a partir daí você pode organizar a sua lógica para automatizar esse processo...

É isso! Bom Hacking!!
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

Dekt

Desculpa o termo, mas... CA****O!

Obrigado pela ajuda!!! Simplesmente, sem palavras!! :cuteeyes:
Hoje, como é o meu "dia de folga", vou me dedicar à essa rom, com um sorriso enorme, e uma caneca de café maior ainda...

Eu já agradeci vocês todos? Obrigado, mil vezes obrigado!!!

Luke

Pede uma tul pra extrair e inserir pro kuroi, ele manja.
Mas você tem que prometer pra ele que nunca vai usar, senão ele não faz. rsrs

kuroi

Citação de: Luke online Janeiro 26, 2022, 22:54:03 PM
Pede uma tul pra extrair e inserir pro kuroi, ele manja.
Mas você tem que prometer pra ele que nunca vai usar, senão ele não faz. rsrs
Rsrsrsrs Pois é... Eu só programo a Tool se você prometer que vai abandonar o projeto! Rsrsrsrs
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

Dekt

Citação de: Luke online Janeiro 26, 2022, 22:54:03 PM
Pede uma tul pra extrair e inserir pro kuroi, ele manja.
Mas você tem que prometer pra ele que nunca vai usar, senão ele não faz. rsrs
Poxa, mais do que ele me ajudou? Hahahaha!

Citação de: kuroi online Janeiro 26, 2022, 23:43:55 PM
Rsrsrsrs Pois é... Eu só programo a Tool se você prometer que vai abandonar o projeto! Rsrsrsrs
Putz, Kuroi! Aí tu me quebra as pernas! hahahahahaha!

ØX-Carnage

Citação de: Dekt online Janeiro 26, 2022, 05:26:02 AM
Desculpa o termo, mas... CA****O!

Obrigado pela ajuda!!! Simplesmente, sem palavras!! :cuteeyes:
Hoje, como é o meu "dia de folga", vou me dedicar à essa rom, com um sorriso enorme, e uma caneca de café maior ainda...

Eu já agradeci vocês todos? Obrigado, mil vezes obrigado!!!

Cara a melhor maeira de agradecer é terminando essa tradução.  :scripts:

Citação de: Luke online Janeiro 26, 2022, 22:54:03 PM
Pede uma tul pra extrair e inserir pro kuroi, ele manja.
Mas você tem que prometer pra ele que nunca vai usar, senão ele não faz. rsrs
Além disso tem que dar uma mamada também.  :choro2:

Citação de: kuroi online Janeiro 26, 2022, 23:43:55 PM
Citação de: Luke online Janeiro 26, 2022, 22:54:03 PM
Pede uma tul pra extrair e inserir pro kuroi, ele manja.
Mas você tem que prometer pra ele que nunca vai usar, senão ele não faz. rsrs
Rsrsrsrs Pois é... Eu só programo a Tool se você prometer que vai abandonar o projeto! Rsrsrsrs

Sei fala que você também não quer uma mamada????

kuroi

 :huh:
Primeiramente vamos deixar o mano novato aí a par da nossa "piada interna", né... Rsrs
É porque eu tenho certo "histórico" de ajudas que eu dei aqui no Fórum, que em sua GRANDE MAIORIA a pessoa que pediu a ajuda acabou desistindo do projeto e tudo aquilo que foi programado ou ensinado, foi jogado fora... Rsrsrs
Aí por isso que o pessoal fala isso, quando ofereço ajuda a alguém!
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

Dekt

Citação de: ØX-Carnage online Janeiro 27, 2022, 11:06:59 AM

Cara a melhor maeira de agradecer é terminando essa tradução.  :scripts:


Acredita se eu te disser, que a pior parte da tradução é o romhack? Pq a tradução per se, é mais fácil que respirar (falo isso pq sou fluente em inglês, e um boçal quase que completo com o manuseio de software para edição dos ditos jogos)

kuroi

Eai, cara! Trago novidades!
Depois de analisar um pouco o dicionário do jogo (aquele que começa em 0x801), descobri que ele tem 128 posições (0x80 em Hexadecimal) e tem também uma "pequena peculiaridade" na primeira letra de cada palavra do dicionário...
A primeira letra de cada palavra do dicionário é designada por um valor Hexa diferente das outras letras da tabela, ou seja, elas obedecem uma "outra tabela" com caracteres minúsculos e maiúsculos e essa tabela é a seguinte:

2A=A
2B=B
2C=C
2D=D
2E=E
2F=F
30=G
31=H
32=I
33=J
34=K
35=L
36=M
37=N
38=P
39=Q
3A=R
3B=S
3C=T
3D=U
3E=V
3F=W
40=X
41=Y
42=Z
43=a
44=b
45=c
46=d
47=e
48=f
49=g
4A=h
4B=i
4C=j
4D=k
4E=m
4F=n
50=o
51=p
52=q
53=r
54=s
55=t
56=u
57=v
58=w
59=x
5A=y
5B=z

Repare que a tabela acima vai de 0x2A e acaba exatamente em 0x5B, certo?
Então experimente concatenar essa tabela com a tabela inicial criada e você terá a "tabela_ys.tbl" que eu mandei em anexo aí!

Então, se você carregar novamente essa tabela no Editor Hexadecimal e voltar ao endereço 0x801, você verá algo parecido com essa bizarrice aqui:



Esse é o dicionário com as suas 128 posições totalmente visível! Aí você me pergunta: "Certo, e pra quê precisamos dele?" Ele vai servir para "conhecer" todas as palavras que serão chamadas dentro do seu script mais abaixo, portanto, para conseguir isso eu simplesmente dumpei todo esse dicionário em um txt e identifiquei uma palavra em cada linha, chegando no arquivo chamado "dicionario_completo.tbl" que eu  também anexei aí no post.

Depois de tudo em seu devido lugar, bastou retirar a "tabela auxiliar" que tinha sido anexada na tabela principal (aquela que começava em 0x2A e terminava em 0x5B e servia só pra identificar o começo das palavras do dicionário) e adicionar toda a parte que pertence ao dicionário à tabela principal, chegando, finalmente, ao arquivo em anexo "tabela_ys_completa.tbl", que servirá como tabela definitiva para você!
Agora experimente carregar a "tabela_ys_completa.tbl" no Editor Hexadecimal, entrar no Offset que identificamos lá no começo 0xDFCC e você verá isso:



Ou seja, todos os scripts visíveis!!

E então, só pra finalizar, eu fiz também um Dump de alguns scripts pelo Windhex mesmo e formatei eles chegando ao "dump.txt" que também deixei em anexo!

Ufa! Agora é "só" entender a lógica dos ponteiros pra que tudo fique pronto pra começar a traduzir!  :tonto:

Espero ter ajudado!!

君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

Dekt

#14
Citação de: kuroi online Janeiro 28, 2022, 01:28:59 AM
...
E então, só pra finalizar, eu fiz também um Dump de alguns scripts pelo Windhex mesmo e formatei eles chegando ao "dump.txt" que também deixei em anexo!

Ufa! Agora é "só" entender a lógica dos ponteiros pra que tudo fique pronto pra começar a traduzir!  :tonto:

Espero ter ajudado!!
Caraca!



Acho que uma imagem vale mais do que mil palavras... e essa expressa perfeitamente como eu estou me sentindo.

Obrigado, mais uma vez!


Edit> Ao invés de postar abaixo, resolvi acrescentar o seguinte... e gostaria de uma subsequente opinião de outros jogadores...

Y's the Vanished Omens é um jogo que possui um tipo de inglês mais antigo, o que se referencia como um inglês Shakespeariano... ficaria legal (e fiel ao tipo de script) colocar um português mais formal (com as ditas e devidas flexões verbais) nesse texto também?

(Pra quem nunca jogou, ao invés de You, o jogo usa Thou/Thee e as devidas flexões aplicadas... quando joguei o dito pela primeira vez, eu ficava com um dicionário para literatura inglesa, emprestado por um professor conhecido... isso lá no comecinho da década de 90.)