2 pontos por GN⁺ 2025-01-01 | 1 comentários | Compartilhar no WhatsApp
  • dca3-game é um port de GTA III/VC para Dreamcast criado pela The Gang, um projeto para rodar jogos de mundo aberto da Rockstar em um console antigo
  • O port é baseado em re3, o código-fonte totalmente reverso de GTA III/VC, e usa KallistiOS como ambiente de desenvolvimento para Dreamcast
  • Para criar um CDI, é necessário ter uma instalação de Grand Theft Auto III ou Grand Theft Auto: Vice City, e a versão testada é Grand Theft Auto: The Trilogy
  • O caminho de criação recomendado é pelo Google Notebook, enquanto o método manual exige DreamSDK r3 e git-scm, não sendo adequado para usuários casuais
  • Em emuladores, é preciso desativar a opção trails para evitar uma sobreposição branca, e 24 bpp e Anti Aliasing continuam como configurações experimentais

Natureza do dca3-game

Criação de CDI: Google Notebook recomendado

Criação de CDI: método manual

  • O método manual não é recomendado para usuários casuais
  • É necessário ter uma instalação de Grand Theft Auto III ou Grand Theft Auto: Vice City
  • Algumas versões podem não funcionar, e houve casos de d4_gta.mp3 corrompido
  • É necessária uma cópia legítima sem arquivos corrompidos; caso contrário, o processo não funcionará
  • Ferramentas necessárias:
  • O repositório deve ser clonado no shell do DreamSDK com git clone --branch beta https://gitlab.com/skmp/dca3-game.git

Build de GTA III: liberty

  • Crie a pasta liberty e copie os arquivos do GTA III
    • Se estiver usando a versão de 2 CD-ROMs, o conteúdo do play disc também deve ser copiado para a mesma pasta
  • Baixe o liberty prebuilt elf na beta release e extraia dca-liberty.elf para a pasta dreamcast
  • O CDI para GD-EMU é gerado com make cdi-prebuilt
    • O processo leva cerca de 5 a 15 minutos
    • Por causa de um problema no DreamSDK, a primeira execução pode não terminar completamente, então pode ser necessário rodar o mesmo comando de novo
    • Ao concluir, será gerado dca-liberty.cdi, com cerca de 900MB
  • O CDI para gravação em CD-ROM é gerado com make FOR_DISC=1 cdi-prebuilt
    • A mensagem de conclusão é *** CDI Baked Successfully***
    • O arquivo resultante deve ter cerca de 700MB ou 260MB
    • Se o tamanho não bater, execute rm -rf repack-data e reinicie essa etapa desde o começo

Build de GTA Vice City: miami

  • Crie a pasta miami e copie os arquivos do GTA:VC
  • Baixe o miami prebuilt elf na beta release e extraia dca-miami.elf para a pasta dreamcast
  • O CDI para GD-EMU é gerado com FOR_DISC=2 make cdi-prebuilt
    • O processo leva cerca de 5 a 15 minutos
    • Por causa de um problema no DreamSDK, a primeira execução pode não terminar completamente
    • Pode ser necessário fechar a janela do DreamShell algumas vezes e reiniciar o procedimento
    • Ao concluir, será gerado dca-miami.cdi, com cerca de 1.5GB
  • O CDI para gravação em CD-ROM é gerado com make FOR_DISC=1 cdi-prebuilt
    • A mensagem de conclusão é *** Repack Completed Successfully***
    • O arquivo resultante deve ter cerca de 700MB ou 550MB

Execução e configurações gráficas

  • Ao rodar em emulador, é preciso desativar a opção trails nas configurações gráficas
    • Se trails estiver ativado, pode aparecer uma sobreposição branca sobre a renderização 3D
  • Há dois modos experimentais nas configurações gráficas
    • 24 bpp: 640x480x24
    • Anti Aliasing
  • Em saída HDMI ou VGA, recomenda-se ativar o modo 24 bpp
    • Mesmo nesse caso, o efeito trails deve ser desativado
  • O Anti Aliasing funciona com ou sem trails
    • Com trails ativado, o impacto no desempenho é maior
  • Ao ativar 24 bpp ou Anti Aliasing, parte da geometria pode desaparecer em cenas pesadas
    • Isso é mais provável no modo AA
    • Os dois modos podem ser usados juntos

Relato de problemas e licença

  • Ao relatar problemas, tire fotos da TV/monitor e da VMU e abra uma nova issue descrevendo o problema
  • O código deve ser usado apenas para fins de educação, documentação e modding
  • O uso de cópias piratas ou uso comercial não é recomendado
  • Trabalhos derivados devem permanecer open source e manter os créditos apropriados

