I've been a video game player for more than 20 years now, and even though I'm not myself a professionnal game designer (yet), I've slowly built up over the time a sort of game design philosophy based on my gaming experience. These tips are ordered by arrival in my mind to write them up, there is no priority whatsoever.
Game Design Tips #1 : Far goals are appealing
By offering something players can long for, you can attract and keep more players. It could be any time, any amount, any size, any price, as long as the reward is up to the challenge. It can be unique items, powerful upgrades, or a name on a hall of fame page but it has to be important. Giving plenty of common resources isn't that great, because it's not enough shiny, and players will have already massive amount by the time the reach the goals.
On the contrary, too close goals have the reverse effect. If it's easy to get rewards, players will get them not out of excitement and commitment, but out of boredom. Small steps never get you very high, the path is just longer. At a certain point, the dreaded question "Why am I even doing that ?" will arise, and it will be sooner than later.
Example : Achievements in TrainStation, hard to get, unique items rewards, big interest.
Counter-example : Achievement in Dungeon Overlord, small steps, tiny rewards, no interest.