Voltar para Home
por Eliezer Brasilian

Eu traduzi um jogo de PS2 usando IA, Java e Python (Up – Altas Aventuras)

Eu traduzi um jogo de PS2 usando IA, Java e Python (Up – Altas Aventuras)

Traduzir um jogo de PlayStation 2 pode parecer algo impossível à primeira vista.

Mas foi exatamente isso que eu comecei a fazer.

Neste projeto, eu decidi pegar o jogo Up – Altas Aventuras e iniciar um processo completo de tradução diretamente nos arquivos internos do jogo, utilizando uma combinação de engenharia reversa, edição hexadecimal, inteligência artificial e programação.

O resultado? Uma versão modificada do jogo já rodando com textos traduzidos.


🎥 Assista ao vídeo completo

Confira todo o processo na prática:

👉 https://youtu.be/2YpkjnFYr5k?si=GYkFOC9267qVj7fm


🧠 Como funciona a tradução de um jogo de PS2

Diferente de sistemas modernos, jogos de PS2 não possuem suporte nativo para múltiplos idiomas na maioria dos casos.

Isso significa que, para traduzir, é necessário:

  • Extrair a ISO do jogo
  • Encontrar onde os textos estão armazenados
  • Modificar diretamente os arquivos internos
  • E reconstruir a ISO corretamente

No meu caso, utilizei o HxD, um editor hexadecimal, para localizar e substituir os textos dentro dos arquivos.


⚠️ O maior desafio: limite de caracteres

Um dos maiores problemas ao traduzir jogos antigos é o seguinte:

O texto traduzido precisa ter exatamente o mesmo tamanho do texto original.

Se isso não for respeitado, o jogo pode:

  • apresentar bugs
  • corromper dados
  • ou até travar completamente

E foi aí que a coisa começou a ficar interessante.


🤖 Usando Inteligência Artificial para traduzir

Para acelerar o processo, utilizei IA para gerar traduções automaticamente.

Mas havia um detalhe importante:

As traduções precisavam respeitar o limite de caracteres.

Nem sempre isso funcionava perfeitamente, principalmente em frases maiores.

Então surgiu a necessidade de ir além.


☕ Automatizando com Java

Para resolver o problema de forma definitiva, eu criei uma ferramenta em Java.

Essa ferramenta faz algo simples, mas extremamente útil:

  • Compara o texto original com o traduzido
  • Se for maior → corta o excesso
  • Se for menor → completa com espaços

Assim, eu consigo garantir que o jogo não quebre por causa de tamanho de string.

Além disso, comecei a salvar essas traduções em arquivo para reutilização futura.


🐍 Gerando a ISO com Python

Depois de modificar os arquivos, ainda existe um passo essencial:

Reconstruir a ISO do jogo.

Para isso, eu criei um script em Python que:

  • pega os arquivos modificados
  • preserva a estrutura original
  • e gera uma nova ISO funcional

Essa ISO pode ser executada tanto no console quanto em emuladores como o PCSX2.


🚀 Resultado

Após todo esse processo, consegui rodar o jogo já com os primeiros textos traduzidos.

E esse é só o começo.

A ideia é continuar evoluindo até traduzir o jogo completo.


🎮 Compre jogos no precinho

Se você curte jogos, dá uma olhada no meu site:

👉 https://prego-games.vercel.app


📚 Meus cursos

Lógica de Programação com Java

https://www.udemy.com/course/java-do-zero-logica-de-programacao-e-projeto-to-do-list/?referralCode=B4C9AD7F7ECA452B766F

JavaFX — Aplicações Desktop

https://www.udemy.com/course/curso-javafx-programacao-desktop-passo-a-passo/?referralCode=39EBA837B0A095B0A347


📌 Conclusão

Esse projeto mistura várias áreas:

  • programação
  • engenharia reversa
  • modding
  • automação

E mostra como é possível ir além do convencional usando tecnologia.

Se você se interessa por esse tipo de conteúdo, recomendo acompanhar também o canal no YouTube, onde estou documentando toda a evolução desse projeto.


Autor: Eliezer
Canal: Dev Pragmático