39
@agatestudio Game Server Teguh Legion Agate Studio

Game Server by Teguh

Embed Size (px)

DESCRIPTION

 

Citation preview

@agatestudio

Game Server

Teguh

Legion

Agate Studio

Presents…

Game Server

By: Teguh Budi Wicaksono

4/12/2014 Talent Development Saturday

Introduction

4/12/2014 Talent Development Saturday

Single Player Game

• Playing alone

• Others watch us playing

4/12/2014 Talent Development Saturday

Multiplayer Game

• Play with friends in one device (PC, console, etc)

• Cramped on 1 screen

4/12/2014 Talent Development Saturday

Internet

• Online multiplayer

• Play with online friend over the world

• Connected via game servers

4/12/2014 Talent Development Saturday

Game Server

• A server for hosting game

• A authoritative source of events

• Where client connect to retrieve and send data

• Handling synchronization of data among players

4/12/2014 Talent Development Saturday

Online Games

4/12/2014 Talent Development Saturday

Sync & Async

4/12/2014 Talent Development Saturday

Asynchronous Communication

• Not real time. Real time is not necessary

• There’s lag between action and response

4/12/2014 Talent Development Saturday

Asynchronous Communication

• Less load and traffic on server

• More easy to make

Up Side

4/12/2014 Talent Development Saturday

Asynchronous Communication

• Lack sense of immediacy

• User need to wait for reply

Down Side

4/12/2014 Talent Development Saturday

Asynchronous Communication Game Sample

4/12/2014 Talent Development Saturday

Synchronous Communication

• Real-time action

• Playing at the same time

4/12/2014 Talent Development Saturday

Synchronous Communication

• Sense of immediacy

• Fast feedback

Up Side

4/12/2014 Talent Development Saturday

Synchronous Communication

• More server load

• More complex logic

Down Side

4/12/2014 Talent Development Saturday

Synchronous Communication Game Sample

4/12/2014 Talent Development Saturday

Which to Use

• Adjust according gameplay need

4/12/2014 Talent Development Saturday

Server Communication Type

4/12/2014 Talent Development Saturday

Web Service

• Communication over WWW

• Communicate with a web server

• Provide web API to access

• Request based communication

• Asynchronous communication

Definition

4/12/2014 Talent Development Saturday

Web Service

• Easier. Many interest and plenty of support

• Plenty of frameworks and tools

Advantage

4/12/2014 Talent Development Saturday

Web Service

• Bigger payload

• String based message communication

• Slower communication. Bigger latency

• TCP

Disadvantage

4/12/2014 Talent Development Saturday

Web Service

Game Sample

4/12/2014 Talent Development Saturday

Socket

• Communication via specific hardware port

Definition

4/12/2014 Talent Development Saturday

Socket

• Low latency. Faster communication

• Binary based message communication

• TCP + UDP

Advantage

4/12/2014 Talent Development Saturday

Socket

• More complex algorithm. More lower level

• Challenge on scalability

• Security. All client can connect

Disadvantage

4/12/2014 Talent Development Saturday

Which to Use

• Consider each advantage and disadvantage

• Timeline

• Future plan

4/12/2014 Talent Development Saturday

Socket

Game Sample

4/12/2014 Talent Development Saturday

Server Connection Type

4/12/2014 Talent Development Saturday

Client Server

• Clients connect to a server

• Usually, client listen to what server says

4/12/2014 Talent Development Saturday

Client Server

Game Sample

4/12/2014 Talent Development Saturday

Peer to Peer

• Client connect to other client

• One client may act as server or all client are server

• Challenges • Not all client can connect to others

4/12/2014 Talent Development Saturday

Peer to Peer

Game Sample

4/12/2014 Talent Development Saturday

Which to Use

• Consider game needs

• Peer to peer have a big disadvantage • Connecting

• Quality is not guaranteed

4/12/2014 Talent Development Saturday

Game Server Engine

4/12/2014 Talent Development Saturday

Web Service

• Web Server Engine

• Framework

4/12/2014 Talent Development Saturday

Socket Based Server Engine

4/12/2014 Talent Development Saturday

Conclusion

• Plenty of option

• Adjust according to your needs

• Consider each advantage and disadvantage

• Cost?

4/12/2014 Talent Development Saturday

Thanks

Any Question?

4/12/2014 Talent Development Saturday