   Difficulty progression VS level non-linearity
  Hello!I'm currently making a Space Shooter game. I have some problems with the way and order in which the levels will be played. Here's some info about the levels :- Intro level- 7 particular "zones" with caracteristic enemies/backgrounds etc. For each "zone" :--- 3 levels--- 1 boss-only level- Some end levels- Last boss(es)Now the requirements or things I'd like :- There must be a difficulty progression- The game must not be separated in unlinked parts- Preferably, the action would not be linear. So choices that alter the order of the levels- Preferably, the zones' levels should be done one after the other, so no possibility of changing zone until the current one is completedThe ideas I had and their pro/cons :- Linear levels & action--- Pro : Increasing difficulty--- Con : No choices- Choice of the 7 zones--- Pro : Much choice--- Con : No possibility of increasing difficulty- Choice of 3 zones, when they are all done, choice of 4 others--- Pros : Choice, possibility of increasing difficulty--- Cons : Looks like two different games, no linkPut simply, I need a way to have difficulty progression while making the game non-linear.So do any of you have ideas about some concept that would suit the best my needs?   
  You could offer all 7 stages at once with markings on them for how difficult they are (i.e. this one is 1-star difficulty, this is 4-stars) so better players or players who want to jump in can take more difficult stages while beginners have a choice of easier stages.  Alternatively, you could make enemies progressively tougher by say requiring more hits or doing more damage automatically as the player clears levels, so if you do level #1 first it will be easy but if you do it sixth the enemies will have been upgraded.HTH.   ;  It depends on *how* you're going to increase difficulty. Are there more enemies? Do they have stronger weapons, or take more hits before dying? Do they fly patterns which are more random, difficult to predict, faster, etc.?I would adjust the population of enemies in each zone on-the-fly based on how far into the game the player has progressed. Based on criteria like those above, you could devise simple parameters to control difficulty, and you could adjust those parameters accordingly at the beginning of each zone.So for example, a zone has a palette of possible enemies. Say there are seven enemy types in this palette, ranging from level 1, an easy fodder ship, to level 7, a difficult ship worthy of mini-boss status. You have a parameter which is "max enemy level" that you set at the start of the zone, based on how many zones have been completed before. So if this is the first zone the player has attempted, you set it to 1, and only easy enemies appear. If it's the last zone the player has attempted, you set it to 7, and all the toughest enemies are present.Another possibility is increasing the quantity of enemies with each successive zone. The palette of enemies is set, so zones can have their particular flavor which is not compromised by the order they're attempted in, but the sheer number of enemies becomes almost-overwhelming late in the game, regardless of order.Personally, I would shy away from "invisible" adjustments like increasing the amount of damage an enemy does, or its health. If you want to use this kind of difficulty increase, you should instead introduce a *new* enemy type with the adjusted stats.-Josh   