Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehTama Wijayanti Telah diubah "10 tahun yang lalu
1
Agung Toto Wibowo http://gameprogramming.blog.ittelkom.ac.id/blog/ Armitage, Grenville, Claypool, Mark, and Branch, Philip "Networking and Online Games : Understanding and Engineering Multiplayer internet Games", Jhon Wiley & Sons, 2006
2
Pendahuluan Network Game Melibatkan jaringan, koneksi digital antara dua atau lebih komputer Beberapa network game, bukan multiplayer game, dan sebaliknya Pada network yang bukan multiplayer (single-player game) tidak ada interaksi langsung dengan pemain(avatar) lain. Multiplayer Game Seringkali network game dengan pemain terpisah secara fisik dan mesin (PC/console) yang terhubung melalui jaringan. Bisa bukan network game, contoh turn based, two player game etc.
3
Time Line 1960 Era awal multiplayer games 1970-1980 Era arcade multiplayer games 1990-sekarang Era online, multiplayer games 1958 tennis for two 1961 space war 1970 Galaxy war 1972 Pong 1978 Atari Football 1993 Doom
4
Tennis for 2 & Space War
5
Doom Menggunakan peer-to-peer network Setiap 1/35 detik, setiap Doom game mengambil input dari setiap player (move left, strafe, shoot etc) Menggunakan sequence number untuk mengidentifikasi packet lost. Jika ditemukan paket setelahnya (tidak sesuai urutan), maka diputuskan terjadi packet lost, dan mengirim NACK
6
Arsitektur – Single Computer Tidak ada network antar pemain Fungsi multiplayer dilakukan dengan berinteraksi pada satu komputer Pemain memanipulasi avatar pada share screen yang dibelah.
7
Arsitektur – Peer-to-peer Setiap client Tidak ada node yang bertindak sebagai pengontrol game state, dan meroutekan game message Populer pada LAN karena LAN mensupport broadcasr Biasanya pemain yang berpartisipasi berjumlah sedikit.
8
Arsitektur – Client Server Satu komputer berperan sebagai server, berkomunikasi dg client, memediasi game state Server bagian krusial dari game. Jika server tidak bisa dihubungi, berdampak ke semua client, dan semua proses permainan. Populer pada game online komersial
9
Arsitektur – Peer-to-peer, Client-server Hybrid Pada hybrid, server memediasi jalannya game seperti pada client server. Client dapat berhubungan dengan client lain seperti peer-to-peer.
10
Arsitektur - Network of Server Pada arsitektur sebelumnya, server bisa mengalami bottleneck performance. Tidak dapat terus menerima dan mengirimkan pesan dari semua client, atau tidak dapat terus meng-update game state dengan cepat. Pada network server, single server berkomunikasi dengan master server membentuk hirarki arsitektur. Memperbaiki kondisi di atas Protokol yang dipergunakan lebih rumit.
11
Evolusi Online Game
12
MMORPG Massively multiplayer on line role-playing Mulai tumbuh tahun 1995 dengan ultima online Dikembangkan dari single player game ultima Support 50 pemain
13
Network Latency, Jitter, dan Loss Latency : waktu yang dibutuhkan paket data untuk dikirimkan dari sumber ke tujuan. Round Trip Time (RTT) : latency round trip dari sumber ke tujuan, dan kembali lagi ke sumber. Pada beberapa kasus RTT 2 kali latency, namun tidak selalu. Jitter : variasi latency dari satu paket ke paket berikutnya. Packet loss : kasis dimana paket tidak pernah mencapai tujuan. Ditunjukkan dengan packet loss rate (perbandingan jumlah packet loss dibagi jumlah paket yang dikirimkan)
14
Network Latency, Jitter, dan Loss
15
Sumber Latency, Jitter, dan Loss Latency Propagasi delay dari jarak yang jauh Serialisation delay Congestion-related queuing delay Jitter Panjang path berubah Variasi ukuran paket Transient congestion Packet Loss Kelebihan antrian transient congestion Link layer bit error Routing transient temporarily disrupting the path
16
Ilustrasi Efek Latency Efek latency sangat terlihat pada skenario client server dengan ‘dumb’ client. Algoritma client Mengambil input user Pengambil data dan mengirimkan ke server Menerima update dari server dan mengunpack Menentukan visible object dan game state Render scene Mengulangi game loop
17
Ilustrasi Efek Latency User menekan left (a) dan (b)user menekan up, namun karena latency, (c) pemain masih berjalan ke kiri.
18
Prediksi Daripada menunggu respon dari server, client dapat menebak respon yang akan diberikan server. Client dapat merespon input user secara langsung, merender pergerakan user, dan lawan sebelum mendapat respon server. Player Prediction : dijelaskan di atas Opponent Prediction : client menebak lokasi dari unit yang tidak dikontrol oleh pemain lain atau oleh komputer.
19
Player Prediction Efek : Respon client dapat lebih cepat (secepat non-network) karena mengabaikan latency Game state client bisa berbeda dengan game state server. Diperlukan perbaikan tergantung dari round-trip latency dan aksi yang diambil user. (pada client)
20
Player Prediction Algoritma Mengambil input user Pengambil data dan mengirimkan ke server Menentukan visible object dan game state Render scene Menerima update dari server dan mengunpack Membetulkan perbedaan state Mengulangi game loop
21
Efek Player Prediction
22
Opponent Prediction Lokasi yang dikontrol pemain lain (atau komputer) diprediksi Estimasi berdasar lokasi awal, dihitung posisi prediksi dari speed, dan arah pergerakan. Predicted position digunakan sampai unit owner mengirimkan update dari lokasi, speed, atau arah baru.
23
Ilustrasi
24
Algoritma Opponent Prediction Algoritma Unit Owner Mengambil input user Update (lokasi | kecepatan | accelerasi) bedasar input Hitung lokasi prediksi berdasar (lokasi | kecepatan | accelerasi) sebelumnya Jika (lokasi sekarang – lokasi prediksi) < treshold maka Ambil data (lokasi | kecepatan | accelerasi) Kirimkan kesemua opponent (lawan) Ulangi game loop
25
Algoritma Opponent Prediction Algoritma Opponent Terima paket Ekstrak informasi update state (lokasi | kecepatan | akselerasi) Jika unit tertampil pada layar maka Update informasi unit Else Tambahkan informasi unit ke list Untuk setiap unit pada list Update lokasi prediksi Render Frame Mengulangi game loop
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.