Gente, estava lembrando ontem de um jogo de mega drive, o “super hang on” e lembro que , quando voce queria salvar o jogo, ele me gerava uma frase com varias letras. E quando voce iniciava o jogo e queria dar “load”, voce digitava essas letras e elas carregavam o seu “save”.
Fiquei pensando como eles faziam isso… Estou vendo MD5 e como MD5 exige muito processamento pra reverter,certeza que não seria isso…
Alguém ja fez algo parecido em java ou sabe a lógica por traz disso ?
Em muitos jogos os passwords eram os mesmos, bastava apenas verificar para qual fase o password digitado estava associado (exemplo: Top Gear, pra Super Nintendo). Não sei se é o caso do Super Hang On.
Rapaz, bem lembrado… Lembro quando jogava super nintendo e ficava um bom tempo escrevendo setas, bolas, números e letras para poder carregar meu jogo! hahah
Enfim, compartilho da sua dúvida
É muito mais simples. Seu save game é uma descrição de poucas variáveis, como o número de vidas , a quantidade de determinados itens, etc.
Digamos que você tivesse um conjunto de itens que você pegou durante o caminho, e representasse cada item por um bit. Aí o cara que escreveu o jogo pega essa coleção de bits e representa cada 5 bits por uma letra ou número (por exemplo, usando Base-32, ou seja, você precisa dos números , e letras do alfabeto - como não precisa de todas as 26, você pode tirar as letras que se confundem como 0 e O, I e 1, B e 8, D e 0 - você sabe, letras que se confundem dão dor de cabeça para quem vai jogar.
Ele poderia reservar mais algum pedaço do código para um checksum bem básico, só para evitar que alguém digitasse qualquer coisa e de repente ficasse com todas as vidas e itens possíveis e imagináveis. E é por isso que você não pode digitar qualquer coisa em um jogo .
As letras são simplesmente um código para um ponto no jogo.
A informação de inimigos, pontuação, etc, não era salva junto. Os jogos dessa época eram baseados em “checkpoints”.
Até porque, os consoles tinham a memória medida em KB, não em mega. O processador era medíocre e muitos nem sequer tinham memória gravável (o catucho é uma ROM, não uma RAM ou EEPROM).
No caso de códigos pequenos, eles são “chumbados” no jogo. É que quando você chegou a um determinado nível, você só precisa saber, para passar a um outro nível, talvez só de quanta energia você tem, ou outras coisas básicas. São essas coisas que você via impressas naquelas antigas revistas sobre videogames.