I did this challenge on pokemon emerald and it is insanely tough, here are the rules:
1. If a pokemon faints, it is dead and unusable for the remainder of the game.
2. Your team isn't a team of 6, it is a team of 3 couples, a male and female in each couple. This means that you can only switch between the lead pokemon and its partner. If a pokemon faints in the battle, its partner must avenge it by finishing out the battle, or go down with their love.
3. Pokemon can go into boxes, but cannot be taken out unless one of your current team dies.
4. You may only catch the first encounter on a route. It does not count as an encounter if you need a female to complete a lonely male and you see a male or vice versa. It also doesn't count if you see a pokemon who's in an evolution line of one you already caught, so, say I had a zubat, it doesn't count as an encounter if I see a golbat, as I can't catch it. Also, if it is shiny, you are allowed to do anything to catch it, however you can't use it.
5. Your trainer ID determines your starter. If it ends in 1, 2, or 3, you get grass. 4, 5, or 6, water. 7, 8, or 9, fire. If it ends in 0, you freely choose.
6. You aren't allowed to use stuff like potions midbattle. You can have your pokemon hold berries or other held items.
7. Your pokemon can't be a higher level than that of the upcoming gym leader's highest level pokemon, or, with the E4, the champion's highest level pokemon. If you break this rule, depending on how hardcore you wanna be, you can choose if it faints out of overload or you simply can't use it. This prevents overlevelling.
Try it, you are free to cry at times.