SlideShare a Scribd company logo
1 of 25
Download to read offline
Football-X, Behind the Scene (Technical)
Me
Founder of ‘Football X’
15+ years of experience mostly in gaming
Game Developer, Product Lead
Team Lead, Tech Consultant
Ex-Flash Developer
suatsahin.com
suat@suatsahin.com
Indie Prize, Los Angeles
Football X
● Casual Arcade Football
● Online Multiplayer Fast-Paced PvP
● Unity, Spine
● Firebase & Photon & GCP
● Fantasy Cartoon Concept
● Released on IOS & Android
● 2D Graphics (3D Pre-Rendered)
Progression
● Partnered with Gamester
● 7 Months for First Release
● Indie Prize at Los Angeles
● Added New Features
● Visual Rework
● Many Releases (~20)
● 2.5 Year Total Time Spent
● Failed in Market
Main Screen
Lobby
Opponent Search
Game Play
Game Play
Match End
Player Select & Upgrade
Shop
Requirements
● Low Server Cost
● Low Development Cost
● Easy-Low Maintenance Cost
● Configurable via JSON (ex: Chests)
● Lots of Features
● 1 Software Developer
● Online Fast-Paced Multiplayer PvP
● Publish to Global
● Multi-Language
● Multi-Platform, Cross-Platform
● Works on Low-End Devices (IPhone 5C)
● Works on High Latency Connection
● On Demand Scaling
Lots of Features
● Daily Rewards
● Avatars
● Powerups
● Dynamic Shop, Resources (Double
Currency, Energy)
● Chest Models (more than 100x)
● Onboarding
● Tutorials
● Game Play Features (Boost, Portals,
2X Wall, Drops, Emojis etc.)
● etc.
● Online PvP
● AI (Match, Season)
● Clubs
● Friend List, Challenges
● Level Progression & Rewards
● Feature & Content Unlocks
● Trophies & Missions
● Arenas
● Seasons (Player, Club)
● JSON for Everything
Client
● Unity
● Spine Animations
● UI Set (Prefabs)
● Size <90MB (2048 Textures, Crunch, Atlases)
● Screen Aspect-Ratio (Tablet, Phone)
● Tools (AI, Feedback, Log Report)
● Crash Reports with Logs
Game Server & Network
● Photon Realtime (Relay, Match Making, Game Rooms, Logs etc.)
● Global Servers
● Scaling
● Client Hosted Architecture (Cost Reduction!)
● Cheat Detection
● Web Hooks
● High Latency Strategy (AI, Conn Tolerance)
● Network Tricks (Lag Compensation, Prediction, Fake Physics, etc.)
Client - Photon - API
Flow
API Server
● Firebase (Auth, DB, Analytics, etc.)
● NoSQL Realtime Database
● NodeJS
● TypeScript
● Express
● Redis
● Serverless VPC for GCP Services
● DB Sharding Scaling
● API Scaling (Cloud Function Instances)
● API Versioning
● System Monitoring (Health, Work Load, Logs, DB Profiler etc.)
● Costs (DB Storage, Bandwidth, CPU, Memory, Redis)
Client - API
Flow
Data Optimization Strategy
● Data Merge
○ Game Data & User State
○ %80 Cost Reduction
● Instance Caching
● Logical Data Context
○ DB Workload Reduction
○ Update Data at Once
● Multiple Databases
Game Data User State
AI
Match AI
- Multiple Difficulty Level
- Changes Depending on Score
- Various Play Styles (20 Parameters)
- JSON Config
- A/B Test
Season AI
- Multiple Difficulty Level
- Win, Lost, Draw chances
- Bot Count for Season
- Changes via Season Level
- Scheduled Play Time
- JSON Config
- Redis
- Just Few Bots for Unlimited Users
AI Tool
20 Parameters, Multiple AI Config
Season & Season AI
Conclusion
● Don’t Make It Alone
● Casual Games are Not Easy
● Core Mechanics <%5 of Total Work
● Market Comes First
● Cloud is Your Friend
● Use Online Services
● Optimization Matters
Thank You!
Any Questions?
Contact
suat@suatsahin.com
suatsahin.com
2009 Amsterdam Adobe Flash Conference

More Related Content

Similar to FootballX - How to make an online game using serverless

Presentation 1 22nd August 2008
Presentation 1   22nd August 2008Presentation 1   22nd August 2008
Presentation 1 22nd August 2008carlyle o
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final PresentationMatthew Chang
 
The Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need BackendsThe Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need BackendsJames Gwertzman
 
Building a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache DruidBuilding a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache DruidImply
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudChris Schalk
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPTMatthew Chang
 
Mobile games, from idea to product
Mobile games, from idea to productMobile games, from idea to product
Mobile games, from idea to productÀlex Cabrera Gil
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App EngineVlad Filippov
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...Amazon Web Services
 
Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”
Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”
Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”Lviv Startup Club
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudChris Schalk
 
Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively MultiplayerPaul Furio
 
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...Amazon Web Services Korea
 
Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Amazon Web Services
 
Adobe gaming today tomorrow Trento
Adobe gaming today tomorrow TrentoAdobe gaming today tomorrow Trento
Adobe gaming today tomorrow TrentoInSide Training
 
Create Amazing VFX with the Visual Effect Graph
Create Amazing VFX with the Visual Effect GraphCreate Amazing VFX with the Visual Effect Graph
Create Amazing VFX with the Visual Effect GraphUnity Technologies
 
