SlideShare ist ein Scribd-Unternehmen logo
1 von 201
Downloaden Sie, um offline zu lesen
You are not alone
Scaling Multiplayer Games
Jesper Richter-Reichhelm - @jrirei
Knut Nesheim - @knutin
> 1,000,000 daily users
> 1,000,000 daily users
> 50,000 concurrent users
> 1,000,000 daily users
> 50,000 concurrent users
> 10,000 requests / second
Ok, you can
handle that.
Ok, you can
handle that.

But why only
single player?
The Games
   The Past
 The Present
  The Future
The Foundation
Server   Database
Server   Database
Server   Database
Server   Database
Server   Database
Server   Database
DB is the bottleneck
Server   Database
Server   Database
Server   Database
Server                        Database




         One  Game  Session
Server                        Database




         One  Game  Session
session
session
    session
  session
session
Server


      session
    session
  session
session
Server


      session
    session
  session
session
Server


      session
    session
  session
session
Server


      session
    session
  session
session
Server          Server          Server


      session
    session           session
                    session           session
                                    session
  session
session           session
                session           session
                                session
The Games
   The Past
 The Present
  The Future
The Foundation
es
      Thoughts
 t
       Client
ent
       Server
 re
      Operation
ation
es
      Thoughts
 t
       Client
ent
       Server
 re
      Operation
ation
You are not alone
Pessimistic
Pessimistic
Schizophrenic
Pessimistic
Schizophrenic
 Optimistic
Pessimistic
Client   Server
   A       A




Client   Server
   B       B
Client    Server
A  @  B     A




Client    Server
   B        B
Client    Server
A  @  B     A




Client    Server
   B        B
Client    Server
A  @  B     A




Client    Server
   B        B
Client    Server
A  @  B     A




Client    Server
   B        B’
Client    Server
A  @  B     A




Client    Server
   B        B’
Client    Server
A  @  B     A




Client    Server
   B        B’
Client     Server
A  @  B’     A




Client     Server
   B         B’
Client     Server
A  @  B’     A




Client     Server
   B         B’
Client     Server
A  @  B’     A




Client     Server
  B’         B’
Waiting on server
  responses?
Waiting on server
  responses?

   Are you out
  of your mind?
Schizophrenic
Client   Server
   A       A




Client   Server
   B       B
Client    Server
A  @  B     A




Client    Server
   B        B
Client    Server
A  @  B    A  +  B




Client    Server
   B        B
Client     Server
A  @  B’    A  +  B




Client     Server
   B         B
Client     Server
A  @  B’    A  +  B




Client     Server
   B         B
Client     Server
A  @  B’   A  +  B’




Client     Server
   B         B
Client     Server
A  @  B’   A  +  B’




Client     Server
   B         B
Client     Server
A  @  B’   A  +  B’




Client     Server
   B         B
Client     Server
A  @  B’   A  +  B’




Client     Server
  B’         B
Client     Server
A  @  B’   A  +  B’




Client     Server
  B’         B
Client     Server
A  @  B’   A  +  B’




Client     Server
  B’         B’
What about real
 interactions?
What about real
 interactions?

And what about
   complexity
in the backend?
Optimistic
Client   Server
   A       A




Client   Server
   B       B
Client    Server
A  @  B     A




Client    Server
   B        B
Client     Server
A  @  B’     A




Client     Server
   B         B
Client     Server
A  @  B’     A




Client     Server
   B         B
Client     Server
A  @  B’     A




Client     Server
   B         B
Client     Server
A  @  B’     A




Client     Server
   B         B’
Client     Server
A  @  B’     A




Client     Server
   B         B’
Client     Server
A  @  B’     A




Client     Server
   B         B’
Client     Server
A  @  B’     A




Client     Server
  B’’        B’
Client     Server
A  @  B’     A




Client     Server
  B’’        B’
Client     Server
A  @  B’     A




Client     Server
  B’’        B’
Client     Server
A  @  B’     A




Client     Server
  B’         B’
Hmm, client
 rollbacks?
Hmm, client
   rollbacks?

Are you sure you
 can build that?
es
 t
ent
 re
