$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Backend de jogos multiplayer
Search
Rodrigo Delduca
August 15, 2017
Programming
0
130
Backend de jogos multiplayer
Rodrigo Delduca
August 15, 2017
Tweet
Share
More Decks by Rodrigo Delduca
See All by Rodrigo Delduca
Mágica com Qt’s meta-object system
skhaz
1
91
Como criar o seu próprio joystick
skhaz
0
2.2k
Other Decks in Programming
See All in Programming
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.3k
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.1k
SwiftUIで本格音ゲー実装してみた
hypebeans
0
110
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
tparseでgo testの出力を見やすくする
utgwkk
1
190
connect-python: convenient protobuf RPC for Python
anuraaga
0
390
Go コードベースの構成と AI コンテキスト定義
andpad
0
120
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
25k
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
800
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Embracing the Ebb and Flow
colly
88
4.9k
How STYLIGHT went responsive
nonsquared
100
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Code Review Best Practice
trishagee
74
19k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Transcript
Backend de jogos multiplayer Rodrigo Delduca (@skhaz) https://skhaz.io https://nullonerror.org https://ultratech.software
PUC PR - 2017
Brace yourself. Sopa de letrinhas is coming!
Formas de comunicação • TCP • UDP • RawSocket •
WebSockets • SocketIO • WebRTC
Arquitetura
Otimizando o tamanho do payload
Otimizando o tamanho do payload payload = { "UpPressed": true,
"downPressed": false, "attackPressed": true } // 76 bytes
Otimizando o tamanho do payload payload = { "u": true,
"d": false, "a": true } // 46 bytes
Escovando os bits
Escovando os bits
Escovando os bits
Escovando os bits
Escovando os bits
Tecnologias • C/C++ • Python • Elixir • Java •
NodeJS • Swift • Erlang • … Ou qualquer outra linguagem que permita abrir uma conexão.
Qual tecnologia é melhor?
Qual tecnologia é melhor? A que você dominar melhor*
Qual tecnologia é melhor? A que você dominar melhor* só
não vale usar Visual Basic :)
E onde hospedar? • Google Cloud • Heroku • Digital
Ocean • Amazon Web Services (AWS) • Scaleway • Rackspace • Azure • IBM Bluemix
Banco de dados • PostgreSQL, MySQL, Oracle e SQLite (relacional)
• MongoDB, CouchBase e RethinkDB (orientado a documento) • Redis, memcached e Cassandra (chave-valor) • Neo4J e ArangoDB (banco de dados de grafos)
Outras alternativas … Que podem ser ideias para hackathon e
gamejams
Exemplo usando Socket.IO
Demo http://bit.ly/pucpr-mmo
• https://davidwalsh.name/websocket • http://blog.soom.la/2016/02/top-10-parse-alternatives-game-backend.html • https://realm.io/docs/realm-object-server/ • https://firebase.google.com/ • http://heroku.com/
• https://www.meteor.com/ • https://phaser.io • https://socket.io/ • https://cloud.google.com/ • http://choongsoo.info/docs/starcraft2.netgames12.pdf • https://blog.heroku.com/introducing_session_affinity
Perguntas?
Muito obrigado :) Scorpion wins Flawless victory Fatality!