A GAZETA DE ALGOL

"O morto do necrotério Guaron ressuscitou! Que medo!"

Ferramentas do usuário

Ferramentas do site


jogos:ps1:desconstruindo_ps1

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
Última revisãoAmbos lados da revisão seguinte
jogos:ps1:desconstruindo_ps1 [2014/08/19 11:07] orakiojogos:ps1:desconstruindo_ps1 [2014/09/01 07:26] kilgamma
Linha 3: Linha 3:
 // Nota do Orakio: Há alguns anos, o amigo René "Killgama" Daré anunciou na [[https://br.groups.yahoo.com/neo/groups/listadealgol/info|Lista de Algol]] um ambicioso projeto de desconstrução do primeiro Phantasy Star. Seu intuito era o de descobrir como o jogo funcionava através da análise detalhada do código. // // Nota do Orakio: Há alguns anos, o amigo René "Killgama" Daré anunciou na [[https://br.groups.yahoo.com/neo/groups/listadealgol/info|Lista de Algol]] um ambicioso projeto de desconstrução do primeiro Phantasy Star. Seu intuito era o de descobrir como o jogo funcionava através da análise detalhada do código. //
  
-// O René foi postando suas descobertas na lista, e a gente foi ficando cada vez mais maravilhado. A ideia de compilar todo aquele conhecimento foi sendo adiada, até que finalmente o René teve a paciência de organizar tudo de uma forma que todos possam entender. Com a palavra, nosso amigo René! //+// O René foi postando suas descobertas na lista, e a gente foi ficando cada vez mais maravilhado. A ideia de compilar todo aquele conhecimento foi sendo adiada, até que finalmente o René teve a paciência de organizar tudo de uma forma que todos pudessem entender. Com a palavra, nosso amigo René! //
  
 Toda batalha no Phantasy Star funciona através de ataques e defesas sorteadas a cada turno da batalha. Quando aparece um inimigo, parte do código de inicialização cuida de desativar coisas da luta anterior (ex: parede mágica, força extra nos personagens e inimigo) e outras coisas. Nesse momento, o código de inicialização jogo calcula a ordem de ataque, tanto de inimigos quanto de personagens. Lembrando que são 4 personagens (Alis, Myau, Odin e Lutz) e no máximo 8 HPs inimigos, como algumas aparições do SWORM. Toda batalha no Phantasy Star funciona através de ataques e defesas sorteadas a cada turno da batalha. Quando aparece um inimigo, parte do código de inicialização cuida de desativar coisas da luta anterior (ex: parede mágica, força extra nos personagens e inimigo) e outras coisas. Nesse momento, o código de inicialização jogo calcula a ordem de ataque, tanto de inimigos quanto de personagens. Lembrando que são 4 personagens (Alis, Myau, Odin e Lutz) e no máximo 8 HPs inimigos, como algumas aparições do SWORM.
Linha 23: Linha 23:
 A lógica é a mesma quando o inimigo está atacando, e em caso de defesa maior que ataque (passos 7 e 8) é utilizado o nível do personagem para calcular o dano do inimigo, já que os inimigos não possuem níveis. A lógica é a mesma quando o inimigo está atacando, e em caso de defesa maior que ataque (passos 7 e 8) é utilizado o nível do personagem para calcular o dano do inimigo, já que os inimigos não possuem níveis.
  
-Para exemplificar, considere esta batalha do grupo contra um WT.DRAGON.+Essa redução aleatória nos valores de ataque e defesa provavelmente foram colocados pelo programador do jogo para dar um efeito mais realistaAlgumas vezes o ataque não vai ser tão bom quanto outras e a defesa também pode vacilar deixando o oponente aplicar um golpe mais certeiro.
  
