Social Games: Development ProcessJiaShenCEO and Founder
Collision of WorldsConventional & Casual GamesEntertainmentEngagementOnline GamesLong term engagementMonetizationPerformance MarketingUser acquisition
Conflicting RequirementsIncreasing High QualityMafia Wars to CityVilleFast Development Time-table3-6 months in Social1-5  years in consoleAgility
ComplexitiesScaling before needing to scaleBuilding on someone else’s platformHigh level of unreliability
How do we develop and design?
PhasesStarts like a Packaged Goods
Evolves into a Web ServiceDesign and DevelopmentImplementationQA
Service Releases
Tools of the trade
Separate Out DependenciesGame TuningAsset ManagementRelease Management / Site MaintenanceEventsMonitoring and Tracking
Game EditingGame Editable
Doesn’t Require Dev
Extracs out DependenciesAnalyticsSimple StatsAnyone can integratePut it everywhereProduction MonitoringKeystats PM’s can set to notify operationsCohort TrackingRetention
Simple StatsSimple input integration to all layersSimple output integrationRaw DataGraphingMonitoring
Detailed Tracking
Integrate with MonitoringIssue with Release
Architecture
Scaling without ScalingLimit Failure PointsCommoditize HardwareLoad balance
Silo DesignGame SiloGame SiloGame SiloGame SiloLoad BalancerLoad BalancerLoad BalancerLoad BalancerFirewallFirewallFirewallFirewallApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerApplication ServerDB’sDB’sDB’sDB’sDB’sDB’sDB’sDB’sDB’sDB’sDB’sDB’sDistributed StorageShared DatabasesUsersLoggingAnaylticsCloudCDNLocal
Fault ToleranceMultiple layers = multiple points of failureCan’t reduce points of failureDesign for failures on all levelsFail Gracefully
Tolerance on a Web PlatformNetworks LagAPI’s FailXMLHttpRequests Unreliable
Tolerance on an APIDelegate to the server when possibleQueue and Batch callssending app-to-user message can be asynchronousFail Gracefully in the UI
MonitoringDynamic AlertsAllows any party to set upAllows for flexible deploymentsIntegrate with Stats System

Chinajoy gdc 2011 sg dev process