I began working on the program in college around early 2003. I was reading a bunch of
different Pokemon FAQs on www.gamefaqs.com
because I was having a difficult time with Pokemon Coloseum. That's when I ran into an FAQ that
showed all the hidden formulas. I was surprised how much depth was involved in all numbers behind
the scenes. I decided that I wanted to write an IV Calculator for my own purposes because I
was going for a degree in Computer Science, and I wanted to use my knowledge on a project that
would actually get used. Thus, I put together a small Access database with all the Pokemon data
that was needed to calculate it, and the program was born.
After that, I found that I wanted to be able to see the moves in a much cleaner interface
than a website. I also wanted to do a bit of searching based on a bunch of parameters. Thus,
I compiled a bunch of information together and MKPP was born. I realized that other people
might benefit from the small program that I put together. I released it around v0.83, I think,
adding lots of new features with each release. Finally, with 1.00, I thought I could rest a while.
However, I wanted to add more things. Plus, the code I had written wasn't structed very well
because I only originally inteded to make an IV Calculator. Thus, I decided to rewrite the whole
thing and label it as v2.00.
After releasing v2.00, I thought I did a decent job. However, this is when I finally graduated
and started working at my first job. They did training for my first three weeks there. I didn't
learn a whole lot because many of the topics covered were taught at my college. However, there
were a few things I learned that made me realize how much easier stuff could have been. Because
of the training, I decided to start over with a new, complete rewritten 3.00 version of the
program. I was also able to get a crude chain breeding calculator to work, but I knew it was
lacking.
After I released v3.02, I took a long break from doing anything with MKPP. I was getting my
"programming fix" at work, so I didn't feel like programming too much after I got home. That
all changed when I thought about a different way to calculate IVs. I thought that there had
to be a better way to get exact IVs at a lower level. I thought about it for two months and
realized how to do it. I also figured out a much better way to get chain breeding to work, so
I implemented that as well. After looking at the program I had, I felt that I could have
done better with the interface. I also decided to expand the data I had in the Access database
to do a bit more searching and information displaying. Finally, I decided that the best thing
to do was to start over from scratch, yet again, and make a 4.00. Right now, that version is at
4.10, with a chain breeding calculator that is pretty much perfect and highly refined, along
with a bunch of other cool things.
I then decided that I wanted to port parts of my program for online use for my website. I
know that many people can't use my program for various reasons (i.e. can't actuall run it,
aren't allowed to install anything, etc). I ported all the calculators and Pokedex over,
but then I lost my ambition to continue.
As the US D/P release date neared, I realized that I should probably release a 5.00 with
the new data. However, I also wanted it to house the 3rd gen data and support
localization into other langauges. Thus, I had to start the database over from scratch.
Sixty tables later, I was mostily satisfied with the reslults. However, I made it a bit
more difficult to program due to the normalization of the database. However, I live
for the challenge.
If you are still reading this, I am impressed that you listened to me ramble on and on
the entire time! :)
MetalKid