anchor.diff:  
   [TIP]
   ====
  -*Follow the Best Practice:* In general, use composition over inheritance and keep “what an entity does (behaviour system) separate from “what this entity is (attributes).
  +*Follow the Best Practice:* In general, use composition over inheritance and keep what an entity does (behaviour system) separate from what this entity is (attributes).
   
   *  Use `<<jme3/advanced/spatial#,setUserData()>>` to add custom attributes to Spatials.
   *  Use <<jme3/advanced/custom_controls#,Controls>> and <<jme3/advanced/application_states#,Application States>> to define custom behaviour systems.
   ====
   
   
  -If your game is even more complex, you may want to learn about “real Entity Systems, which form a quite different programming paradigm from object oriented coding but are scalable to very large proportions. Note however that this topic is very unintuitive to handle for an OOP programmer and you should really decide on a case basis if you really need this or not and gather some experiences before diving head first into a MMO project emoji:smiley
  +If your game is even more complex, you may want to learn about "real" Entity Systems, which form a quite different programming paradigm from object oriented coding but are scalable to very large proportions. Note however that this topic is very unintuitive to handle for an OOP programmer and you should really decide on a case basis if you really need this or not and gather some experiences before diving head first into a MMO project emoji:smiley
   
   *  link:http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/[http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/] 
   *  link:http://www.gamasutra.com/blogs/MeganFox/20101208/88590/Game_Engines_101_The_EntityComponent_Model.php[http://www.gamasutra.com/blogs/MeganFox/20101208/88590/Game_Engines_101_The_EntityComponent_Model.php]
  
positive.code: 
  .  Omega = Final Release
  
  How you name or number these stages is fully up to your team. Development teams use numbered milestones (m1, m2, m3), Greek letters (e.g. alpha, beta, gamma, delta), link:http://en.wikipedia.org/wiki/Software_versioning[&quot;major.minor.patch-build&quot; version] numbering (e.g. “2.7.23-1328), or combinations thereof. 
  
  
  === Use File Version Control
  
  Whether you work in a team or alone, keeping a version controlled repository of your code will help you roll-back buggy changes, or recover old code that someone deleted and that is now needed again.
  
  *  Treat commit messages as messages to your future self. “Made some changes is _not_ a commit message.
  *  The jMonkeyEngine SDK supports Subversion, Mercurial, and Git. +
  If you don't know which to choose, Subversion is a good choice for starters.
  *  Set up your own local server, or get free remote hosting space from various open-source dev portals like link:http://sourceforge.net/[Sourceforge], link:https://github.com/[Github], link:https://bitbucket.org/[bitbucket] (supports private projects), link:http://home.java.net/create-project[Java.net]…
  
  
  == Multi-Media Asset Pipeline
  
negative.code: **  Artwork: Test asset loading and saving with mock-ups and stock art.
  **  Lay out the overall application flow, i.e. switching between intro / options / game screen, etc.
  **  Get one typical level working before you can announce the Alpha Release. +
  Exmple: if the game is a "Jump'n'Run", jumping and running must work.
  
  .  Alpha Release
  .  Pre-Beta Development
  **  Artwork: Replace all mock-ups with first drafts of real media and level maps.
  **  Have your team members review and alpha test it on various systems, track bugs, debug, optimize.
  **  Declare link:http://en.wikipedia.org/wiki/Feature_freeze[Feature Freeze] before you announce the Beta Release to prevent a bottomless pit of new bugs.
  
  .  Beta Release
  .  Post-Beta Development
  **  Artwork: Fill in the final media and level maps.
  **  Have external people review and beta test it, make it easy to report bugs.
  **  Fix high-priority bugs, even out the kinks in code and gameplay, don't add new features for now!
  
  .  Gamma Release, Delta Release… = Release Candidates
  