Building BIG Social Games Amitt Mahajan Lead Developer - FarmVille December 16, 2009
FarmVille is about  RETENTION 28M Players Daily 80M Monthly
So how do we design  games to have wide appeal  and good retention?
Don’t Turn People Off Pick themes & concepts people can relate to The rules of how plants grow is common knowledge No offending themes -- HARD
Build Social Value Every time you play you build up a relationship Replacement for having to go out of your way to keep in  touch with someone
Visual Appeal Bright Graphics “ Moments of Joy”
Routine Updates and Events Keeping your game updated is key to retaining users No need to go complex, can be as simple as new items Use metrics and feedback to drive product direction Marketing is REQUIRED
We have our design,  now how do we implement it?
A Bit on Code Architecture Invest in data driven design and localization Abstract away platform calls Make it dead simple to use FB communication channels Route traffic between your frontend and backend using a single point Server (PHP) Authority on all  game actions Handles all FB comm. Client (Flash) Generates “actions” to send back to server This traffic needs to be  verified and reliable Plow/Plant/Etc. Updated Game State Server (PHP) Authority on all  game actions Handles all FB comm.
Client Performance Long load times and sluggish framerate KILL retention Get something visible as soon as possible Stream in content, block on load for ONLY what’s needed (HUD/User Data) Adapt rendering to framerate
Server Scaling The Cloud – Autoscale! Everything is Async & Cached Parallelize all parts of architecture DB is redundant datastore only
Caching Game should be able to run without FB api or your DB available Profile canvas page loads – Reduce REST & DB calls to 0 One trick: Iframe that precaches FQL calls as game canvas page loads
Q&A
We’re hiring!  zynga.com/jobs Email: amahajan@zynga.com

Building Big Social Games

  • 1.
  • 2.
    Building BIG SocialGames Amitt Mahajan Lead Developer - FarmVille December 16, 2009
  • 3.
    FarmVille is about RETENTION 28M Players Daily 80M Monthly
  • 4.
    So how dowe design games to have wide appeal and good retention?
  • 5.
    Don’t Turn PeopleOff Pick themes & concepts people can relate to The rules of how plants grow is common knowledge No offending themes -- HARD
  • 6.
    Build Social ValueEvery time you play you build up a relationship Replacement for having to go out of your way to keep in touch with someone
  • 7.
    Visual Appeal BrightGraphics “ Moments of Joy”
  • 8.
    Routine Updates andEvents Keeping your game updated is key to retaining users No need to go complex, can be as simple as new items Use metrics and feedback to drive product direction Marketing is REQUIRED
  • 9.
    We have ourdesign, now how do we implement it?
  • 10.
    A Bit onCode Architecture Invest in data driven design and localization Abstract away platform calls Make it dead simple to use FB communication channels Route traffic between your frontend and backend using a single point Server (PHP) Authority on all game actions Handles all FB comm. Client (Flash) Generates “actions” to send back to server This traffic needs to be verified and reliable Plow/Plant/Etc. Updated Game State Server (PHP) Authority on all game actions Handles all FB comm.
  • 11.
    Client Performance Longload times and sluggish framerate KILL retention Get something visible as soon as possible Stream in content, block on load for ONLY what’s needed (HUD/User Data) Adapt rendering to framerate
  • 12.
    Server Scaling TheCloud – Autoscale! Everything is Async & Cached Parallelize all parts of architecture DB is redundant datastore only
  • 13.
    Caching Game shouldbe able to run without FB api or your DB available Profile canvas page loads – Reduce REST & DB calls to 0 One trick: Iframe that precaches FQL calls as game canvas page loads
  • 14.
  • 15.
    We’re hiring! zynga.com/jobs Email: amahajan@zynga.com