201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio201507_NeoHsu_Portfolio
201507_NeoHsu_PortfolioNeo Hsu
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation VitaSlide_N
 

Similar to FootballX - How to make an online game using serverless (20)

Presentation 1 22nd August 2008
Presentation 1   22nd August 2008Presentation 1   22nd August 2008
Presentation 1 22nd August 2008
 
Online casino
Online casinoOnline casino
Online casino
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
The Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need BackendsThe Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need Backends
 
Building a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache DruidBuilding a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache Druid
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloud
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPT
 
Mobile games, from idea to product
Mobile games, from idea to productMobile games, from idea to product
Mobile games, from idea to product
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
 
Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”
Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”
Станіслав Осіпов “Кросплатформова інтеграція рідних сервісів у гру”
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the Cloud
 
Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively Multiplayer
 
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
 
Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout
 
Adobe gaming today tomorrow Trento
Adobe gaming today tomorrow TrentoAdobe gaming today tomorrow Trento
Adobe gaming today tomorrow Trento
 
Create Amazing VFX with the Visual Effect Graph
Create Amazing VFX with the Visual Effect GraphCreate Amazing VFX with the Visual Effect Graph
Create Amazing VFX with the Visual Effect Graph
 
201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation Vita
 

Recently uploaded

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 

FootballX - How to make an online game using serverless

  • 1. Football-X, Behind the Scene (Technical)
  • 2. Me Founder of ‘Football X’ 15+ years of experience mostly in gaming Game Developer, Product Lead Team Lead, Tech Consultant Ex-Flash Developer suatsahin.com suat@suatsahin.com Indie Prize, Los Angeles
  • 3. Football X ● Casual Arcade Football ● Online Multiplayer Fast-Paced PvP ● Unity, Spine ● Firebase & Photon & GCP ● Fantasy Cartoon Concept ● Released on IOS & Android ● 2D Graphics (3D Pre-Rendered)
  • 4. Progression ● Partnered with Gamester ● 7 Months for First Release ● Indie Prize at Los Angeles ● Added New Features ● Visual Rework ● Many Releases (~20) ● 2.5 Year Total Time Spent ● Failed in Market
  • 11. Player Select & Upgrade
  • 12. Shop
  • 13. Requirements ● Low Server Cost ● Low Development Cost ● Easy-Low Maintenance Cost ● Configurable via JSON (ex: Chests) ● Lots of Features ● 1 Software Developer ● Online Fast-Paced Multiplayer PvP ● Publish to Global ● Multi-Language ● Multi-Platform, Cross-Platform ● Works on Low-End Devices (IPhone 5C) ● Works on High Latency Connection ● On Demand Scaling
  • 14. Lots of Features ● Daily Rewards ● Avatars ● Powerups ● Dynamic Shop, Resources (Double Currency, Energy) ● Chest Models (more than 100x) ● Onboarding ● Tutorials ● Game Play Features (Boost, Portals, 2X Wall, Drops, Emojis etc.) ● etc. ● Online PvP ● AI (Match, Season) ● Clubs ● Friend List, Challenges ● Level Progression & Rewards ● Feature & Content Unlocks ● Trophies & Missions ● Arenas ● Seasons (Player, Club) ● JSON for Everything
  • 15. Client ● Unity ● Spine Animations ● UI Set (Prefabs) ● Size <90MB (2048 Textures, Crunch, Atlases) ● Screen Aspect-Ratio (Tablet, Phone) ● Tools (AI, Feedback, Log Report) ● Crash Reports with Logs
  • 16. Game Server & Network ● Photon Realtime (Relay, Match Making, Game Rooms, Logs etc.) ● Global Servers ● Scaling ● Client Hosted Architecture (Cost Reduction!) ● Cheat Detection ● Web Hooks ● High Latency Strategy (AI, Conn Tolerance) ● Network Tricks (Lag Compensation, Prediction, Fake Physics, etc.)
  • 17. Client - Photon - API Flow
  • 18. API Server ● Firebase (Auth, DB, Analytics, etc.) ● NoSQL Realtime Database ● NodeJS ● TypeScript ● Express ● Redis ● Serverless VPC for GCP Services ● DB Sharding Scaling ● API Scaling (Cloud Function Instances) ● API Versioning ● System Monitoring (Health, Work Load, Logs, DB Profiler etc.) ● Costs (DB Storage, Bandwidth, CPU, Memory, Redis)
  • 20. Data Optimization Strategy ● Data Merge ○ Game Data & User State ○ %80 Cost Reduction ● Instance Caching ● Logical Data Context ○ DB Workload Reduction ○ Update Data at Once ● Multiple Databases Game Data User State
  • 21. AI Match AI - Multiple Difficulty Level - Changes Depending on Score - Various Play Styles (20 Parameters) - JSON Config - A/B Test Season AI - Multiple Difficulty Level - Win, Lost, Draw chances - Bot Count for Season - Changes via Season Level - Scheduled Play Time - JSON Config - Redis - Just Few Bots for Unlimited Users
  • 22. AI Tool 20 Parameters, Multiple AI Config
  • 24. Conclusion ● Don’t Make It Alone ● Casual Games are Not Easy ● Core Mechanics <%5 of Total Work ● Market Comes First ● Cloud is Your Friend ● Use Online Services ● Optimization Matters