1 comentários

 
GN⁺ 2025-01-01
Opiniões no Hacker News
  • Seria bom guardar uma cópia do código-fonte em algum lugar antes que o pessoal de copyright da Rockstar mande tirar do ar, como aconteceu originalmente com o re3
    https://news.ycombinator.com/item?id=28402640
    https://news.ycombinator.com/item?id=26199879

    • O re3, pelo menos de alguma forma, voltou a ficar online
      https://github.com/halpz/re3/
    • O engine re3 exige uma cópia do jogo para rodar, então não entendo muito bem por que fariam tanta questão de derrubá-lo
    • RE3 é resultado de engenharia reversa, ou seja, uma implementação compatível em ABI derivada com base no código-fonte e na lógica originais
      Essa área sempre foi uma zona cinzenta, ou algo abertamente próximo do ilegal, e é justamente por isso que a Compaq disse em 1982 que fez o BIOS por método de clean room
      Sempre reviro os olhos quando ouço esse tipo de reclamação. Se você fizer uma implementação clean room, como o OpenRA, fica juridicamente bem seguro; mas, se usar a propriedade intelectual de outra pessoa, assim que chamar atenção o suficiente é fácil ser tirado do ar
  • Eu gostaria que o Dreamcast tivesse durado mais. Muita gente subestimou o quanto esse console era excelente
    Ainda assim, acho que a culpa foi em grande parte da Sega por não ter empurrado o sistema com mais força. Acho que o hardware era muito superior ao do PS2, lançado no mesmo ano, e parece que a Sega também não levou em conta o suficiente o quanto o Dreamcast era caro em comparação com os concorrentes
    Claro que o XBOX acabou selando seu destino

    • O PS2 saiu mais de um ano depois no Japão e, na América do Norte, alguns meses depois do DC, mas pegando a temporada de fim de ano, então na prática foi um lançamento no ano seguinte. Mesmo assim, só o anúncio já enfraqueceu bastante o lançamento do DC
      Eu realmente gosto do Dreamcast, tenho vários, já hackeei com KallistiOS no passado, e pessoalmente ele significa muito mais para mim do que o PS2, mas não é verdade que o hardware fosse esmagadoramente superior
      A GPU tinha recursos interessantes, e a VRAM e a compressão de texturas por hardware também eram boas, então a qualidade de imagem era melhor, mas ele ficava atrás na maioria dos indicadores mais importantes, como processamento geométrico, iluminação e fill rate, e na época a maioria das pessoas nem usava saída VGA
      O “Emotion Engine” era definitivamente desajeitado em comparação com a estrutura elegante em que o SH-4 simplesmente se conectava ao PowerVR e ao AICA, mas conseguia extrair mais desempenho em geometria de ponto flutuante/SIMD pura e DMA. A simplicidade da arquitetura não importava para a maioria dos jogadores
      Alguns títulos iniciais pareciam horríveis porque era difícil aproveitar o hardware, mas olhando para a vida útil do PS2 e os jogos do fim da geração, especialmente os da Konami, ele superou bastante a capacidade do DC. O DVD também era objetivamente superior ao GD-ROM e era bom como player de filmes
      O Xbox saiu depois que a Sega já tinha abandonado o Dreamcast, então o destino já estava decidido antes disso
      A Sony exagerou no desempenho do PS2, mas ele tinha drive de DVD, os gráficos ficaram melhores depois que os desenvolvedores se acostumaram, e havia mais franquias fortes e títulos classe S. O Dreamcast dependia demais de ports de arcade
      No mercado vencedor-leva-tudo da época, o Dreamcast acabou sendo atropelado; se tivesse saído em 1998 com uma biblioteca maior, talvez tivesse tido pista suficiente para sobreviver
    • O PS2 tinha reprodução de DVD, apoio de franquias imensamente populares e uma recepção muito positiva ao PS1
      Não sei como ele se comparava ao Dreamcast em desempenho puro, mas, em relação ao GameCube e ao Xbox, o PS2 com certeza era o pior nesse aspecto. No fim, por causa dos jogos e da capacidade de reproduzir DVDs, essa diferença deixou de importar
    • O Xbox foi lançado muito depois de o DC já ter sido descontinuado. Além disso, algumas pessoas que participaram do DC também trabalharam no Xbox
      Em certo sentido, o Xbox parece um Dreamcast 2
    • Fico curioso para saber em que sentido você considera o hardware do Dreamcast tão esmagadoramente superior. Pelo que lembro, a CPU era mais lenta, a GPU também era mais lenta e havia menos memória
    • O preço de lançamento do Dreamcast em setembro de 1999 no mercado dos EUA foi de US$ 199
      O preço de lançamento do PlayStation 2 em março de 2000 no mercado dos EUA foi de US$ 299
      https://en.wikipedia.org/wiki/Dreamcast
      https://en.wikipedia.org/wiki/PlayStation_2
      Portanto, o Dreamcast era muito mais barato que o PlayStation 2. Não sei se você quis dizer que ele era mais barato, e não mais caro, ou se há algum detalhe que eu deixei passar
  • Vale a leitura: as histórias de desenvolvimento da trilogia GTA e do IV [0]

    O primeiro protótipo de gta3 rodava no Dreamcast. Todos nós tínhamos Dreamcast e jogávamos Phantasy Star Online. Mas, com o Dreamcast perdendo espaço para o Playstation 2, ele não durou muito e nós migramos.
    [0] https://web.archive.org/web/20231120194646/https://insideroc...

  • Os screenshots estão aqui
    https://dca3.net/screenshots/

    • Sim, parecem exatamente screenshots de GTA3
  • Separadamente, acabou de sair um jogo 3D do Sonic muito legal para Sega 32X. É um port de “Sonic Robo Blast 2”, baseado em Doom

    • Faz muito tempo que não ouço esse nome. Deve ter uns 20 anos
  • Modern Vintage Gamer publicou um ótimo vídeo sobre este lançamento e o chamou, na prática, de o port mais impressionante que já viu
    https://www.youtube.com/watch?v=6MFN7QiF83M

  • Computação retrô é muito legal. Ela vira completamente de cabeça para baixo a ideia de “console antigo”
    Em vez de perder valor por existirem opções melhores, ele se torna um computador permanentemente imutável que desenvolvedores podem mirar
    Os consoles produzidos vão durar muito mais tempo daqui para a frente. Meu N64 ainda funciona bem e roda novos hacks de ROM via Everdrive
    Mesmo que todo o hardware quebre, emuladores continuarão existindo, preservando aquela arquitetura em um estado imutável
    Antes eu pensava “por que criar software novo para consoles antigos?”, mas, vendo por esse ângulo, isso parece tão interessante quanto usar software para hardware moderno, ou até mais

    • Concordo totalmente e, indo um pouco além, vejo consoles e computadores antigos como as únicas máquinas virtuais que vão sobreviver por muito tempo
      Se ainda estivermos vivos daqui a 500 anos, acredito que código mirando o NES terá mais chance de rodar do que código mirando os navegadores atuais, .NET ou JVM
      As máquinas virtuais concorrentes são bem documentadas, mas extremamente complexas, e o código sobre elas tende a depender de comportamentos peculiares dos sistemas operacionais atuais, dos navegadores e até do hardware
      Além disso, o próprio hardware retrô é a documentação definitiva. Hoje, com equipamentos acessíveis, é possível examinar todos os chips e criar réplicas perfeitas em software ou FPGA. Já a documentação de máquinas virtuais pode conter imprecisões
      A previsão sci-fi de hoje é que só software mirando arquiteturas relativamente simples resistirá ao teste do tempo
    • Hardware quebra com o tempo, e coisas como capacitores com vazamento parecem ser uma das causas
      Entusiastas e oficinas de reparo podem manter alguns vivos por um tempo, e lugares como a PCBWay talvez consigam fabricar peças de reposição
      Ainda assim, concordo muito que emuladores são importantes, porque permitem experimentar essas coisas depois que o hardware deixa de ser prático
      Também dá para testar uma variedade enorme de jogos sem precisar se deslocar nem enviar nada. Eu também gostaria de experimentar uma solução em FPGA, especialmente se ela puder oferecer save states
    • O Dreamcast vai durar bastante, mas a era de jogar em discos ópticos não vai durar
      O Dreamcast usava um formato com o dobro da densidade do padrão Yellow Book e, quando meu drive quebrou, foi muito mais barato trocar por uma opção baseada em flash do que comprar um drive substituto
    • Pelo que entendi, de forma limitada, o Dreamcast tinha uma das arquiteturas mais simples daquela geração. Como a Sega aprendeu com a estrutura monstruosa do Saturn, ele deve ter sido um bom alvo para homebrew
      A GPU também era um projeto inicial da PowerVR, então talvez haja espaço para aproveitar conhecimento de GPUs móveis modernas em vez de mirar as arquiteturas proprietárias do GameCube ou do PS2
      Claro, o primeiro XBox era basicamente um PC, então ports de jogos de PC teriam sido mais simples, e por isso ele não se encaixa muito bem nessa discussão
    • As pessoas que modificam máquinas retrô para formas mais “modernas” também são bem impressionantes no lado do hardware
      Este maluco fez um PS4 portátil: https://youtu.be/bJSLscnFd_M
  • Fico curioso se GTA III já tinha sido originalmente programado para ser compatível com o Dreamcast, bastando limpar algumas pontas soltas restantes, ou se alguém reescreveu uma parte enorme do engine, talvez tudo, para torná-lo compatível com o Dreamcast

    • Está mais para a segunda opção. Acompanhei o processo de desenvolvimento, e um dos truques usados foi converter os dados de geometria dos modelos de listas de triângulos para triangle strips, mais adequadas ao PowerVR
      Isso permitiu empurrar triângulos para o hardware mais rapidamente e, com isso, a taxa de quadros também subiu
      https://x.com/falco_girgis/status/1821266502412075174?lang=e...
      Aliás, Falco é bem engraçado. Ele costuma escrever sobre Dreamcast como se a guerra de consoles daquela geração estivesse acontecendo agora
    • É um port do engine vindo do projeto de decompilação RE3. Foi preciso mudar muita coisa para fazê-lo rodar
    • O fato de GTA III ter sido feito com um engine de jogos bem conhecido, o RenderWare, também ajudou
  • É um vídeo rodando no hardware do Dreamcast
    https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP

  • Há alguma captura de gameplay em hardware real?