Crazy Taxi 3 - Modding
Enviado: 28 Mar 2020, 19:30

Capa da versão de PC.
1.Introdução
Olá pessoal, venho hoje falar sobre o modding de um jogo chamado Crazy Taxi 3: High Roller, desenvolvido pela Hitmaker e publicado pela Sega.
O jogo foi lançado para Xbox em 2002 e para PC em 2004. Fato é, o jogo nunca teve muita atenção pelo pessoal do modding, só mais recentemente uma pessoa criou uma ferramenta que ajusta algumas configurações do jogo para poder jogar a 60 FPS, usar resoluções widescreen e alterar o FOV (anteriormente isto era feito via hex editing).
2.Motivo
Muitos irão se perguntar: "Mas por que o Crazy Taxi 3?" Além do fato de este ser um dos vários jogos que fizeram parte da minha infância, eu particularmente acho que este é o melhor dos três jogos da série Crazy Taxi porque ele além de incluir os níveis dos jogos anteriores, aparentemente o veículo que o jogador controla tem uma física melhor.
Eu acredito que todo jogo merece ter a possibilidade de ser modificado, assim dando a possibilidade de mais horas de diversão, uma oportunidade de diferenciação em sua Gameplay e também o fato de isso trazer mais interesse das pessoas pelo jogo.
3.Formatos
O jogo usa os seguintes formatos:
.art - O meu amigo Meth0d conseguiu fazer a engenharia reversa deste formato e criou uma ferramenta que consegue extrair as texturas de dentro destes arquivos, aqui está uma explicação:
Os bytes com relação ao formato ainda contém alguns valores desconhecidos como 5, 4, 0 e alguns outros. Os formatos para as texturas que são usados pelo jogo são aparentemente estes:
.bin - Este é aquele formato que é digamos, genérico, pois cada jogo que o usa tem a sua própria versão dele. Uma grande parte deste jogo usa esse formato para armazenar sons, colisões ,"gameplay demos" e outras coisas ainda desconhecidas.
.mdl - Este formato é um pouco similar ao .art com a diferença que ele armazena os modelos do jogo ao invés das texturas.
.xbx - Formato desconhecido, está na pasta de arquivos na versão de PC, pela sua extensão, provavelmente é um leftover da versão de Xbox (há apenas dois arquivos com esta extensão e se chamam saveimage.xbx e saveimageR.xbx).
.xgt - São os GXTXs (formato das texturas) que estão nos arquivos .art, só que estão em uma região externa a eles.
.ics - Aparentemente este formato define os sons que o veículo do jogador irá usar.
.d00 - Desconhecido.
.rpy - Formato usado nos replays do jogo.
Para os áudios gerais do jogo são usados os formatos .aiff e para as canções o jogo usa o formato .ogg
.art - O meu amigo Meth0d conseguiu fazer a engenharia reversa deste formato e criou uma ferramenta que consegue extrair as texturas de dentro destes arquivos, aqui está uma explicação:
Código: Selecionar tudo
// HEADER
4 bytes - Total de Imagens
// DIRETÓRIO DE OFFSETS
// Para cada imagem
4 bytes - Offset da Imagem (em relação ao começo do arquivo)
// DIRETÓRIO DAS IMAGENS
// Para cada imagem
4 bytes - Magic (GXTX)
2 bytes - Largura
2 bytes - Altura
4 bytes - Tamanho da Imagem (Image Data)
2 bytes - Desconhecido
2 bytes - Formato (10 = DXT1 | 11 = DXT3)
X bytes - Image DataOs bytes com relação ao formato ainda contém alguns valores desconhecidos como 5, 4, 0 e alguns outros. Os formatos para as texturas que são usados pelo jogo são aparentemente estes:
Código: Selecionar tudo
DXT1, DXT3, A8R8G8B8, A4R4G4B4, R5G6B5, A1R5G5B5.bin - Este é aquele formato que é digamos, genérico, pois cada jogo que o usa tem a sua própria versão dele. Uma grande parte deste jogo usa esse formato para armazenar sons, colisões ,"gameplay demos" e outras coisas ainda desconhecidas.
.mdl - Este formato é um pouco similar ao .art com a diferença que ele armazena os modelos do jogo ao invés das texturas.
.xbx - Formato desconhecido, está na pasta de arquivos na versão de PC, pela sua extensão, provavelmente é um leftover da versão de Xbox (há apenas dois arquivos com esta extensão e se chamam saveimage.xbx e saveimageR.xbx).
.xgt - São os GXTXs (formato das texturas) que estão nos arquivos .art, só que estão em uma região externa a eles.
.ics - Aparentemente este formato define os sons que o veículo do jogador irá usar.
.d00 - Desconhecido.
.rpy - Formato usado nos replays do jogo.
Para os áudios gerais do jogo são usados os formatos .aiff e para as canções o jogo usa o formato .ogg
4. Endereços de Memória
Eu estou atualmente tentando documentar os endereços de memória do jogo, aqui está o que eu consegui documentar nestes últimos dois dias:
Código: Selecionar tudo
7BD2FC // Tempo do modo de jogo (em segundos)
7BD310 // O total de dinheiro que o jogador conseguiu
7BD314 // Custo da viagem
7BD334 // Tempo do passageiro (em segundos)5.Ferramentas
Crazy Taxi .art Extractor - Ferramenta que possibilita extrair os arquivos .art do jogo e editar as texturas (em breve eu irei disponibilizar o link(ainda falta ver sobre algumas texturas que estão saindo "bugadas" devido a terem formatos que não são DXT1 ou DXT3)).
6.Conclusão
Enfim, este é o começo de uma longa jornada, se houver a chegada de pessoas interessadas em ajudar seria ótimo e poderia acelerar bastante o progresso e assim trazer o modding para um jogo que nunca teve esta oportunidade.