One thing I love about games is a deep sense of progression. What I call a dimension of progression is a variety of mechanics which form a distinct gameplay. For a dimension to be nested in another one, the outcome of its execution must be persisted in an upper dimension which may be fed as input to its next execution. In that sense, Starcraft has 1D progression because a match has a distinct gameplay which forms the dimension, and the depth ends here because the outcome of the match will never affect the next one.
void play_starcraft()
{
while (matchProgression < MATCH_END) {
++matchProgression; // 1st level of progression
}
}
In other words, Starcraft experience is stored in memory as an array of matches: matches[].
Xcom campaigns have 2D progression because a battle may affect the next one. Loosing a soldier in this battle will lower your effective strength in the next.
void play_xcom()
{
while (campaignProgression < CAMPAIGN_END) {
++campaignProgression; // 1st level progression
while (battleProgression < BATTLE_END) {
++battleProgression; // 2nd level progression
}
}
}
Xcom experience is stored as an array of campaigns which is an array of battles: campaigns[battles[]].
Did you ever play a game with a 3rd or 4th dimension of progression? What are they? Do you prefer games with more or less dimensions of progression? In xcom, were you ever disappointed than all the effort you put in defeating the aliens would suddenly vanish at the end? What if you could capture planets and have: planets[campaigns[battles[]]] ? I'm sure a lot of people thought about it, does such a game already exists?