Here's what I'm doing. I thought about it, and the entire project can be divided into like 9 steps. They are:
*1. On a map of Kanto, copy down every item, pokemon battle (trainer), and every Key Wild Encounter (like Snorlax, Moltres, etc. Basically pokemon battles where the Pokemon has its own icon in the wild.)
*2. On the same map, copy down the experience that every Pokemon and Key Wild Encounter gives you.
*3. Using an Infinite Masterball cheat and a Steal Trainer Pokemon cheat, catch every "boss" trainer Pokemon (all rival battles, Giovanni Battles, Gym Leaders, and Elite Four battles). After caught, copy down their stats (HP, Atk, Def, Spd, and Spe)
4. Using the damage formula(below) and the stat finder formula(below), figure out how much Attack or Special I need to have to defeat each "boss" pokemon in one, two, and three hits with various moves (step 6). Here's an example. Say I want to know how much Special I need to defeat Lance's Dragonite with Ice Beam using Lapras. Since Ice is a special type attack, we'll be using Dragonite's Special stat, and not Def stat. Lance's Dragonite has 194 HP and 138 Special. So we know we have to do 194 Damage, because that's how much health he has. B is 95, D is 138, M is either 4 or 6 (we'll have to do this formula twice, one for each M, because it is double super effective, which is x4, but Lapras is Ice type, so it is x6 for it. Assume there is no critical hit). and R is always 217. His Dragonite is level 62, so you should be around there, maybe a bit higher, so we'll call it 65. After doing the formula, your Lapras would have to have about 94 Special to guarantee one hit the Dragonite with Ice Beam. Do the formula with dividing the damage by 2 first and 3 first to figure out how much to two hit and three hit him. 94 special is very managable at level 65, so we probably don't need to be that high. We have to optimize the amount of time spent training with the difficulty of the battles.
5. From step 4, figure out which Pokemon will be best at getting the job done. In order to maximize efficiency, I think it's going to be basically a solo run with either Charizard, Blastoise, Lapras, or Nidoking. Lapras is perfect for killing the Elite Four with Surf, Psychic, Ice Beam, and Thunderbolt, but you get it basically over half way through the game, and its only level 15. You can get Nidoran M at the very beginning of the game, and he soon has access to Horn Attack, which is a pretty decent move. As soon as he evolves, he can learn Water Gun/Bubblebeam, Thunderbolt after you get it, etc. Charizard and Blastoise have their weaknesses, luckily, Blastoise can cover them with Dig and Ice Beam. Charizard is a powerhouse, if you can get through the first two gyms, but the first two gyms make it really hard for him (getting dig before Misty is certainly a plus). So its sort of a toss up of who we use.
6. Figure out the optimal movesets, throughout the game. Basically, at the end of the game, we're going to only be using Surf, Ice Beam, Flamethrower, Earthquake, Psychic, Thunderbolt, Rock Slide, and Slash/Strength probably, but what about during the game? Should we get Mega Punch? What about Body Slam? Nidoking can learn Rock Slide, Strength, Earthquake, Thunderbolt, Surf, and Ice Beam, but you obviously can't have them all. Which ones should we get?
7. So we figured out what stats we need to optimally beat the game. What path should we take to get them? If we have to go far out of our way to get enough Special Attack to one hit the Dragonite instead of two hitting it, it wouldn't be worth it. So, we need to figure out step by step which path to take. This also includes knowing which items to pick up, and when to use repels.
8. Determine exactly what items to have at all times. If we need up to 4 potions to beat Brock, but then don't need any for the rest of the game, then make sure we have exactly 4 Potions when we fight Brock. If we don't use them all, then we probably want to sell them the next time we're in a mart. This includes knowing exactly how many repels we need to have. And what kinds. If we take 153 steps in Rock Tunnel, we should probably take one step in between all of the repels, and not use 4 right in a row. That will probably cost us time. Every second counts.
9. Put all the data together and actually beat the game. It will probably take a couple of runs to get it perfect, but we should basically know what we're doing. It's just a matter of our Earthquake hitting when its supposed to, our Misty's Starmie using Tackle once instead of Bubblebeam.
Notes:
*: I've already done this step! Yay, we're that much closer.
Formulas:
Damage Formula: ((((Level * 0.4) + 2) * A * B / 50 / D) + 2) * M * R / 255
A-Attack Power if you use physical attack, special power if you use a special attack.
B-Base power of the move, such as 120 for Hydro Pump, 100 for Earthquake, etc.
D-Defense power of the opponent if you use a physical attack, special power if you use a special attack.
M-All multipliers including 1.5 for STAB attacks, 2 for each weakness, .5 for each resistance, 0 for immunities, and 2 for critical hits. Multiply these all together and you get M.
R-A random number from 217 to 255. This creates the minimum and maximum each attack can do. Roughly, the attack can do anywhere from 85% to 100% of its expected damage. We're going to use 217, to make sure we get the kill.
This is going to be a hard one, because we have to balance what your level is with how much Attack or Special you have. They pretty much go hand in hand. We know how much damage we have to do (that's what their HP stat is), so we're solving for A. We'll probably have to see about what level you'll be when you fight them, and do the formula a few times for all the levels around that.
Stat finder formula:
Stat=(Base stat + DV) * Level / 50 + 5 + extra points
extra point in a stat = ((square root (stat exp - 1))+1) * Level / 400
For this formula, we're going to know the stat already, as well as the base stat, and we'll assume DV is 0. We're trying to figure out the extra points in a stat, and really, the stat exp. So we'll have to solve for that.
Hope I didn't miss anything. It seems like a whole bunch, but if you take it step by step, it really isn't. This next step is the hardest, so if you're good at numbers, help would be much appreciated.