ation
es
      Thoughts
 t
       Client
ent
       Server
 re
      Operation
ation
Client   Server
   A       A




Client   Server
   B       B
Client  A
state
count  0
 max  3




           Client  A
user  A
               move
                   

                    
 state
count  0
 max  3




           Client  A
user  A
               move
               pick

                    
 state
count  0
 max  3




           Client  A
user  A
               move
               pick

                    
 state
count  1
 max  3




           Client  A
user  A
               move
               pick

                    
 state
count  1
 max  3




           Client  A     Server
user  A
               user  A
               move
               pick

                    
 state
count  1
 max  3




           Client  A     Server
user  A
               user  A
               move
               pick
                          loca,on
                    
 state                    count  0
count  1
 max  3




           Client  A     Server
user  A
               user  A
               move
               pick
                          loca,on
                    
 state                    count  1
count  1
 max  3




           Client  A     Server
user  A
               user  A
               move
               pick
                          loca,on
                    
 state                    count  1
count  1
 max  3




           Client  A     Server
user  A
               user  A
               move
               pick
                                    loca,on
                    
 state                              count  1
count  1
 max  3
                         history
                         move  A
                         pick  A

                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  1
count  1
 max  3
                         history
                         move  A
                         pick  A
                              
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  1
count  1
 max  3
                         history
                         move  A
                         pick  A
                              
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  1
count  1
 max  3
                                    user  B
                         history
                         move  A
                         pick  A
                              
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  1
count  1
 max  3
                                    user  B
                         history
                         move  A
                         pick  A
                                    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  2
count  1
 max  3
                                    user  B
                         history
                         move  A
                         pick  A
                                    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  2
count  1
 max  3
                                    user  B
                         history
                         move  A
                         pick  A
                                    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  2
count  1
 max  3
                                    user  B
                         history
                         move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  2
count  1
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  2
count  2
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  2
count  2
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  2
count  2
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  2
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  2
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  2
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  3
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  3
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                 loca,on
                   
 state                              count  3
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                              


           Client  A               Server
user  A
               user  A
               move
               pick
               pick                   loca,on
                   
 state                                count  3
count  3
 max  3
                                      user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B      loca,on
                         pick  B  


           Client  A                 Server
user  A
               user  A
               move
               pick
               pick                   loca,on
                   
 state                                count  3
count  3
 max  3
                                      user  B
               user  B   history
                pick     move  A
                pick     pick  A
                         pick  B      loca,on
                         pick  B  


           Client  A                 Server
user  A
               user  A
               move
               pick
               pick                   loca,on
                   
 state                                count  3
count  3
 max  3
                                      user  B
               user  B   history
                pick     move  A
                pick     pick  A
                         pick  B      loca,on
                         pick  B  


           Client  A                 Server
user  A
               user  A
               move
               pick
               pick                   loca,on
                   
 state                                count  3
count  3
 max  3
                                      user  B
               user  B   history
                pick     move  A
                pick     pick  A
                         pick  B      loca,on
                         pick  B  


           Client  A                 Server
user  A
               user  A
               move
               pick
               pick                   loca,on
                   
 state                                count  3
count  3
 max  3
                                      user  B
               user  B   history
                pick     move  A
                pick     pick  A
                         pick  B      loca,on
                         pick  B  


           Client  A                 Server
user  A
               user  A
                    
                    
                                    loca,on
                    
 state                              count  3
count  0
 max  3
                                    user  B
               user  B   history
                         move  A
                         pick  A
                         pick  B    loca,on
                         pick  B


           Client  A               Server
user  A
               user  A
               move
                   
                                    loca,on
                   
 state                              count  3
count  0
 max  3
                                    user  B
               user  B   history
                         move  A
                         pick  A
                         pick  B    loca,on
                         pick  B


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  3
count  1
 max  3
                                    user  B
               user  B   history
                         move  A
                         pick  A
                         pick  B    loca,on
                         pick  B


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  3
count  2
 max  3
                                    user  B
               user  B   history
                pick     move  A
                         pick  A
                         pick  B    loca,on
                         pick  B


           Client  A               Server
