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.

 

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

 

Special thanks to: Blackisto

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

 

 

Back to Top