-Ataque Quem Ataca ATK Base ATK Efetivo DEF Base DEF Efetivo Diferença Dano Efetivo +Você deve estar pensando porque alguém criaria uma regra pra verificar se a diferença entre ataque ou defesa é par ou ímpar. Realmente a descrição que fiz está muito técnica, então vou explicar melhor.  
 + 
 +A regra de verificar se a diferença (DEF-ATK) é par ou ímpar apenas faz com que o jogo não permita que defesas sejam 100% garantidas em caso de DEF maior que ATK. Na prática isso significa que teoricamente as defesas falham em 50% das vezes. Isso acontece porque o valor final de ATK e DEF é ajustado por um gerador de números aleatórios, aplicado aos valores base do personagem ou inimigo. 
 + 
 +Indo um pouco mais a fundo, um bom gerador de números aleatórios precisa ter uma boa distribuição dos números produzidos. Imagine uma faixa de 1 a 254 para a geração dos números, um bom gerador precisa produzir todos os números dessa faixa, aproximadamente o mesmo número de vezes. Em cerca de 1.000.000 de rodadas, esse gerador precisa produzir todos os números dessa faixa aproximadamente 3.937 vezes. 
 + 
 +Metade dos números dessa faixa são pares e a outra metade são ímpares, então se eles são gerados com uma boa distribuição, podemos dizer que aproximadamente 50% dos números gerados serão pares e os outros 50% ímpares. Se o gerador apresentar uma tendência de produzir mais números pares do que ímpares por exemplo, esse percentual não será 50%. 
 + 
 +Para exemplificar tudo isso, considere esta batalha do grupo contra um WT.DRAGON. 
 + 
 +Ataque Quem Ataca ATK Base ATK Efetivo DEF Base DEF Efetivo Diferença Dano Efetivo ^
 | 1 | WT.DRAGN | 180 | 155 | 193 | 189 | 34 | 0 | | 1 | WT.DRAGN | 180 | 155 | 193 | 189 | 34 | 0 |
 | 2 | NOAH | 85 | 75 | 104 | 92 | 17 | -22 | | 2 | NOAH | 85 | 75 | 104 | 92 | 17 | -22 |
Linha 48: Linha 58:
 | 21 | NOAH | 85 | 74 | 104 | 99 | 25 | -10 | | 21 | NOAH | 85 | 74 | 104 | 99 | 25 | -10 |
  
-Alguns pontos interessantes a serem observados:+Alguns pontos importantes:
  
   * O ATK e DEF efetivo é recalculado em cada ataque, nunca sendo inferior a 3/4 do original;   * O ATK e DEF efetivo é recalculado em cada ataque, nunca sendo inferior a 3/4 do original;
   * Um valor positivo de diferença entre ATK e DEF significa que o valor efetivo de DEF é maior que o ATK, ativando a função que recalcula o dano em função do nível do personagem;   * Um valor positivo de diferença entre ATK e DEF significa que o valor efetivo de DEF é maior que o ATK, ativando a função que recalcula o dano em função do nível do personagem;
-  * A ordem de ataque é aleatória, conforme já explicado anteriormente;+  * A ordem de ataque é aleatória, conforme já explicado;
   * Valores positivos e pares de diferença entre ATK e DEF resultam em um dano efetivo igual a zero, o que na prática significa que o inimigo ou o personagem se defende do ataque;   * Valores positivos e pares de diferença entre ATK e DEF resultam em um dano efetivo igual a zero, o que na prática significa que o inimigo ou o personagem se defende do ataque;
