[Dodonpachi] Scoring sur le bullet cancel
Publié : 04 juin 2017, 17:12
Le but de ce mini-tuto est de fournir une étude sur la calcul des points obtenus par bullet-cancelling à Dodonpachi - premier du nom.
Avant de commencer:
- Le scoring à Dodonpachi fait intervenir des mécaniques relativement simples; du moins si l'on le compare aux Cave plus récents. Le calcul des points obtenus avec la chaine, le maximum bonus, le no-miss bonus, les hit sur les boss, les étoiles est quelque chose de connu précisement.
- Cependant, le calcul exact des points provenant des bullet cancel est le seul élément qui soit complètement inconnu; en particuliers pour les sections de bullet-cancel des stages 1-3 et 2-3.
Nous allons donc ici expliquer en détail le calcul des points obtenus par bullet cancel, avec un focus sur le stage 1-3. Il est raisonable de penser que les points au stage 2-3 se calculent de la même façon qu'au 1-3; mais cela demandera tout de même une vérification pour en être sûr.
Tout d'abord; comment est-ce que j'ai fait pour comprendre le calcul des points par bullet cancel ? J'ai utilisé un émulateur pour le TASing (rappel TAS = Tool Assisted Superplay; ou Tool Assisted Speedrun selon le contexte). L'émulateur en question est FBA-rr. Avec cet outil, il est possible de jouer frame par frame. Il m'a alors suffit de faire des essais; de compter le nombre de boulettes à l'écran avant un cancel et d'observer frame par frame la progression du score; de sorte à dériver une règle générale.
Les résultats obtenus ne sont pas très compliqués et peuvent tenir en une phrase:
Contrairement à ce que l'on pensait, le nombre de points obtenus par bullet-cancelling ne grandit PAS exponentiellement avec le nombre de boulettes cancellées.
Les bases:
Dans les stages 1-3 et 2-3; un bullet cancel est déclenché en détruisant le centre de gros vaisseau volants. Il y a en général, sur le même écran des énemis qui lancent des boulettes en forme de pique:
De plus, sur les gros vaisseaux qui déclenchent le cancel; vous avez plusieurs tourelles qui lancent de petites boulettes rondes normales:
Lorsque vous détruisez un gros vaisseau, TOUTES les boulettes à l'écran sont cancellées et donnent des points. Les boulettes qui ne sont pas/plus à l'écran au moment du cancel ne donnent pas de points.
Les détails
Comme vous l'aviez peut être remarqué en jouant à DDP, lorsqu'un cancel est déclenché, le score ne monte pas "d'un coup" mais progressivement, et les boulettes lancées par les ennemis immédiatement après le cancel continuent d'être cancellées pendant un certains temps. Ceci est un fait connu : "le cancel dure pendant un certains temps".
La durée exacte du cancel est de 69 frames, c'est à dire 1,15 seconde. Cela veux dire que pendant 69 frame après le cancel, toutes les boulettes lancées par les ennemis seront cancellées et rapporteront des points.
En fait, le cancel peut se diviser en deux phases qui fonctionnent différemment. La première phase dure 12 frames et la seconde 57 frames. Détaillons le fonctionnement de chacune de ces phases.
- La première phase commence lorsque le cancel est déclenché.
A ce moment, le nombre de points obtenus est de n*500 où n est le nombre total de boulette à l'écran. Peut importe quel ennemi a tiré ces boulettes ou la forme de la boulette. Elles valent toutes 500 points.
Pendant 12 frames, il va y avoir une phase d'accumulation pendant laquelle; à chaque frame; le score augmente de (n+p)*500 ou n est toujours le nombre de boulettes cancellées initiallement et p est le nombre de boulette supplémentaires lancées entre le début du cancel et la frame actuelle.
Par exemple, si l'on cancel n=100 boulettes à la frame 0; et si un ennemi lance deux boulettes à la frame 5 et deux autres boulettes à la frame 9; alors les 12 frames de la première phase vous donneront au total 500*( (n+0) + (n+0) + (n+0) + (n+0) + (n+2) + (n+2) + (n+2) + (n+2) + (n+4) + (n+4) + (n+4) + (n+4) ) points.
Comme vous pouvez le voir; lorsque vous faites un cancel; vous êtes assurés de recevoir au minimum 500*n points pendant 12 frames, c'est à dire 6000*n points. Pour faire mieux que ces 6000*n points vous devez laisser les ennemis à l'écran en vie pour qu'ils tirent des boulettes supplémentaire. Notez aussi que, pendant les 12 frames de la première phase, la valeur de p ne peut qu'augmenter. En effet, p est le nombre de boulette tirées entre le moment du cancel (frame 0) et la frame considérée.
- Lorsque la première phase de 12 frames est terminée; les boulettes vont continuer à être cancellées pendant encore 57 frames.
Cependant, durant cette seconde phase, le calcul des points est différent.
Tout d'abord, le nombre n de boulettes qui vous avez cancellé initialement n'a plus aucune importance. Pendant la seconde phase, vous gagnerez, à chaque frame, 500 points multiplié par le nombre de boulette lancées par les ennemis (et cancellées immédiatement). Il n'y a plus d'effet d'accumulation. On regarde les boulettes actuellement à l'écran; sachant que; en fait; le cancel d'une boulette prend 4 ou 5 frames à se faire; ce qui fait que pour chaque boulette les 500 points sont comptées 4 ou 5 fois.
Par exemple, durant la phase 2, si un ennemi lance deux boulettes à la frame 20 et trois autre boulettes à la frame 30, le score augmentera de 500*2*4 + 500*3*4, ou le 4 est en fait peut être un 5 (je ne sais pas ).
Pour maximiser votre score pendant la seconde phase, il faut encore laisser en vie autant d'ennemis que possible et garder ces ennemis à l'écran. Est-ce qu'on peut estimer grossièrement le nombre de point qu'un ennemi (voire première image) donne pendant ces 57 frames s'il est laissé en vie ? D'après mes tests, ce nombre est voisin de 100,000 points, ce qui correspond à un peut moins de 2000 points par frame, c'est à dire 4 boulettes à l'écran par frame). Il se trouve que; en plus de ces ennemis; les gros vaisseaux volants qui servent à déclencher le cancel ont des tourelles qui lancent des gros paquets de 16 boulettes. Ces tourelles sont cruciales pour optimiser le scoring en phase 1 et 2 (voir les explications détaillées sur la stratégie de SOF-WTN).
Quelques exemples de cancel sur le premier gros vaisseau volant du 1-3
Voici les scores que j'obtient en faisant quelques essais de cancel sur le premier gros vaisseau du 1-3.
- exemple 1: Cancel tout pourri.
Dans cet exemple, je détruis le vaisseau très très tôt. Il y a seulement 8 boulettes à l'écran lorsque le cancel se déclenche. Il y a un ennemi qui lance des boulettes pointues. Je laisse cet ennemi en vie pendant toutes les 69 frames du cancel. Aucun nouvel ennemi n'apparait pendant ces 69 frames.
Voici le gain de score frame par frame; exprimé en millier de points.
Phase 1 (12 frames): (4,4,4,5,5,5,5,5,5,5,6,6).
Phase 2 (57 frames):(2,2,2,2,1,2,2,2,2,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,1,1,2,2,2).
Total pour la phase 1: 59k. Total pour la phase 2: 102k. Total général: 161k.
- exemple 2: Mauvais cancel, mais bonne phase 2.
Dans cet exemple, le cancel est déclenché plus tard. Il y a 40 boulettes à l'écran au moment du cancel et 4 ennemis de plus qui lancent des boulettes pointues. Je les laisse tous en vie pendant le cancel. De plus, des ennemis apparaissent et tirent pendant la phase 2, ce qui rapporte des points de plus. Voici le scoring (en millier de points):
Phase 1 (12 frames): (20,20,20,21,23,23,24,24,24,24,25,27).
Phase 2 (57 frames): (7,8,9,8,5,6,6,6,7,7,5,5,5,6,5,6,6,6,4,5,5,5,7,7,9,9,10,11,10,11,12,15,13,14,14,14,12,12,14,14,14,15,11,12,12,15,13,14,14,14,12,12,14,14,13,14,11).
Total pour la phase 1: 275k. Total pour la phase 2: 564k. Total général: 839k.
- exemple 3: Bon cancel et bonne phase 2.
Ici, j'ai essayé de reproduire un cancel qui est plus proche de ce que fait WTN. 161 boulettes sont cancellées. 6 ennemis sont à l'écran quand le cancel est déclenché et d'autres apparaissent et tirent pendant le cancel. De plus, comme le cancel est déclenché tard, il y a le "gros vaisseau volant" suivant qui rapporte des points grâce à ses tourelles qui tirent. Ceci se voit pendant les 30-35 dernières frames de la phase 2.
Phase 1 (12 frames): (80.5,83.5,83.5,84.5,85.5,86.5,87.5,87.5,90.5,90.5,91.5,91.5).
Phase 2 (57 frames): (9,10.5,10.5,13.5,10.5,11.5,10.5,11.5,9.5,9.5,11.5,11.5,12,12,9,10,10,13,12,14,13,14,13,13,14,14,16,16,13,14,13,16,14.5,17,16,17,15,15,17,16,17,17,16,17,16,19,19,21,20,21,20,21,
22,22,22,22,18).
Total pour la phase 1: 1043k. Total pour la phase 2: 848k. Total général: 1.891 million.
- Remarque, si l'on compare les exemples 2 et 3, vous voyez que dans l'exemple 3 on cancelle 4 fois plus de boulettes que dans l'exemple 2. Dans la phase 1, on obtient à peu près 4 fois plus de points: et cela reflète que le scoring en phase 1 est grosso-modo proportionnel. Il serait exactement proportionnel s'il n'y avait pas ces 12 frames d'accumulation avec la valeur de p.
Le scoring en phase 2 est complètement différent et ne dépend pas du nombre de bullet cancellées au départ; mais plutôt du nombre d'ennemis qu'on laisse en vie pendant le cancel. Dans l'exemple 3, la phase 2 rapporte plus de points que dans l'exemple 2 car le cancel est déclenché plus tard, ce qui permet d'attraper les points qui viennent des tirs des tourelles du gros vaisseau suivant.
Avant de commencer:
- Le scoring à Dodonpachi fait intervenir des mécaniques relativement simples; du moins si l'on le compare aux Cave plus récents. Le calcul des points obtenus avec la chaine, le maximum bonus, le no-miss bonus, les hit sur les boss, les étoiles est quelque chose de connu précisement.
- Cependant, le calcul exact des points provenant des bullet cancel est le seul élément qui soit complètement inconnu; en particuliers pour les sections de bullet-cancel des stages 1-3 et 2-3.
Nous allons donc ici expliquer en détail le calcul des points obtenus par bullet cancel, avec un focus sur le stage 1-3. Il est raisonable de penser que les points au stage 2-3 se calculent de la même façon qu'au 1-3; mais cela demandera tout de même une vérification pour en être sûr.
Tout d'abord; comment est-ce que j'ai fait pour comprendre le calcul des points par bullet cancel ? J'ai utilisé un émulateur pour le TASing (rappel TAS = Tool Assisted Superplay; ou Tool Assisted Speedrun selon le contexte). L'émulateur en question est FBA-rr. Avec cet outil, il est possible de jouer frame par frame. Il m'a alors suffit de faire des essais; de compter le nombre de boulettes à l'écran avant un cancel et d'observer frame par frame la progression du score; de sorte à dériver une règle générale.
Les résultats obtenus ne sont pas très compliqués et peuvent tenir en une phrase:
Contrairement à ce que l'on pensait, le nombre de points obtenus par bullet-cancelling ne grandit PAS exponentiellement avec le nombre de boulettes cancellées.
Les bases:
Dans les stages 1-3 et 2-3; un bullet cancel est déclenché en détruisant le centre de gros vaisseau volants. Il y a en général, sur le même écran des énemis qui lancent des boulettes en forme de pique:
De plus, sur les gros vaisseaux qui déclenchent le cancel; vous avez plusieurs tourelles qui lancent de petites boulettes rondes normales:
Lorsque vous détruisez un gros vaisseau, TOUTES les boulettes à l'écran sont cancellées et donnent des points. Les boulettes qui ne sont pas/plus à l'écran au moment du cancel ne donnent pas de points.
Les détails
Comme vous l'aviez peut être remarqué en jouant à DDP, lorsqu'un cancel est déclenché, le score ne monte pas "d'un coup" mais progressivement, et les boulettes lancées par les ennemis immédiatement après le cancel continuent d'être cancellées pendant un certains temps. Ceci est un fait connu : "le cancel dure pendant un certains temps".
La durée exacte du cancel est de 69 frames, c'est à dire 1,15 seconde. Cela veux dire que pendant 69 frame après le cancel, toutes les boulettes lancées par les ennemis seront cancellées et rapporteront des points.
En fait, le cancel peut se diviser en deux phases qui fonctionnent différemment. La première phase dure 12 frames et la seconde 57 frames. Détaillons le fonctionnement de chacune de ces phases.
- La première phase commence lorsque le cancel est déclenché.
A ce moment, le nombre de points obtenus est de n*500 où n est le nombre total de boulette à l'écran. Peut importe quel ennemi a tiré ces boulettes ou la forme de la boulette. Elles valent toutes 500 points.
Pendant 12 frames, il va y avoir une phase d'accumulation pendant laquelle; à chaque frame; le score augmente de (n+p)*500 ou n est toujours le nombre de boulettes cancellées initiallement et p est le nombre de boulette supplémentaires lancées entre le début du cancel et la frame actuelle.
Par exemple, si l'on cancel n=100 boulettes à la frame 0; et si un ennemi lance deux boulettes à la frame 5 et deux autres boulettes à la frame 9; alors les 12 frames de la première phase vous donneront au total 500*( (n+0) + (n+0) + (n+0) + (n+0) + (n+2) + (n+2) + (n+2) + (n+2) + (n+4) + (n+4) + (n+4) + (n+4) ) points.
Comme vous pouvez le voir; lorsque vous faites un cancel; vous êtes assurés de recevoir au minimum 500*n points pendant 12 frames, c'est à dire 6000*n points. Pour faire mieux que ces 6000*n points vous devez laisser les ennemis à l'écran en vie pour qu'ils tirent des boulettes supplémentaire. Notez aussi que, pendant les 12 frames de la première phase, la valeur de p ne peut qu'augmenter. En effet, p est le nombre de boulette tirées entre le moment du cancel (frame 0) et la frame considérée.
- Lorsque la première phase de 12 frames est terminée; les boulettes vont continuer à être cancellées pendant encore 57 frames.
Cependant, durant cette seconde phase, le calcul des points est différent.
Tout d'abord, le nombre n de boulettes qui vous avez cancellé initialement n'a plus aucune importance. Pendant la seconde phase, vous gagnerez, à chaque frame, 500 points multiplié par le nombre de boulette lancées par les ennemis (et cancellées immédiatement). Il n'y a plus d'effet d'accumulation. On regarde les boulettes actuellement à l'écran; sachant que; en fait; le cancel d'une boulette prend 4 ou 5 frames à se faire; ce qui fait que pour chaque boulette les 500 points sont comptées 4 ou 5 fois.
Par exemple, durant la phase 2, si un ennemi lance deux boulettes à la frame 20 et trois autre boulettes à la frame 30, le score augmentera de 500*2*4 + 500*3*4, ou le 4 est en fait peut être un 5 (je ne sais pas ).
Pour maximiser votre score pendant la seconde phase, il faut encore laisser en vie autant d'ennemis que possible et garder ces ennemis à l'écran. Est-ce qu'on peut estimer grossièrement le nombre de point qu'un ennemi (voire première image) donne pendant ces 57 frames s'il est laissé en vie ? D'après mes tests, ce nombre est voisin de 100,000 points, ce qui correspond à un peut moins de 2000 points par frame, c'est à dire 4 boulettes à l'écran par frame). Il se trouve que; en plus de ces ennemis; les gros vaisseaux volants qui servent à déclencher le cancel ont des tourelles qui lancent des gros paquets de 16 boulettes. Ces tourelles sont cruciales pour optimiser le scoring en phase 1 et 2 (voir les explications détaillées sur la stratégie de SOF-WTN).
Quelques exemples de cancel sur le premier gros vaisseau volant du 1-3
Voici les scores que j'obtient en faisant quelques essais de cancel sur le premier gros vaisseau du 1-3.
- exemple 1: Cancel tout pourri.
Dans cet exemple, je détruis le vaisseau très très tôt. Il y a seulement 8 boulettes à l'écran lorsque le cancel se déclenche. Il y a un ennemi qui lance des boulettes pointues. Je laisse cet ennemi en vie pendant toutes les 69 frames du cancel. Aucun nouvel ennemi n'apparait pendant ces 69 frames.
Voici le gain de score frame par frame; exprimé en millier de points.
Phase 1 (12 frames): (4,4,4,5,5,5,5,5,5,5,6,6).
Phase 2 (57 frames):(2,2,2,2,1,2,2,2,2,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,1,1,2,2,2).
Total pour la phase 1: 59k. Total pour la phase 2: 102k. Total général: 161k.
- exemple 2: Mauvais cancel, mais bonne phase 2.
Dans cet exemple, le cancel est déclenché plus tard. Il y a 40 boulettes à l'écran au moment du cancel et 4 ennemis de plus qui lancent des boulettes pointues. Je les laisse tous en vie pendant le cancel. De plus, des ennemis apparaissent et tirent pendant la phase 2, ce qui rapporte des points de plus. Voici le scoring (en millier de points):
Phase 1 (12 frames): (20,20,20,21,23,23,24,24,24,24,25,27).
Phase 2 (57 frames): (7,8,9,8,5,6,6,6,7,7,5,5,5,6,5,6,6,6,4,5,5,5,7,7,9,9,10,11,10,11,12,15,13,14,14,14,12,12,14,14,14,15,11,12,12,15,13,14,14,14,12,12,14,14,13,14,11).
Total pour la phase 1: 275k. Total pour la phase 2: 564k. Total général: 839k.
- exemple 3: Bon cancel et bonne phase 2.
Ici, j'ai essayé de reproduire un cancel qui est plus proche de ce que fait WTN. 161 boulettes sont cancellées. 6 ennemis sont à l'écran quand le cancel est déclenché et d'autres apparaissent et tirent pendant le cancel. De plus, comme le cancel est déclenché tard, il y a le "gros vaisseau volant" suivant qui rapporte des points grâce à ses tourelles qui tirent. Ceci se voit pendant les 30-35 dernières frames de la phase 2.
Phase 1 (12 frames): (80.5,83.5,83.5,84.5,85.5,86.5,87.5,87.5,90.5,90.5,91.5,91.5).
Phase 2 (57 frames): (9,10.5,10.5,13.5,10.5,11.5,10.5,11.5,9.5,9.5,11.5,11.5,12,12,9,10,10,13,12,14,13,14,13,13,14,14,16,16,13,14,13,16,14.5,17,16,17,15,15,17,16,17,17,16,17,16,19,19,21,20,21,20,21,
22,22,22,22,18).
Total pour la phase 1: 1043k. Total pour la phase 2: 848k. Total général: 1.891 million.
- Remarque, si l'on compare les exemples 2 et 3, vous voyez que dans l'exemple 3 on cancelle 4 fois plus de boulettes que dans l'exemple 2. Dans la phase 1, on obtient à peu près 4 fois plus de points: et cela reflète que le scoring en phase 1 est grosso-modo proportionnel. Il serait exactement proportionnel s'il n'y avait pas ces 12 frames d'accumulation avec la valeur de p.
Le scoring en phase 2 est complètement différent et ne dépend pas du nombre de bullet cancellées au départ; mais plutôt du nombre d'ennemis qu'on laisse en vie pendant le cancel. Dans l'exemple 3, la phase 2 rapporte plus de points que dans l'exemple 2 car le cancel est déclenché plus tard, ce qui permet d'attraper les points qui viennent des tirs des tourelles du gros vaisseau suivant.