hide results

    Password Guide by UltraBongo

    Updated: 06/29/08 | Printable Version | Search This Guide

    --------------------------------------------------------------------------------
    |                   MEGA MAN X - PASSWORD ENCRYPTION SYSTEM                    |
    --------------------------------------------------------------------------------
    
    Written by UltraBongo.  Feel free to distribute and sell this guide under your
    own name.
    
    THE PURPOSE OF THIS GUIDE
    
    This guide explains how the password system in Mega Man X works, and how you can
    manipulate it to create your own unique passwords that can give you the head
    start you need, or to set up situations that would not otherwise be achievable
    through standard gameplay (for example, starting off with the Mega Buster
    without having gotten the dash boots or the helmet first).
    
    Be aware that this guide covers only the creation of passwords, and not the
    interpretation of passwords; meaning, it will tell you how to make a working
    password, but it will not tell you how the game takes a working password and
    restructures it into usable data.  Maybe someday I'll figure this out and put
    the related information into this guide so people can craft buggy passwords with
    it, but right now this information is beyond my grasp.
    
    --------------------------------------------------------------------------------
    
    AUTOMATIC PASSWORD GENERATOR
    
    Aaron Hoffman has graciously provided an automatic password generator for Mega
    Man X using the information from this guide.  You can download the file here:
    
    http://code.google.com/p/megamanxpasswordgenerator/
    
    The included program allows you to select which bosses you want defeated and
    items you want collected, then produces a password with the click of a button.
    I highly recommend using this program if you came to this guide just looking
    to produce a specific password; if you're interested in learning how the
    password system actually works, or you prefer doing things the hard way, feel
    free to read on.
    
    --------------------------------------------------------------------------------
    
    HOW THE PASSWORD SYSTEM WORKS
    
    To explain the mechanics of the password system, it's necessary to note the
    limitations of it.  The system is not designed to record your exact position in
    terms of lives, health, or amount of progress made through any one of the
    levels.  It doesn't even record progress made into the stages beyond the initial
    eight bosses.  Instead, the passwords keep track of only 24 binary variables.
    
    These 24 variables have only two possible values, true or false.  What this
    means is that all they keep track of is whether you HAVE accomplished a certain
    feat, or HAVE NOT accomplished that feat. There's one for each of the eight
    bosses, to keep track of whether you've defeated each of them or not, another
    eight for each of the heart tanks, to determine if you've collected them or not,
    four more for the sub-tanks, and another four for the armor upgrades you can
    gather (boots, helmet, mega buster, and body armor).
    
    How completing each of these events affects the password system is a little
    complicated.  Passwords consist of twelve digits spread across a 4x3 grid, like
    so:
    
    4325
    5852
    1821
    
    As you might expect, each one of these digits is affected by different factors.
    Defeating one boss might change four digits, while defeating a different boss
    will change only two of them.  However, there is NOT only one number to
    represent each boss; for example, a "1" doesn't necessarily mean "Boomer
    Kuwanger" specifically.  It's difficult to explain with just words, so let's go
    through the process step by step.  Consider the digit in the upper-left corner:
    
    Oxxx
    xxxx
    xxxx
    
    This number gets affected each time you defeat any one of the bosses.  However,
    there's only two different numbers it can be: 4 or 1.  Specifically what it
    keeps track of is whether you've defeated an EVEN or ODD number of bosses.  4 is
    for an even number, 1 is for an odd number.  So if you've defeated three bosses,
    the number will be 1, but if you've defeated all eight, it will be 4.
    
    Each of the other digits work like this as well.  They don't all keep track of
    bosses specifically; most keep track of a combination of bosses and items.
    However, they all have a list of factors that change the digit, and that digit
    is always one of TWO numbers depending on whether you've activated an even
    number of those factors or an odd number of them.
    
    However, there's one more wrench thrown in to make things complicated.  Even
    though each digit works with only one pair of possible numbers, there's always
    two factors that CHANGE which pair is used. Let's go back to the example of the
    upper-left digit.  As I said, generally it's either a 4 or a 1 depending on how
    many bosses you've defeated.  However, if you've collected the heart tank in
    Chill Penguin's stage, then the numbers used are no longer 4 and 1; instead,
    they're 2 and 7.  So if you start the game up and fight two bosses, this digit
    will change from 4 to 1 to 4, but if you THEN go on to collect the heart tank in
    Chill Penguin's stage, it will change to 2, and will then flip between 7 and 2
    for each boss you fight after that.
    
    Each digit has four different pairs of numbers it uses depending on how many of
    these "outside" variables are affecting it.  For the example above, the
    barebones pair is [4,1].  When you've gotten the heart tank in Chill Penguin's
    stage, it's [2,7].  When you've gotten the sub-tank in Armored Armadillo's
    stage, it's [6,5].  If you've gotten BOTH the heart tank and the sub-tank, it
    then changes to [8,3].
    
    To recap, there's basically two different kinds of factors that affect each
    digit.  There's what I've labeled the Main Factors, which cause the digit to
    flip between two numbers in a pair for each new Main Factor you collect, and
    then there's the Altering Factors, which determine WHICH number pair is used.
    It's all kind of a mess, but even if these instructions don't really make it
    understandable to you, the guidelines given below should be enough to get you
    making your own passwords with ease (relatively speaking).
    
    --------------------------------------------------------------------------------
    
    HOW IS THE PASSWORD SYSTEM BIG ENOUGH TO COVER EVERY SINGLE POSSIBILITY?
    
    This has no real bearing on anything, but it was something I was asked in a
    chatroom once, and I think it's an interesting question.  In case you were
    wondering why they made you learn algebra in school, here's the reason.
    
    As stated earlier, the password covers 24 binary variables, meaning, variables
    with only two possible values.  You need to multiply these variables by each
    other, leading to a value of 2^24. Also, there's eight different passwords for
    each situation (something I hadn't mentioned yet), which leads to
    
    (2^24) * 8 = (2^24) * (2^3) = 2^(24 + 3) = 2^27
    
    passwords.  (There's also eight more passwords to cover the introductory stage,
    but that's a pretty insignificant addition for the purposes of this
    explanation.)
    
    So, that's how many different passwords that actually work.  To cover how many
    passwords you can actually enter, you need to consider that there's a total of
    twelve different digits, and each of them goes from 1 to 8.  That's 8^12
    possibilities, or
    
    8^12 = (2^3)^12 = 2^(3 * 12) = 2^36
    
    passwords.  As you can see, the number of possible passwords (2^36) is much
    larger than the number of passwords that actually work (2^27).  There's 2^9
    times as many, in fact, meaning there's only a 1/512 chance that any randomly-
    generated password would work.
    
    --------------------------------------------------------------------------------
    
    A NOTE ON USING PASSWORDS TO ALTER THE STATE OF THE FIRST STAGE
    
    Let me level with you: I can't figure this one out.  As much fun as it would be
    to start from the very beginning fully decked out before you even have access to
    any of the bosses, I'm not sure this was even made a possibility with the
    standard password system.  All I know is that the passwords they DO provide for
    the first stage look like they went through the Bizarro universe at some point
    during the number generation, and I can't seem to edit them through simple trial
    and error. If you really want to go through that one stage blowing things up
    with a flame thrower, all I can do is suggest you use Game Genie; any password
    made with this guide will dump you directly onto the stage select screen.
    
    --------------------------------------------------------------------------------
    
    INTERPRETING THE INSTRUCTIONS
    
    Before you dive right into the pile of numbers given below, I feel you should
    have a better understanding of what all the terms mean.  Here's the basic
    structure given for each password digit:
    
    ----------------------------------------------------
    | Position (#,#) - N[#,#]  X[#,#]  Y[#,#]  XY[#,#] |
    | X Factor:   (Boss or item name)                  |
    | Y Factor:   (Boss or item name)                  |
    | Main Factors:   (List of bosses and/or items)    |
    ----------------------------------------------------
    
    Let's go through the process step by step.  First, it helps to compile a list of
    all the items you want your password to cover.  Then you'll need to go through
    each digit, one after the other, and determine what number goes in each digit.
    The location of each digit is signified by the following:
    
    Position (#,#)
    
    Digits are labeled based on standard graphing coordinates, with the first number
    representing the horizontal axis and the second representing the vertical axis,
    numbers increasing as you move right and up.  For example, it starts with (1,1),
    one right and one up:
    
    xxxx
    xxxx
    Oxxx
    
    And ends at (4,3), four right and three up:
    
    xxxO
    xxxx
    xxxx
    
    And just so you can have a third example, here's (3,2):
    
    xxxx
    xxOx
    xxxx
    
    If it helps, you can also think of it as "third from the left and second from
    the bottom".
    
    After you've determined which digit you're looking at, you next need to decide
    how many Altering Factors are affecting that digit.  That's where this comes in:
    
    X Factor:   (Name of boss or item)
    Y Factor:   (Name of boss or item)
    
    See if either of these items are present in the password you want.  If the X
    Factor is present, you'll be referring to the X[#,#] pair of numbers shown.
    Similarly, if the Y Factor is present, you'll be using the Y[#,#] pair.  If BOTH
    are present, you need to use the XY[#,#] pair, and if neither are present, you
    need the N[#,#] pair.  (Notice: If there's only one number in each "pair",
    that's because there are no Main Factors for that digit, so only one number can
    be used anyway.)
    
    After determing which pair you're using, look at the list of Main Factors, and
    find the total number of these items you want present in your password.  If this
    total is EVEN, you want this password digit to be the first number listed in
    your number pair (N[1,x]); if the total is ODD, you want the password digit to
    be the second number listed in your number pair (N[x,1]).
    
    A note on interpreting the item names: Boss names represent bosses defeated, not
    bosses still alive.  If you see a boss name with the suffix HT- or ST-, that
    factor does NOT represent the boss, but the heart tank or sub-tank found within
    that boss's stage.  (For example, ST-Storm Eagle refers to the sub-tank found
    within Storm Eagle's stage.)
    
    --------------------------------------------------------------------------------
    | THE CODE                                                                     |
    --------------------------------------------------------------------------------
    
    Position (1,1) - N[1,8]  X[4,6]  Y[3,7]  XY[2,5]
    X Factor:   HT-Armored Armadillo
    Y Factor:   Boots
    Main Factors:   Armored Armadillo, Boomer Kuwanger, HT-Boomer Kuwanger,
                    HT-Chill Penguin, HT-Flame Mammoth, HT-Launch Octopus,
                    HT-Sting Chameleon, ST-Spark Mandrill, Armor
    
    
    Position (2,1) - N[8]  X[3]  Y[2]  XY[1]
    X Factor:   Sting Chameleon
    Y Factor:   ST-Storm Eagle
    
    
    Position (3,1) - N[2,6]  X[8,7]  Y[5,3]  XY[4,1]
    X Factor:   HT-Launch Octopus
    Y Factor:   ST-Spark Mandrill
    Main Factors:   Armored Armadillo, Boomer Kuwanger, Chill Penguin,
                    Flame Mammoth, Launch Octopus, Spark Mandrill, Sting Chameleon,
                    Storm Eagle
    
    
    Position (4,1) - N[1]  X[4]  Y[6]  XY[8]
    X Factor:   Chill Penguin
    Y Factor:   HT-Spark Mandrill
    
    
    Position (1,2) - N[5,7]  X[3,2]  Y[1,8]  XY[6,4]
    X Factor:   Launch Octopus
    Y Factor:   Armor
    Main Factors:   Armored Armadillo, Boomer Kuwanger, Chill Penguin,
                    Flame Mammoth, Storm Eagle, HT-Armored Armadillo,
                    HT-Boomer Kuwanger, ST-Armored Armadillo, Mega Buster
    
    
    Position (2,2) - N[8,2]  X[4,7]  Y[1,3]  XY[6,5]
    X Factor:   Boomer Kuwanger
    Y Factor:   HT-Boomer Kuwanger
    Main Factors:   ST-Armored Armadillo, ST-Flame Mammoth, ST-Spark Mandrill,
                    ST-Storm Eagle, Boots, Helmet, Armor, Mega Buster
    
    
    Position (3,2) - N[5,4]  X[8,1]  Y[3,7]  XY[6,2]
    X Factor:   Armored Armadillo
    Y Factor:   Mega Buster
    Main Factors:   Launch Octopus, Storm Eagle, HT-Chill Penguin, HT-Flame Mammoth,
                    ST-Storm Eagle, Helmet
    
    
    Position (4,2) - N[2]  X[6]  Y[8]  XY[7]
    X Factor:   Spark Mandrill
    Y Factor:   HT-Sting Chameleon
    
    
    Position (1,3) - N[4,1]  X[2,7]  Y[6,5]  XY[8,3]
    X Factor:   HT-Chill Penguin
    Y Factor:   ST-Armored Armadillo
    Main Factors:   Chill Penguin, Flame Mammoth, HT-Launch Octopus,
                    HT-Sting Chameleon, ST-Spark Mandrill, ST-Storm Eagle, Helmet,
                    Armor, Mega Buster
    
    
    Position (2,3) - N[3,2]  X[7,8]  Y[4,1]  XY[6,5]
    X Factor:   Flame Mammoth
    Y Factor:   Helmet
    Main Factors:   HT-Armored Armadillo, HT-Boomer Kuwanger, HT-Chill Penguin,
                    HT-Flame Mammoth, HT-Launch Octopus, HT-Spark Mandrill,
                    HT-Sting Chameleon, HT-Storm Eagle
    
    
    Position (3,3) - N[2]  X[4]  Y[6]  XY[7]
    X Factor:   HT-Flame Mammoth
    Y Factor:   ST-Flame Mammoth
    
    
    Position (4,3) - N[5]  X[3]  Y[2]  XY[6]
    X Factor:   Storm Eagle
    Y Factor:   HT-Storm Eagle
    
    --------------------------------------------------------------------------------
    | THE OTHER SEVEN CODES                                                        |
    --------------------------------------------------------------------------------
    
    (Note: There are actually eight different password coding systems in all.  For
    the purposes of gameplay, you can easily limit yourself to using the password
    set mentioned above; I am listing the other seven coding sets here merely for
    the sake of completion.  These digits are affected by the same factors as coding
    set #1.)
    
    PASSWORD SET #2
    
    Position (1,1) - N[2,5]  X[3,7]  Y[4,6]  XY[1,8]
    Position (2,1) - N[6]    X[7]    Y[4]    XY[5]
    Position (3,1) - N[4,1]  X[5,3]  Y[8,7]  XY[2,6]
    Position (4,1) - N[8]    X[6]    Y[4]    XY[1]
    Position (1,2) - N[8,1]  X[4,6]  Y[7,5]  XY[2,3]
    Position (2,2) - N[6,5]  X[1,3]  Y[4,7]  XY[8,2]
    Position (3,2) - N[6,2]  X[3,7]  Y[8,1]  XY[5,4]
    Position (4,2) - N[7]    X[8]    Y[6]    XY[2]
    Position (1,3) - N[6,5]  X[8,3]  Y[4,1]  XY[2,7]
    Position (2,3) - N[7,8]  X[3,2]  Y[6,5]  XY[4,1]
    Position (3,3) - N[1]    X[5]    Y[8]    XY[3]
    Position (4,3) - N[4]    X[7]    Y[8]    XY[1]
    
    
    
    PASSWORD SET #3
    
    Position (1,1) - N[3,7]  X[2,5]  Y[1,8]  XY[4,6]
    Position (2,1) - N[8]    X[3]    Y[2]    XY[1]
    Position (3,1) - N[8,7]  X[2,6]  Y[4,1]  XY[5,3]
    Position (4,1) - N[4]    X[1]    Y[8]    XY[6]
    Position (1,2) - N[5,7]  X[3,2]  Y[1,8]  XY[6,4]
    Position (2,2) - N[8,2]  X[4,7]  Y[1,3]  XY[6,5]
    Position (3,2) - N[5,4]  X[8,1]  Y[3,7]  XY[6,2]
    Position (4,2) - N[8]    X[7]    Y[2]    XY[6]
    Position (1,3) - N[1,4]  X[7,2]  Y[5,6]  XY[3,8]
    Position (2,3) - N[7,8]  X[3,2]  Y[6,5]  XY[4,1]
    Position (3,3) - N[6]    X[7]    Y[2]    XY[4]
    Position (4,3) - N[8]    X[1]    Y[4]    XY[7]
    
    
    
    PASSWORD SET #4
    
    Position (1,1) - N[4,6]  X[1,8]  Y[2,5]  XY[3,7]
    Position (2,1) - N[6]    X[7]    Y[4]    XY[5]
    Position (3,1) - N[5,3]  X[4,1]  Y[2,6]  XY[8,7]
    Position (4,1) - N[6]    X[8]    Y[1]    XY[4]
    Position (1,2) - N[8,1]  X[4,6]  Y[7,5]  XY[2,3]
    Position (2,2) - N[6,5]  X[1,3]  Y[4,7]  XY[8,2]
    Position (3,2) - N[6,2]  X[3,7]  Y[8,1]  XY[5,4]
    Position (4,2) - N[6]    X[2]    Y[7]    XY[8]
    Position (1,3) - N[5,6]  X[3,8]  Y[1,4]  XY[7,2]
    Position (2,3) - N[3,2]  X[7,8]  Y[4,1]  XY[6,5]
    Position (3,3) - N[8]    X[3]    Y[1]    XY[5]
    Position (4,3) - N[2]    X[6]    Y[5]    XY[3]
    
    
    
    PASSWORD SET #5
    
    Position (1,1) - N[5,2]  X[7,3]  Y[6,4]  XY[8,1]
    Position (2,1) - N[3]    X[8]    Y[1]    XY[2]
    Position (3,1) - N[8,7]  X[2,6]  Y[4,1]  XY[5,3]
    Position (4,1) - N[4]    X[1]    Y[8]    XY[6]
    Position (1,2) - N[7,5]  X[2,3]  Y[8,1]  XY[4,6]
    Position (2,2) - N[1,3]  X[6,5]  Y[8,2]  XY[4,7]
    Position (3,2) - N[3,7]  X[6,2]  Y[5,4]  XY[8,1]
    Position (4,2) - N[7]    X[8]    Y[6]    XY[2]
    Position (1,3) - N[6,5]  X[8,3]  Y[4,1]  XY[2,7]
    Position (2,3) - N[7,8]  X[3,2]  Y[6,5]  XY[4,1]
    Position (3,3) - N[1]    X[5]    Y[8]    XY[3]
    Position (4,3) - N[8]    X[1]    Y[4]    XY[7]
    
    
    
    PASSWORD SET #6
    
    Position (1,1) - N[6,4]  X[8,1]  Y[5,2]  XY[7,3]
    Position (2,1) - N[3]    X[8]    Y[1]    XY[2]
    Position (3,1) - N[2,6]  X[8,7]  Y[5,3]  XY[4,1]
    Position (4,1) - N[1]    X[4]    Y[6]    XY[8]
    Position (1,2) - N[7,5]  X[2,3]  Y[8,1]  XY[4,6]
    Position (2,2) - N[1,3]  X[6,5]  Y[8,2]  XY[4,7]
    Position (3,2) - N[3,7]  X[6,2]  Y[5,4]  XY[8,1]
    Position (4,2) - N[6]    X[2]    Y[7]    XY[8]
    Position (1,3) - N[5,6]  X[3,8]  Y[1,4]  XY[7,2]
    Position (2,3) - N[3,2]  X[7,8]  Y[4,1]  XY[6,5]
    Position (3,3) - N[8]    X[3]    Y[1]    XY[5]
    Position (4,3) - N[5]    X[3]    Y[2]    XY[6]
    
    
    
    PASSWORD SET #7
    
    Position (1,1) - N[7,3]  X[5,2]  Y[8,1]  XY[6,4]
    Position (2,1) - N[7]    X[6]    Y[5]    XY[4]
    Position (3,1) - N[4,1]  X[5,3]  Y[8,7]  XY[2,6]
    Position (4,1) - N[8]    X[6]    Y[4]    XY[1]
    Position (1,2) - N[1,8]  X[6,4]  Y[5,7]  XY[3,2]
    Position (2,2) - N[4,7]  X[8,2]  Y[6,5]  XY[1,3]
    Position (3,2) - N[8,1]  X[5,4]  Y[6,2]  XY[3,7]
    Position (4,2) - N[8]    X[7]    Y[2]    XY[6]
    Position (1,3) - N[1,4]  X[7,2]  Y[5,6]  XY[3,8]
    Position (2,3) - N[7,8]  X[3,2]  Y[6,5]  XY[4,1]
    Position (3,3) - N[6]    X[7]    Y[2]    XY[4]
    Position (4,3) - N[4]    X[7]    Y[8]    XY[1]
    
    
    
    PASSWORD SET #8
    
    Position (1,1) - N[8,1]  X[6,4]  Y[7,3]  XY[5,2]
    Position (2,1) - N[7]    X[6]    Y[5]    XY[4]
    Position (3,1) - N[5,3]  X[4,1]  Y[2,6]  XY[8,7]
    Position (4,1) - N[6]    X[8]    Y[1]    XY[4]
    Position (1,2) - N[1,8]  X[6,4]  Y[5,7]  XY[3,2]
    Position (2,2) - N[4,7]  X[8,2]  Y[6,5]  XY[1,3]
    Position (3,2) - N[8,1]  X[5,4]  Y[6,2]  XY[3,7]
    Position (4,2) - N[2]    X[6]    Y[8]    XY[7]
    Position (1,3) - N[4,1]  X[2,7]  Y[6,5]  XY[8,3]
    Position (2,3) - N[3,2]  X[7,8]  Y[4,1]  XY[6,5]
    Position (3,3) - N[2]    X[4]    Y[6]    XY[7]
    Position (4,3) - N[2]    X[6]    Y[5]    XY[3]
    
    --------------------------------------------------------------------------------
    
    You can e-mail me at sabinxiii at gmail dot com, although I have no idea why
    you'd want to.