[PS2] Gantz: The Game

Iniciado por Lugg, Junho 11, 2026, 00:39:08 AM

tópico anterior - próximo tópico

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

Lugg

Nome: Gantz: The Game
Plataforma: Play Station 2
Gênero: Third-person shooter



Anunciando o meu projeto para o jogo de um dos meus animes favoritos!

Sobre o projeto

Equipe: Lugg (Eu) e Claude!

Progresso:
Meu foco é dar suporte ao máximo de modificação que for possível no jogo, com (quase) nenhuma necessidade de mexer em arquivos binários...
Então, a tradução é algo secundário e não garantido.
Eu comecei a traduzir o primeiro arco, mas parei para melhorar o app e passei os últimos dias tentando achar a fonte.
A tradução atual cobre até a história dos episódios 2-3 do anime.

Funcionalidades:
 - Extração e rebuild da ISO do jogo diretamente na UI, independente de qual dump está sendo usado.
 - Todos textos do jogos são extraídos e traduzidos direto na UI. Não mais limitado ao limite de bytes original. Isso é feito de 3 formas:
  1. Inplace: O texto ocupa o mesmo espaço que o texto original, colocando "zeros" se for menor.
  2. Expandido (além do limite original): O texto é maior que o original mas cabe no espaço "em branco" entre os textos.
  3. Patch: Suporta qualquer tamanho de texto e faz o patch automaticamente ao criar a ISO! Caso não seja usado o patch, as strings serão truncadas.
 - Suporte a múltiplos "idiomas" (patches) no mesmo projeto. Também possui suporte a importação e extração dos textos!
 - O áudio da fala pode ser ouvido direto na UI! Inclusive as falas sem texto.
 - Suporte a banco de dados! Então, será possível várias pessoas traduzirem o mesmo projeto.
 - Pouquíssimas coisas hardcoded... O código extrai as informações direto dos binários, sem depender diretamente da ISO que foi usada como base. As imagens do jogo são extraídas direto dos binários e os tiles são lidos direto do header!
 - Os poucos vídeos do jogo são extraídos.
 - Baixa automaticamente todas as ferramentas necessárias e permite ao usuário escolher os arquivos a serem usados.
 - Fonte do jogo é extraída ao criar o projeto, agora é possível adicionar símbolos para caracteres especiais/acentos ou simplesmente criar novos!

O que está planejado/falta fazer:
 - Repack dos pack de assets sejam aceitos pelo jogo.
 - Repack dos áudios. Se feito, dublar o jogo será possível.
 - Fazer um port de .PSS (de)muxer para Python. Caso não seja possível, será incluído algum app como dependência.
 - Garantir que o repack do .nkt (pack de assets) está sendo feito certo.
 - Remover o máximo de "hardcoded" e permitir ao usuário configurar tudo que foi descoberto como "padrão".
 - Suporte a todos jogos da KCEJ que usam o mesmo esquema de arquivos: NANA, Mahoromatic e Cy Girls/Cool Girls. Isso já está parcialmente feito, uma vez que todos são praticamente iguais!

Releases:
O app é feito em Python puro, com dependências/bibliotecas extras ao que é trabalhoso fazer port.
Ainda tá uma bagunça, mas será postado em breve no GitHub.

Observações:
Qualquer pessoa interessada em participar da tradução, desenvolvimento da UI (meu fraco) e/ou extract/parse dos arquivos será bem vinda.
Não precisa saber programar ou romhacking... O foco é justamente não precisar saber nada dos formatos do jogo.
Até mesmo respostas de IA já ajudam pois ainda faltam arquivos a serem extraídos e códigos a serem melhorados.

Comecei o projeto por volta de 24/05/2026 usando o Foxy Disc Editor e manualmente movendo os arquivos traduzidos.
Agora tudo feito direto na UI! Incluindo patch de tradução (xdelta) e criar a ISO compactada (.chd).

Print da tradução (antigo):


Teste rápido dos acentos:



Edição da fonte direto da UI:

Versão inicial do app:


Versão atual:


Assets extraídos:
Gantz:

NANA:

Mahoromatic:

kuroi

Parabéns pelo projeto!
Eu gostava desse jogo aí no PS2. Se tivesse um tempinho nos "milhões" de projetos que estou participando, eu até que tentaria ajudar! Rsrs
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

Lugg

Hehe, entendo!

Foquei no Gantz porque, apesar de ter praticamente nenhuma documentação, eu consegui evoluir bastante.
Horas de tentativas e erros, leituras do SDK oficial para deduzir como fazer o (un)swizzled corretamente, pegando códigos/referências aqui e ali.

Claude me fez perder tempo pegando o dump da VRAM do PCSX2 pra simplesmente ele não conseguir ler (Dei o código do PCXS2, mudou nada)! kk Vários dias batendo o limite e tendo que esperar 5h para continuar.

No fim, o que mais tava travando o projeto (Achar a fonte), foi descoberto por ele mesmo.
Pedi ele para documentar tudo que sabia para eu abrir outro chat e ele disse que já estava pronto, só que tinha um bug. Resolvemos o bug da extração e ele achou o arquivo.

E olha que a fonte não era tão necessária assim... Claro, fica estranho sem acentos. Mas quando eu consegui tirar o limite dos bytes, já estava perfeito. Cobria os casos que o primeiro expandir não conseguia resolver. Mas tem uma pessoa querendo traduzir para Russo, e para isso é necessário editar a fonte.

Um dos projetos mais complexos e difíceis que eu já fiz. É praticamente só os inputs para IA e minhas deduções olhando os binários.
Por exemplo, eu tive que mapear manualmente as strings dos textos porque ele não estava conseguindo diferenciar ASCII de Shift-JIS.
As extrações de textos não funcionam pros outros jogos porque essa foi a parte inicial e 100% focado no Gantz, mas tentarei arrumar também.
O resto foi generalista, para não precisar ter nada hardcoded (Eu realmente não sei os offsets!).


Falta agora refinar a conversão dos .sap e ver se os arquivos do jogo estão sendo recriados certos. Mas como a fonte é um arquivo parecido, é só eu arrumar ela e tá praticamente resolvido.

Depois que esse projeto estiver num estado "ok", vou voltar pros outros projetos que quero também fazer apps: The Nighmare Before Christmas - Oogie's Revenge e Jigoku Shoujo Mioyosuga. Além dos Yakuza's que estão uns meses em "on hold"...

P.Kauan

Meus parabéns pelo o projeto cara sobre o Gantz foi uma Obra com um potencial desperdiçado o Próprio autor arruinou sua Obra  :raiva2:  :corram:  :tonto: