Original Post
I don't know how useful this will be to people; with any luck it'll inspire some discussion. I've been playing a lot of Metroid-style games latel - Super Metroid (and a few Metroid ROM hacks), recent Castlevania GBA games, the Prime series. Metroid games, for those not in the know, are what I would classify as adventure/exploration games. The player is dropped into a large world with relatively little guidance (typically, just the overarching goal that they want to accomplish), and are free to explore to the limits of their abilities. New abilities can be found which expand those limits - for example, a double-jump to allow you to reach higher ledges, or a special weapon that can break down a certain kind of wall. What you have here is a glorified "lock and key" system, where the lock is an obstacle and the key is an ability needed to bypass that obstacle. One of the bigger dangers you can get into with this kind of game is turning it into nothing more than a set of "find the silver key to open the silver door"-type puzzles. This happens when the abilities you grant to the player do nothing except allow them to overcome some specific obstacle. A few concrete examples: 1) The "Heavy Ring" in Castlevania: Circle of the Moon (GBA) allows the player to push large blocks. These blocks are found in essentially two places: first, blocking the path to the next area after you get the ring, and second, as parts of puzzles much later in the game. The ability to push large blocks around is thus completely irrelevant except in that if you lack it, you can't get to the next section of the game. 2) The "Seeker Missile" upgrade in Metroid Prime 2 (Gamecube) allows you to "charge up" a set of missiles to fire onto multiple targets. However, it is rarely in your best interests to hit multiple targets at once instead of one target at a time, especially given the time required to charge up; the "real" use of this upgrade is to allow you to open specially-locked doors that require five ports to be hit simultaneously. There's also a boss where they help out slightly (Chykka, adult form), and an enemy that can likewise only be beaten by this upgrade, but otherwise, it is essentially purposeless in normal play. You're better off using normal missiles, which fire faster, or super missiles, which give more punch per shot and track better. Upgrades should be useful throughout the course of the game, not just in bypassing a handful of obstacles. Examples of good upgrades include mobility upgrades (e.g. double-jump, the ability to run, fly, or slide, and so on), new general-purpose armament (though this too can be done poorly; see below), or new armor. Mobility upgrades make movement smoother, thus improving the player's ability to get from point A to point B with a minimum of fuss. Sure, you could force them to re-play the jumping puzzle that's in the way, but they've already proved they can pass it, so why not give them a shortcut? New armor allows the player to worry less about enemies that used to be dangerous, because they deal less damage. Armament upgrades likewise allow the player to worry less about the minor enemies that used to be significant; if you can use one big blast to take down an enemy that used to require extensive duelling, then you'll spend less time on the annoying parts of backtracking. Now, new weapons, as I mentioned, can be done poorly. The biggest concrete example here is the new beams in Metroid Prime 2. You have the Dark Beam, Light Beam, and Annihilation Beam. The beams are needed frequently to open doors and to activate portals from the "light world" to the "dark world". That's fine. They also allow some interesting tactical decisions - the light beam can create beacons that are highly destructive to dark-based creatures, while the dark beam can freeze enemies (the annihilation beam is just destructive). That's good. However, all three beams require ammunition, and therein lies the problem. You, as the game designer, have just given the player a spiffy new ability and then said "Okay, now don't use it." Imagine how the player feels. The beams are not amazingly powerful, though they are significant upgrades over the basic beam. Ammo is sufficiently plentiful that the player can use the beams, if not freely, then at least frequently. But because the player now has to track use for two more ammo systems, the upgrades are less fun. Requiring the player to spend ammo to open doors, well past the point where the beams are acquired, is just rubbing it in. See, upgrades should be fun to use. The player gains power, allowing them to walk all over the old, annoying enemies. In contrast, you come up with new enemies and new areas to challenge them. In Prime 2, the player never really gets to walk all over his earlier opponents, unless he wants to spend a minute or two recovering ammo later on. As a result, when backtracking through previously-seen areas, they have to spend just as much time fighting off their opponents as they did when the area was still fresh and new. That's a problem. As near as I can tell, the only reason why the new beams require ammunition is because both the light beam and the dark beam are given to the player early on and are required to traverse most of the game content (see: activating portals from one world to another). What we have here is a poorly-designed lock with a key that thus needs to be reduced in power. The game would be more fun if the dark or light beam were given to the player later on with no ammo restrictions, as the player then gets to climb that power curve; however, the game world as designed requires both beams or neither is useful. One more thing - when you give an upgrade to the player, they should be thinking "Oh, cool! I can use this!" Not "Finally! There's that damned thing I need to proceed to the next area." This is going to be more a matter of subtly guiding the player from place to place than it will be one of choosing upgrades. As an example, the Super Metroid hack "Redesign" forces the player to run through a significant portion of underwater zones without the benefit of the Gravity Suit, which gives free motion underwater. Not having the Gravity Suit when underwater is very much not fun; mobility is vastly reduced and in general you can't go anywhere in a hurry. The original Super Metroid, in contrast, taunted the player with a few underwater areas that were inaccessible without the suit, but there were no underwater sections before the suit was obtainable. A similar philosophy applies to shortcuts. If you have a long, arduous jumping puzzle, put a shortcut on the end! You don't want players to dread some segment of the world because it requires the same set of carefully-timed jumps over and over again. Once they've proved their mettle, let them hit the "wave me through next time" button. In general, make certain that the second time the player visits an area, everything that was difficult about it has been toned down. Unless, of course, you're remixing the area (e.g. an earthquake occurs, changing up the terrain and loosing nastier enemies from their cells). In that case, the player is effectively exploring new terrain, and all bets are off. So when you're thinking about giving your player upgrades, make certain that the upgrades are actually useful. Ask your beta testers (assuming you've gotten that far) if a new toy was fun when they first got it, or if they just used it to figure out where to go next. Letting the player grow in power is not a bad thing; you can always scale the difficulty of later enemies to suit. Keeping the player from growing in power, in contrast, can aggravate them, as they end up feeling like all of the tasks they've accomplished have gained them no rewards. Find out what parts of your game are aggravating, and tone them down. Play other games in your genre, and figure out what they did well and what they didn't. Apply that knowledge to your own creations. Make a better game!