NokiMo
The Electric Underground
The Electric Underground

patreon


Article - The “Double GP Glitch” of Dodonpachi Explained

(written and researched by Plasmo with additions by Blackisto & Hatsune Mike)

Background

This  glitch is said to have been  triggered accidentally already shortly  after the release of the game in  the late 1990s. However, people were  confused about the inner mechanics  of it and were not able to replicate  it with confidence until very  recently. The glitch was reconsidered to  be used for scoring and the  exact conditions how to replicate it were  found by KTL-NAL in March of  2015. This lead to new world records for  all of the three different  ships in Japan. The knowledge about the  glitch was kept secret and only  shared among a very small circle of  players.

On February 25th 2020,  the glitch was  triggered by Blackisto, a Dodonpachi player from  Switzerland. As this  attempt was recorded, an analysis of the video  material almost instantly  made it possible to determine the conditions  for it to occur.

How to trigger the glitch

A  unique feature of stage 6 in  Dodonpachi are the four honeycombs that  constantly spawn sets of small  turrets. First, you encounter a single  honeycomb on the right side of  the screen and then later on, a set of  three honeycombs vertically  stacked on top of each other. In fact, when  you stop firing, you realize  that the turrets are not immediately  spawning but that there is a low  HP enemy sitting on top of each  honeycomb. We call this enemy “Glitcho”.

Meet Glitcho

Glitcho  acts a little weird in terms of  his Base value points but normally  gives you a mere 10 points, which is  the lowest existing Base value in  the game. There are only two other  sources for a 10 points Base value:  the rockets in the beginning of  stage 6 and laser hits. A laser hit is  the slow hit counter increment  that happens when the laser is held on  an enemy for every 50 successive  frames (not to be confused with boss  hits, which work differently).

The glitch occurs when you attach your laser onto Glitcho and gain a laser hit from him the same frame  you destroy him. As Glitcho only has very little HP, you have to start   lasering him while he’s still invincible in the deadzone (very top of   the screen) when he’s just entering the playing field. However, if you   prematurely aim your laser where Glitcho would appear so that you start   lasering him immediately the first frame he comes on screen, you will   gain the laser hit a few frames before you destroy him. This will not   trigger the glitch.

This  picture series shows a successful  trigger on the topmost Glitcho of  this triple set. You know that you  have triggered the glitch when your  hit count goes +2 on the same frame  as shown above. The third picture  shows the exact frame this is supposed  to happen.

Moreover,  when any enemy crosses your  laser while it is attached to Glitcho  (even a popcorn enemy that doesn’t  block your stream), the frame count  for your laser hit is interrupted  and the glitch won’t trigger.  Therefore, the timing for this glitch to  happen is extremely tight and  the most difficult part is to find a setup  that would consistently  trigger it. However, if you get the laser hit  & the enemy  destruction at the same frame, there’s no further RNG  element to it –  you will always trigger the glitch.

As  there are four honeycombs total to be  found in stage 6, the glitch can  theoretically be activated four times  per loop. However, as the  conditions for it to happen are very strict,  it’s open to debate with  how many Double GP glitches we would approach  TAS territory and what’s  still feasible in an actual run. It seems that  triggering the glitch on  the middle of the triple honeycomb set is  particularly difficult. Only  time will tell what players can achieve in  this game. The knowledge is  now public.

It should also be  noted that the  potential setups cannot be the same for each of the  ships &  sub-types as the strength of the laser as well as the laser  activation  speed both show the following differences.

Effects of the glitch

To   fully understand the scoring effect of the glitch, you need to know  how  the scoring system in Dodonpachi works, and in particular how many   points you get when you do a chain. Every enemy in the game has a “Base   value”. When you kill an enemy, while keeping your chain alive, two   things happen.

  1. Your “GP” (= Get Point) is increased by the Base value of the enemy you killed.
  2. Your score is increased by your GP.

The total points you get from doing a chain is also called the Chain Value. When a chain is broken, your GP is reset to zero.

When  triggering the glitch, you gain two  hits, one from the laser hit and  the other from destroying Glitcho.  While the laser hit is calculated  regularly with a Base value of 10  points, Glitcho itself does not show  his regular Base value of 10 points  but instead doubles your GP value,  hence the naming convention.  Consider the following scenario where:

  1. You are doing a chain of currently 358 hits (picture 1).
  2. You kill a regular enemy (359 hit, picture 2).
  3. You trigger the glitch (361 hit, picture 3).
  4. You regularly kill two more enemies (363 hit, picture 4).

The  GP value before the glitch is at 77,860. When the glitch is  triggered  at 359 hits > 361 hits (cf. green box in the table), the  second hit  of it exactly doubles your GP value to 155,720. This GP value  then  increases normally afterwards again. Incidentally, what follows is   another frame perfect double kill (two enemies with a Base value of 120   points each), which is then, however, calculated regularly.

We  can understand from this example that  the point gain from the Double  GP Glitch is highly dependent on your  current GP value. Consequently,  the single honeycomb you encounter  earlier is worth significantly less  than any of the later ones, as your  GP value is naturally increasing  with a higher chain.

