Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MMORPG Server
Search
Buzzvil
December 01, 2021
Programming
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MMORPG Server
By Alan
Buzzvil
December 01, 2021
More Decks by Buzzvil
See All by Buzzvil
220903_GFS
buzzvil
0
670
Git 해부하기 2 + 3
buzzvil
0
76
Metastable Failure
buzzvil
0
390
Git 해부하기
buzzvil
0
96
Introduction to Plate Solving
buzzvil
0
87
Airbnb Minerva
buzzvil
0
560
Shape up 방법론
buzzvil
0
1.1k
Buzzvil Billing Data Pipeline
buzzvil
0
740
Journey of Dash's release-cycle
buzzvil
0
300
Other Decks in Programming
See All in Programming
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
110
今さら聞けない .NET CLI
htkym
0
200
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
330
Android CLI
fornewid
0
230
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
600
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
6.1k
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
150
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
440
MySQLとPostgreSQLって何が違うの?
akagami
0
120
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
460
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Cost Of JavaScript in 2023
addyosmani
55
10k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
380
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
210
Building an army of robots
kneath
306
46k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
A Tale of Four Properties
chriscoyier
163
24k
Visualization
eitanlees
152
17k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Transcript
MMORPG Server Massively Multi-player Online Role-Playing Games
Game Server 의 종류 - Simple servier Account / Rank
/ Store / Reward
Game Server 의 종류 - Simple servier exports.createAccount = function(req,
res) { User.createAccount(req.body.deviceId, req.body.id, req.body.pw, function(err, session) { return common.sendJson(res, {'sessionKey': session.key}); }); }; exports.login = function(req, res) ...생략… exports.submitScore = function(req, res) ...생략… exports.getRankings = function(req, res) ...생략… exports.getProducts = function(req, res) ...생략…
Game Server 의 종류 - Realtime network (P2P/Central)
Game Server 의 종류 - Realtime network (P2P/Central) Command Packet의
예시 출처
Game Server 의 종류 - Realtime network (P2P/Central) Command를 Frame
번호와 함께 서버로 전송 출처 Server
Game Server 의 종류 - Realtime network (P2P/Central) 출처: Authority
Distribution in a Proxy-Based Massively Multiplayer Game Architecture Justin F. Christofoli
Game Server 의 종류 - Realtime network (P2P/Central)
Game Server 의 종류 - Realtime network (P2P/Central) 출처 Host
* Lobby server 는 central server
Game Server 의 종류 - Realtime network (P2P/Central) // TCP
소켓 사용 / Packet 단위 처리 // GameSession.java // 10 ticks / second public void read(Buffer rbuff) { Packet inpkt; while ((inpkt = receivePacket(rbuff)) != null) { processProtocols(inpkt); } } public void processProtocols(Packet packet) throws Throwable { int opCode=packet.buffer().getShort(); switch (opCode) { case OP_COMMAND: processCommand(packet); Break; … 생략 … } } private void processCommand(Packet packet) { gameFrame=match.getFrame(); if (packet.hasRemaining()) { match.putCommand(this, packet); } }
Game Server 의 종류 - MMORPG
Game Server 의 종류 - MMORPG 출처
Game Server 의 종류 - MMORPG 월드맵 <Segment matrix> ..
Linked list
Game Server 의 종류 - MMORPG 월드맵 // Creature.m -
attack:(int)weapon victim:(Creature*)victim damage:(int)damage { void effect(Creature* obj) { [obj notifyFight:weapon attacker: self victim: victim at: [victim point] sound: sound damage: damage]; } [[victim world] doCreatures: (Function) effect visible: [victim view]]; } // World.m + initialize { // local world pool } - doUsers: (Function) function ...
Game Server 의 종류 - MMORPG (Optimize) 출처 참고: 1,
2