user  A
               user  A
               move
               pick
                                    loca,on
                   
 state                              count  3
count  3
 max  3
                                    user  B
               user  B   history
                pick     move  A
                pick     pick  A
                         pick  B    loca,on
                         pick  B


           Client  A               Server
...

(Let’s look
  inside)
es
 t
ent
 re
ation
es
      Thoughts
 t
       Client
ent
       Server
 re
      Operation
ation
Erlang
Erlang
Process isolation
Erlang
Process isolation
  Networking
Erlang
Process isolation
  Networking
  Distribution
User process
User process
Stores user state
User process
   Stores user state
Real-time push to client
World process
World process
Serializes updates
World process
  Serializes updates
Concurrency “control”
World process
  Serializes updates
Concurrency “control”
   Runs game logic
Game logic
Game logic
   Pure
Game logic
              Pure
f(State, Cmd) -> {NewState, Reply}
Game logic
              Pure
f(State, Cmd) -> {NewState, Reply}

         Transactions
Real-time push
Real-time push
Browser support
Real-time push
   Browser support
“Transfer-Encoding: chunked”
Real-time push
   Browser support
“Transfer-Encoding: chunked”

State updates as JSON
es
 t
ent
 re
ation
es
      Thoughts
 t
       Client
ent
       Server
 re
      Operation
ation
Elli
Elli
Efficient, robust
Elli
      Efficient, robust
High-throughput, low latency
Elli
      Efficient, robust
High-throughput, low latency
 Request-response model
Elli
      Efficient, robust
High-throughput, low latency
 Request-response model
   github.com/knutin/elli
Distribution
Distribution
Idea: Identical nodes, Riak
Distribution
  Idea: Identical nodes, Riak
No centralization/serialization
Distribution
  Idea: Identical nodes, Riak
No centralization/serialization
          No SPOF
Distribution needs
Distribution needs
      Locking
Distribution needs
      Locking
  Dynamic cluster
Meet “locker”
Meet “locker”
Distributed lock table
Meet “locker”
Distributed lock table
        CAS
Meet “locker”
Distributed lock table
        CAS
Write quorum, 2PC
Meet “locker”
 Distributed lock table
         CAS
  Write quorum, 2PC
Asynchronous replication
Meet “locker”
  Distributed lock table
          CAS
   Write quorum, 2PC
Asynchronous replication
330 SLOC, one gen_server
The Games
   The Past
 The Present
  The Future
The Foundation
Research
Research
Aka “hacking”
Everything is possible
Everything is possible
      First person
Everything is possible
      First person
   Real-time strategy
Everything is possible
      First person
   Real-time strategy
      Turn-based
Everything is possible
      First person
   Real-time strategy
      Turn-based
          Etc
Nothing is possible
Nothing is possible
Network latency kills
    gameplay
Lag compensation
Lag compensation
  Many solutions
Lag compensation
  Many solutions
 Depends on game
FPS
FPS
Speed is king
FPS
    Speed is king
Divergent simulations
FPS
    Speed is king
Divergent simulations
Server keeps history
FPS
       Speed is king
   Divergent simulations
   Server keeps history
Validates delayed commands
RTS
RTS
Synchronization is king
RTS
Synchronization is king
 Identical simulations
RTS
 Synchronization is king
  Identical simulations
Server buffers commands
RTS
 Synchronization is king
  Identical simulations
Server buffers commands
  Broadcasts, lockstep
The Games
   The Past
 The Present
  The Future
The Foundation
Small independent teams
Each team adds something
Based on previous learnings
Standing on the
shoulders of giants
Slides: http://woo.ga/backend
Slides: http://woo.ga/backend
Code: http://github.com/wooga
Questions?
Questions?
 @jrirei @knutin
http://wooga.com/jobs

Weitere ähnliche Inhalte

Andere mochten auch

How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan MiczaikaHow to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
Wooga
 
JRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your coreJRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your core
Wooga
 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Wooga
 
2013 04-29-evolution of backend
2013 04-29-evolution of backend2013 04-29-evolution of backend
2013 04-29-evolution of backend
Wooga
 

Andere mochten auch (20)

