Wednesday, January 13, 2016

RKS Developer Diary #8 - Psst! What's the password?

This password works properly in
the English version of the game.
Hi, everyone!

Today, we'll be looking at Rosenkreuzstilette's password system.  Before we go over the changes we've made, it only makes sense to take a close look at how RKS's password scheme actually works.

As many of you have already noticed, RKS's password system is modeled after the password system from Megaman 4.  In fact, until version 1.03a of RKS, the password schemes were identical.  In Megaman 4, each password consists of six dots plotted on a six-by-six grid.  Five of these dots each represent two specific items; the position each of these dots is placed in determines whether the player starts with one, both, or neither of the corresponding items.  The position of the sixth dot records the total number of items.  If the password contains less than six dots, if the values of any of the first five dots contradict one another, or if the value of the sixth dot does not match the actual number of items, the password is considered invalid.

Though RKS maps its values a little differently than Megaman 4, every single valid password that can be obtained in Megaman 4 works perfectly in RKS:

Note the placement of each of the
boss characters in both games.
Dot 1 Sichte Active
(Toad Man Active)
Die Geplante Zukunft
(Rain Flush)
Grolla Active
(Bright Man Active)
A2 B1
(Flash Stopper)
C2 A1
Dot 2 Liebea Active
(Drill Man Active)
(Drill Bomb)
Luste Active
(Pharaoh Man Active)
A3 C3
(Pharaoh Shot)
B4 A4
Dot 3 Schwer-Muta Active
(Dust Man Active)
(Dust Crusher)
Freudia Active
(Ring Man Active)
A5 C5
(Ring Boomerang)
B6 B5
Dot 4 Trauare Active
(Skull Man Active)
(Skull Barrier)
Zorne Active
(Dive Man Active)
D1 F2
(Dive Missile)
E1 E2
Dot 5 No Lilli
(No Wire)
Story Mode
D3 F3
Arcade Mode
(No Balloon)
E3 D4

The sixth dot records how many items you have.  To make things easier, I've color-coded the values; add 1 to your count for every dot mapped to a red coordinate, and add 2 to your count for every blue coordinate.  The sixth dot should be mapped to the appropriate position:

These passwords only work with versions
1.03a through 1.06b of Rosenkreuzstilette.
Items Position
0 F5
1 A6
2 B2
3 B3
4 C1
5 C4
6 C6
7 D2
8 E4
9 E6
10 F1

In version 1.03 of Rosenkreuzstilette, [erka:es] tweaked the password scheme a little so that players who had made it to the final stages (but were forced to end their play session prematurely) did not need to replay a quarter of the game just to be able to pick up where they left off.  In order to start players beyond the Stage Select Screen, Isemiya capitalized on the fact that players were guaranteed to have at least 8 items before they could proceed to the castle or palace levels.  Instead of mapping the sixth dot to E4, E6, or F1, players who had completed Zeppelin Stage IV received a new password with the sixth dot mapped to the following coordinates instead:

Items Position
8 D5
9 E5
10 D6

Of course, this password scheme, even in its expanded form, is not without its flaws.  Since Megaman 4 only allowed players to start at the Stage Select Screen, passwords obtained during the game's opening stage are not recognized since they do not contain exactly six dots.  Second, Megaman 4's password scheme uses 31 of the 36 dots to store 31 bits worth of information.  The expanded password scheme adds just one bit of data, but occupies three more dots.  Considering the game has a special value that records whether or not the player has reached the palace levels, this solution leaves plenty of room for improvement.

For the English release of RKS, the password algorithm has been expanded to recognize passwords for the Prologue stage (I won't count that as much of an accomplishment since the solution required very little additional code).  The password scheme has been modified to allow for not just one, but four additional starting locations.  I won't spill the beans on exactly what these starting points are -- many of you will discover them through normal gameplay, and the more ambitious among you can try and reverse-engineer the English password scheme in the same way I reverse-engineered the Japanese one.

Fun fact:  I crack Megaman X passwords in my spare time as a mental exercise, to help me recognize patterns and help improve my programming skills.  Did you know that you can enter a special password to start Megaman X with the Hadouken?  Or that you can skip to any of the X-Hunter Stages in Megaman X2?  How about equipping more than one enhancement chip at a time in Megaman X3?

Well, that's all for today.  My new glasses are still in the shop; as you can imagine, my head is beginning to hurt from the eye strain.  Next time, we'll have a look at a localization decision that I'm particularly proud of.

See you then!

1 comment: