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
jogos:ps1:desconstruindo_ps1 [2014/08/19 11:07] orakiojogos:ps1:desconstruindo_ps1 [2014/09/01 07:28] (atual) 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. Por exemplo, 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.1408471666.txt.gz · Última modificação: 2014/08/19 11:07 por orakio