2013 01-03 sgf-mobile_first_sebastian kriese
2013 01-03 sgf-mobile_first_sebastian kriese2013 01-03 sgf-mobile_first_sebastian kriese
2013 01-03 sgf-mobile_first_sebastian kriese
 
How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan MiczaikaHow to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
How to manage a startup_Gruenderwoche RWTH Aachen_Jan Miczaika
 
JRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your coreJRubyConf2013_Tim Lossen_All your core
JRubyConf2013_Tim Lossen_All your core
 
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud Citizen
 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
 
Designing for Scale
Designing for ScaleDesigning for Scale
Designing for Scale
 
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
Architecture Evolution at Wooga (AWS Cloud Computing for Developers,)
 
When Devs Do Ops
When Devs Do OpsWhen Devs Do Ops
When Devs Do Ops
 
NoSQL Games_NoSQL Roadshow Berlin
NoSQL Games_NoSQL Roadshow BerlinNoSQL Games_NoSQL Roadshow Berlin
NoSQL Games_NoSQL Roadshow Berlin
 
Stateful Application Server_JRubyConf13_Lukas Rieder
Stateful Application Server_JRubyConf13_Lukas RiederStateful Application Server_JRubyConf13_Lukas Rieder
Stateful Application Server_JRubyConf13_Lukas Rieder
 
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
Stealing Your Heart, Eating your Brain_Casual Connect-Hamburg_2013
 
Games for the Masses: Scaling Rails to the Extreme
Games for the Masses: Scaling Rails to the ExtremeGames for the Masses: Scaling Rails to the Extreme
Games for the Masses: Scaling Rails to the Extreme
 
Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Metrics. Driven. Design. (Developer Conference Hamburg 2012)Metrics. Driven. Design. (Developer Conference Hamburg 2012)
Metrics. Driven. Design. (Developer Conference Hamburg 2012)
 
How to scale a company - game teams at Wooga
How to scale a company - game teams at WoogaHow to scale a company - game teams at Wooga
How to scale a company - game teams at Wooga
 
Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Event Stream Processing with Kafka (Berlin Buzzwords 2012)Event Stream Processing with Kafka (Berlin Buzzwords 2012)
Event Stream Processing with Kafka (Berlin Buzzwords 2012)
 
2013 04-29-evolution of backend
2013 04-29-evolution of backend2013 04-29-evolution of backend
2013 04-29-evolution of backend
 
From Keyboards to Fingertips_Casual Connect HH_2013_Jens Begemann
From Keyboards to Fingertips_Casual Connect HH_2013_Jens BegemannFrom Keyboards to Fingertips_Casual Connect HH_2013_Jens Begemann
From Keyboards to Fingertips_Casual Connect HH_2013_Jens Begemann
 
Continuous Integration for iOS (iOS User Group Berlin)
Continuous Integration for iOS (iOS User Group Berlin)Continuous Integration for iOS (iOS User Group Berlin)
Continuous Integration for iOS (iOS User Group Berlin)
 
Painful success - lessons learned while scaling up
Painful success - lessons learned while scaling upPainful success - lessons learned while scaling up
Painful success - lessons learned while scaling up
 
Monitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachineMonitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachine
 

Mehr von Wooga

Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinRiak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Wooga
 
Staying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketStaying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile market
Wooga
 
Startup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerStartup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp Stelzer
Wooga
 
CodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentCodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game Development
Wooga
 
How to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleHow to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of People
Wooga
 
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketPocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Wooga
 

Mehr von Wooga (20)

Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile
 
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
 
In it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionIn it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retention
 
Leveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoLeveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario Quondamstefano
 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of Ideas
 
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
 
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferSaying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
 
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenBig Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
 
Review mining aps2014 berlin
Review mining aps2014 berlinReview mining aps2014 berlin
Review mining aps2014 berlin
 
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinRiak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
 
Staying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketStaying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile market
 
Startup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerStartup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp Stelzer
 
DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)
 
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmDevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
 
CodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentCodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game Development
 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
 
How to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleHow to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of People
 
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
 
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketPocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

You are not alone - Scaling multiplayer games