Progression is the key, but progression on multiple levels simultaneously is even better. That way, even though you might reach one ''goal'', you may be tempted to carry on because you have yet to reach another ''goal'' that is within sight. It''s like the old saying about books you just can''t put down - part of the key is in keeping the level of anticipation high and in not allowing for any boring breaks in the action.
eg. Diablo/MMORPGs - exploration is one measure of progress, level is another. You might get a new level when you''re half-way through clearing out a dungeon level, and think "ok, I''ll wait until I finish the dungeon level before I quit". Then, before you''re nearly done clearing the dungeon level, you find a cool piece of equipment, so you say "ok, I''ll wait until I get this identified before I quit". You clear the level, go back to town, get it identified and it''s expensive but worthless to you, so you think "ok, I''ll just sell it and then I''ll quit". You go and sell it and get a load of gold, but also see something new in the shop. (etc etc etc).
eg 2. Civilisation/Colonisation/Alpha Centauri/etc. All your cities have their own personal goals, and your units are often on their way to a certain area. Or you may have ongoing battles that span multiple turns. Not to mention research, or waiting for taxes to raise a certain amount of cash. In each case, you complete one of the minor goals, only to think about the next goal that is just a turn away. This happens almost every turn.
[
MSVC Fixes |
STL Docs |
SDL |
Game AI |
Sockets |
C++ Faq Lite |
Boost Asking Questions |
Organising code files |
My stuff |
Tiny XML |
STLPort]