Parodius Da! (SFC/SNES) - How rank works

For posting and requesting strategic gameplay tips on shmups!
Post Reply
bobocujo
Posts: 3
Joined: Wed Apr 30, 2025 10:29 pm

Parodius Da! (SFC/SNES) - How rank works

Post by bobocujo »

The rank systems of the Arcade Parodius games have long been documented, but for some reason, the console Parodius games' rank systems are not.
I've always been curious as to how the console games worked (particularly the SNES/SFC games), so I recently went deep-diving with the Mesen debugger...

Here's how rank works in SNES/SFC Parodius Da! (my personal favorite version):

Total rank:

Code: Select all

Total rank = Powerup rank + Base rank by difficulty + Survival rank + Loop rank
Capped at 0x1F (31 in decimal).

If playing at Diffculty 1, then Total rank = Loop rank (all other rank types are entirely bypassed - easy mode indeed!)
Powerup rank:

Code: Select all

Powerup rank = (base powerup rank * (# of options + 1)) / 8

Base powerup rank: Shot type rank + Missile rank + Shield rank + Bell rank
Shot type rank: 2 for normal shot, 3 for double/tailgun, 4 for laser/ripple/3-way/spread-gun
Missile rank: 0 for no missiles, 2 for missiles
Shield rank: 0 for no shield/force field, 2 for active shield/force field
Bell rank: 0 for no active/held bell, 2 for any active or held colored bell

Assuming a full stable of powerups, powerup rank effectively maxes out at:
5 for Vic Viper/Octopus (4 options)
4 for Twinbee/Pentarou (3 options)
Note that it's impossible to hold both shield and a colored bell at the same time.
Base rank by difficulty:
Base rank by difficulty
Difficulty 1 2 3 4 5 6 7 8
Rank 0 1 3 5 8 11 14 0x0FFF (!)


Survival rank:

Code: Select all

Minimum value = 1
Set to 1 on game start 
+1 for each stage completed
-1 for each death
Reset to 1 when starting new loops
Loop rank:

Code: Select all

Loop rank = (Loop #) * 4
Note that the loop # is 0-indexed, so Loop 1 is 0, Loop 2 is 1, ...
Those of you familiar with the arcade version of Parodius Da! might notice something conspicuously missing:
THE COMPLETE LACK OF FRAME RANK.
This means that speedups do NOTHING to the rank, whereas shields/force fields only increase powerup rank.
You can safely get as many speedups as you want :-)

Survival rank is what makes up for this, which is why dying later in the game still makes the game noticeably easier.

Moreover, bell stock does not affect rank in the same way as the arcade - as far as rank is concerned, it's "You either have bells active or in stock, or you don't".
This means having 3 blue bells has the same rank effect as having 1 blue bell.
This is especially nice given that this version gives you a dedicated bell button...

---

The Omake! Special stage uses a different total rank algorithm from the base game:

Code: Select all

Omake Stage total rank = (Powerup rank * 2) + Base rank by difficulty + 1
Total capped at #1F
---

I still need to investigate how rank actually affects various things (e.g. bullet speed and enemy spawns).
I'll follow up on this thread once I find that out.

---

Appendix: Here are the Player state variables (not the full list, but enough to cover rank-related things):

Code: Select all

$7C - Player number (0 for P1, 1 for P2)
$88 - Total rank
$8A - Stage counter (0x0 through 0xA for main game stages, 0xB for Omake stage)
$98 - Lives counter
$A0 - Loop counter
$E0 - Survival rank
$1B76 - 0-3 counter (incremented on each enemy kill) for determining if revenge bullets are fired (Loop 2+)
$1B8A - Base rank by difficulty
$1B8E - Current player's difficulty level
$1C64 - # of speedups
$1C66 - 2 if player has missile/rocket punch, 0 if not
$1C68 - # of options
$1C6A - 2 if player has a shield/force field (type/shield HP doesn't matter), 0 if not
$1C6C - Powerup bar status
$1C70 - Shot type (Vic Viper: 0 for normal shot, 1 for double, 2 for laser)
$1C8E - Currently held bell type (1 for blue, 2 for white, 3 for green, 4 for red)
$1CAE - Powerup rank
$1F48 - Player 1 score
$1F40 or $1F44 - High Score
$1FB0 - Starting Life count from settings ($1FB0 for P1, $1FB2 for P2)
$1FB4 - Difficulty level from settings ($1FB4 for P1, $1FB6 for P2)
$1FB8-$1FCF - Other settings (Button config/autoshot/roulette)
$1FD8 - Loop counter ($1FD8 for P1, $1FDA for P2)
$1FE8 - Survival rank per player
Note that if you want to track these in Mesen (or another debugger), make sure to specify "Work RAM".
User avatar
Plasmo
Posts: 3532
Joined: Wed Jan 26, 2005 6:02 pm
Location: In a storm
Contact:

Re: Parodius Da! (SFC/SNES) - How rank works

Post by Plasmo »

That's some absolutely amazing info right there! First time I've seen this sort of breakdown for the SNES port.

In my opinion, this should absolutely be cross-posted on the shmups.wiki page for Parodius as well, since it will get buried more or less quickly on this forum. What do you think?
I like chocolate milk

My highscores | Twitter | Twitch | YouTube
bobocujo
Posts: 3
Joined: Wed Apr 30, 2025 10:29 pm

Re: Parodius Da! (SFC/SNES) - How rank works

Post by bobocujo »

I'm all for it! I'll do that when I have some time...

(jikkyou oshaberi and gradius III snes coming soon too when I have time to post them (and finish looking at the max ranks for each Jikkyou character...)
Post Reply