As Glitcho is  essentially doubling your  GP value, his normal Base value of 10 points  is overwritten by the  number of your current GP value. Therefore, we  could say that Glitcho in  the example above has a Base value of 77,860  points. To our current  knowledge, this is the only enemy in the game  with a (potentially)  relative Base value as opposed to the absolute  Base values all other  enemies carry.

Stacking it up

As  mentioned above, there are four  instances throughout stage 6 where  it’s theoretically possible to  trigger the double GP glitch. This means  that you can double your GP  value multiple times allowing for an  exponential increase! But let’s  look at the glitch triggers in  isolation first. For the following  scenarios, the Double GP Glitch is  only triggered once and the rest of  the stage is fully chained with  about 900 hits.

The   total point gain in the last column refers to the score you get on top   of your regular score, i.e. the actual score you would get from   triggering the glitch alone. As this calculation does not take into   account the fact that you would lose hits under normal circumstances due   to correctly setting up for the glitch to work, these numbers are most   likely lower in an actual run. Therefore, we can rather expect 15m  from  the first and about 25m from the other three when triggered in   isolation.

In  2018, a player  named Bananamatic claimed to have obtained approximately  15 million  “unexplained points” on top of his regular 1-6 full chain.  He did not  record his play and so he was not able to analyze what has  happened.  Now we know that Bananamatic had accidentally triggered the  glitch on  the first honeycomb.

Triggering   the glitch only once is thus already very rewarding scoringwise.   However, when you trigger the Double GP Glitch four consecutive times   within the same stage, the score boost becomes huge. The attached  picture to the right shows a rather unrefined chain that has, however,  triggered the glitch three times. The  Chain value at the end of the  stage has nine digits and cannot be  displayed correctly (this is merely  a visual issue). The actual value of  it is 163,371,340 points! The  same chain without the glitch would  perhaps be closer to 50 million  points, effectively leaving an  unexplained 113 million points from the  three glitches alone. When we  compare the old glitchless world record  score from WTN of 754,937,640  (March 2015) to his new world record in  which he exploits the glitch of  862,976,450 (August 2015), we notice a  difference of about 108 million  points. Therefore, we can speculate  that WTN has triggered the Double GP  Glitch three times in 1-6 and did  not go for it in 2-6 at all.

But   there’s more! When we do a final calculation for all four Glitchos   triggered consecutively within one run, this brings us to the following   numbers. Keep it mind that these numbers do not take into account your   regular score from the stage but purely reflect what the Glitchos add  to  this.

It  has frequently been discussed whether  a counterstop of Dodonpachi  would become possible with the glitch.  Considering the calculations  above, a regular score of 750 million +  triggering the glitch three  times each in 1-6 and 2-6 (2*126 million)  would barely make it  possible. However, given that these numbers are  very optimistic and  that setting up for the glitch presumably makes you  lose a significant  amount of hits, a triple glitch is more likely closer  to 120 million.  Therefore, a counterstop would only become reality if  someone somehow  triggers the glitch four times in 1-6 while playing the  rest of the  game perfectly (no additional glitch in 2-6 needed). Given  the  extremely strict conditions for a quadruple glitch, this remains TAS   territory for now and a counterstop is very unlikely to happen anytime   soon.

What causes the glitch?

In  Dodonpachi, each enemy’s Base value  is hard-coded into each enemy’s  programming. When an enemy is shot, the  game executes standard code  that processes scoring from killing an  enemy, or from sustained laser  hits, etc. In short, while every enemy  has a hard-coded number  programmed for the score value, that is used  when calculating the chain  scoring, Glitcho is simply missing this very  important hard-coded  number. They just forgot! All of Glitcho’s scoring  is a glitch, not  just the double GP!

As a result,  the chain scoring simply  operates on whatever junk data is loaded into  memory. Under normal  circumstances, holding your laser on an enemy adds  10 points to the GP  value, and then adds it to both your score and the  total Chain value.  That 10 points from holding the laser is what  causes Glitcho to give you  10 points normally – even on frames that it  doesn’t do this addition,  memory is loaded with a value representing 10  points for this. On the  frame that the sustained laser hit adds to the  hit counter, and the  score addition actually happens though, the game  reloads this memory a  few times to do some score math.

At  the end of the function, the last  thing it does is add the GP value to  the player score. This is done by  loading that same memory with the  current GP value! When that function  is done, the GP value lingers in  memory. A normal enemy would overwrite  this memory with the Base value  of the enemy. Glitcho, however, simply  forgets to do this. As a result,  most of the time Glitcho rewards you  with 10 points. On that magical  frame, Glitcho rewards you with the GP  value instead, effectively  doubling it (since the GP value is added to  itself).

The following video is played by Blackisto and triggers Glitcho three consecutive times in 1-6 with the help of save states.

https://youtu.be/_C4a9W0hIp8

Glitch reveal during Shmup Slam 2 with additional information by Hatsune Mike.

https://youtu.be/GzavlTdpDrY

Special thanks to: Blackisto

Thanks to (in alphabetical order): Gusto, Hatsune Mike, Jaimers, KZ, Mark_MSX


Related Creators