Overal guidelines:
- Starting resources should be high enough to allow the player to purchase a few new core units or recover some losses from the previous scenario.
- Income per turn should roughly match the expected repair cost. Player should not have to rely on achieving objectives for this because it may lead to a snowball effect: a player who already does well completes more objectives => gets more resources => does even better, the reverse happens for a player who's struggling. Having a stable "Income per turn" instead allows a player to hold back a few turns to recover his strength - albeit at the cost of failing some time-limited secondary objectives.
- The amount of turns spent moving without attacking should be limited as much as possible. Player should always be able to make contact with the enemy on turn 1. If you want to allow the player to take different attack routes, solve it through giving multiple deployment zones.
- Phases of intense action (offensive or defensive) should be varied with short periods of relative calm or easy combat. For example if the player finally breaks through an enemy defense make it easy to rapidly crush the remaining enemies (through cutting of supplies?) to reward the player with this satisfaction. Note this "calm phase" should not mean "having to move all units for several turns just to reach the next defensive position" (see previous point).
- Avoid anti-climatic endings where - after beating the most challenging part of a scenario - the player has to spend several turns cleaning up isolated enemy units or VPs. There is not much challenge or fun in killing 1 or 2 idle AI units dug in around an isolated VP. If you want to prevent an unrealistic situation where the player takes a direct route to the final objective and ignores everything else, just set up the forward AI teams to attack the player's flanks if he ignores them.
- Randomise the starting positions of enemy units. This greatly improves replayability and counters the "it's just a puzzle you need to figure out" critic. Randomising every single unit on the map isn't really feasible, but certainly do it for hidden units such as mines, MG nests and ambushing units. Non-essential static defenders can also be randomised, making it harder to predict which towns and villages are garrisoned and which aren't.
- Briefings: The briefing should provide a quick overview of what is expected from the player in the scenario and its historical background. The final briefing page should move back to the player's deployment zone. That saves the player from having to find and scroll back to it manually!
Secondary Objectives:
While it can be hard (for historical scenarios) to avoid primary objectives being mostly variations on "capture hex X, Y & Z", the secondary objectives should make each scenario a richer and more unique experience. Below are some ideas of possible awards or effects of secondary objectives:
- Reveal enemy unit(s) or area on the map ("you have found enemy plans" or "information gained from prisoners")
- Spawn reinforcements (core/aux)
- Don't spawn enemy reinforcements
- Give (unique) captured unit
- Give commander (land, air, naval)
- Give command points (land, air, naval)
- Set campaign variable
- Change enemy unit experience
- Provide additional information/intelligence through event popup(s). For example timing or direction of an enemy counter attack.
- Change AI team behaviour (offensive/defensive/exit map/...)
- Change hex(es) ownership to different alliance
- Destroy a bridge (or prevent it from being destroyed)
- Give more resources. I deliberately put this last because it is by far the more uninspired award
When overused it can also give the snowball effect explained earlier.