-  * Valores positivos e ímpares de diferença entre ATK e DEF resultam no recálculo do dano com base no nível do personagem. No caso o nível de todos os personagems é o máximo (30);+  * Valores positivos e ímpares de diferença entre ATK e DEF resultam no recálculo do dano com base no nível do personagem. Nessa batalha o nível de todos os personagems é o máximo (30);
   * Valores negativos de diferença entre ATK e DEF resultam em um dano efetivo direto igual ao valor da diferença, sendo subtraído do HP do personagem ou inimigo.   * Valores negativos de diferença entre ATK e DEF resultam em um dano efetivo direto igual ao valor da diferença, sendo subtraído do HP do personagem ou inimigo.
  
 Quando a mágica HELP (MYAU) é utilizada, o valor efetivo de ATK do personagem que recebeu a magia é cerca de 50% mais elevado que o valor base. De maneira semelhante, quando a mágica TERR (MYAU) é utilizada, o inimigo passa a ter um valor de ATK efetivo cerca de 25% inferior ao valor base.  Quando a mágica HELP (MYAU) é utilizada, o valor efetivo de ATK do personagem que recebeu a magia é cerca de 50% mais elevado que o valor base. De maneira semelhante, quando a mágica TERR (MYAU) é utilizada, o inimigo passa a ter um valor de ATK efetivo cerca de 25% inferior ao valor base. 
  
-Veja o exemplo de parte da batalha contra o DARKFALZ, onde a mágica HELP com a ALIS, seu valor de ATK efetivo ficou mais elevado que o valor base. A mágica só foi utilizada a patrir do ataque número 15, cujos valores estão marcados em vermelho+O WERE BAT quando está com muita raiva também fica com seu ATK elevado em cerca de 50% do valor base, como se ele tivesse utilizado a mágica HELP nele mesmo. 
 + 
 +Veja o exemplo de parte da batalha contra o DARKFALZ, onde Myau usou a mágica HELP em ALIS, fazendo seu valor de ATK efetivo ficar mais elevado que o valor base. A mágica só foi utilizada a patrir do ataque número 15, cujos valores estão marcados em negrito
  
-Número Quem Ataca ATK Base ATK Efetivo DEF Base DEF Efetivo Diferença Dano Efetivo +Número Quem Ataca ATK Base ATK Efetivo DEF Base DEF Efetivo Diferença Dano Efetivo ^
 | 1 | DARKFALZ | 255 | 197 | 188 | 157 | -40 | -40 | | 1 | DARKFALZ | 255 | 197 | 188 | 157 | -40 | -40 |
 | 2 | NOAH | 85 | 79 | 150 | 138 | 59 | -29 | | 2 | NOAH | 85 | 79 | 150 | 138 | 59 | -29 |
Linha 76: Linha 88:
 | 13 | NOAH | 85 | 68 | 150 | 127 | 59 | -23 | | 13 | NOAH | 85 | 68 | 150 | 127 | 59 | -23 |
 | 14 | DARKFALZ | 255 | 247 | 230 | 223 | -24 | -24 | | 14 | DARKFALZ | 255 | 247 | 230 | 223 | -24 | -24 |
-| 15 | ALIS | 116 | 147 | 150 | 148 | 1 | -17 |+**15** **ALIS** **116** **147** **150** **148** **1** **-17** |
 | 16 | DARKFALZ | 255 | 244 | 194 | 152 | -92 | -92 | | 16 | DARKFALZ | 255 | 244 | 194 | 152 | -92 | -92 |
 | 17 | NOAH | 85 | 67 | 150 | 147 | 80 | 0 | | 17 | NOAH | 85 | 67 | 150 | 147 | 80 | 0 |
Linha 84: Linha 96:
 | 21 | DARKFALZ | 255 | 221 | 193 | 144 | -77 | -77 | | 21 | DARKFALZ | 255 | 221 | 193 | 144 | -77 | -77 |
  
-Alguns pontos interessantes a serem observados:+Alguns pontos importantes:
  
   * O DARKFALZ realmente é um inimigo muito forte. No ataque número 16, ele aplicou um dano de 92 pontos ao ODIN;   * O DARKFALZ realmente é um inimigo muito forte. No ataque número 16, ele aplicou um dano de 92 pontos ao ODIN;
jogos/ps1/desconstruindo_ps1.txt · Última modificação: 2014/09/01 07:28 por kilgamma