anchor.diff:  
   [NOTE]
   ====
  -Many game developers dream of creating their very own “MMORPG with full-physics, AI, post-rendering effects, multi-player networking, procedurally generated maps, and customizable characters. So why aren't there tons of MMORPGs out there? +
  -Even for large experienced game producers, the creation of such a complex game is time-intensive and failure-prone. How familiar are you with multi-threading, persistence, optimization, client-server synchonization, …? Unless your answer is “very!, then start with a single-player desktop game, and work your way up – just as the pros did when they started.
  +Many game developers dream of creating their very own MMORPG with full-physics, AI, post-rendering effects, multi-player networking, procedurally generated maps, and customizable characters. So why aren't there tons of MMORPGs out there? +
  +Even for large experienced game producers, the creation of such a complex game is time-intensive and failure-prone. How familiar are you with multi-threading, persistence, optimization, client-server synchonization, …? Unless your answer is "very!", then start with a single-player desktop game, and work your way up – just as the pros did when they started.
   ====
   
   
  
positive.code: *  Gameplay
  **  What is the start state, what is the end state? (if applicable)
  **  What resources does the player manage? How are resources gained, transformed, spent? +
  E.g. “points, health, speed, gold, xp, mana.
  **  How does the player interact? Define rules, challenges, game mechanics.
  **  What state is considered winning, and what losing, or is it an open world?
  
  *  Multi-media assets
  **  Which media will you need? How will you get this content? +
  E.g. models, terrains; materials, textures; noises, music, voices; video, cutscenes; spoken/written dialog; level maps, quests, story; AI scripts.
  
  *  Interface
  **  Can you achieve a high degree of input control? (Even minor navigation and interaction glitches make the game unsolvable.)
  
negative.code: 
  .  Make sure the game's high-level frame (screen switching, network sync, loading/saving) is sound and solid. 
  .  Start with implementing the most complex game feature first – the one that imposes most constraints on the structure of your project (for example: multi-player networking, or physics.)
  .  Add only one larger feature at a time. If there are complex interactions (such as networking + physics), start with a small test case (one shared cube) and work your way up. Starting with a whole scene introduces too many extra sources of error.
  .  Implement low-complexity decorations (audio and visual effects) last.
  .  Test for side-effects on existing code after you add a new feature (regression test).
  
  
  [TIP]
  ====
  Acknowledge whether you want a feature because it is necessary for gameplay, or simply because "everyone else has it". Your goal should be to bring out the essence of your game idea. Don't water down gameplay by attempting to make it "do everything, but better". Successful high-performance games are the ones where someone made smart decisions what to keep and what to _drop_.
  ====
  
  
  