1 / 25

Network and Multiplayer Game

Network and Multiplayer Game. 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. Pendahuluan.

phoebe
Download Presentation

Network and Multiplayer Game

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network and Multiplayer Game 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 • Melibatkanjaringan, koneksi digital antaraduaataulebihkomputer • Beberapa network game, bukan multiplayer game, dansebaliknya • Pada network yang bukan multiplayer (single-player game) tidakadainteraksilangsungdenganpemain(avatar) lain. • Multiplayer Game • Seringkali network game denganpemainterpisahsecarafisikdanmesin (PC/console) yang terhubungmelaluijaringan. • Bisabukan 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 darisetiap player (move left, strafe, shoot etc) • Menggunakan sequence number untukmengidentifikasi packet lost. • Jikaditemukanpaketsetelahnya (tidaksesuaiurutan), makadiputuskanterjadi packet lost, danmengirim NACK

  6. Arsitektur – Single Computer • Tidakada network antarpemain • Fungsi multiplayer dilakukandenganberinteraksipadasatukomputer • Pemainmemanipulasi avatar pada share screen yang dibelah.

  7. Arsitektur – Peer-to-peer • Setiap client • Tidakada node yang bertindaksebagaipengontrol game state, danmeroutekan game message • Populerpada LAN karena LAN mensupportbroadcasr • Biasanyapemain yang berpartisipasiberjumlahsedikit.

  8. Arsitektur – Client Server • Satukomputerberperansebagai server, • berkomunikasi dg client, • memediasi game state • Server bagiankrusialdari game. Jika server tidakbisadihubungi, berdampakkesemua client, dansemuaprosespermainan. • Populerpada game online komersial

  9. Arsitektur – Peer-to-peer, Client-server Hybrid • Pada hybrid, server memediasijalannya game sepertipada client server. • Client dapatberhubungandengan client lain seperti peer-to-peer.

  10. Arsitektur - Network of Server • Padaarsitektursebelumnya, server bisamengalami bottleneck performance. • Tidakdapatterusmenerimadanmengirimkanpesandarisemua client, • atautidakdapatterusmeng-update game state dengancepat. • Pada network server, single server berkomunikasidengan master server membentukhirarkiarsitektur. • Memperbaikikondisidiatas • Protokol yang dipergunakanlebihrumit.

  11. Evolusi Online Game

  12. MMORPG • Massively multiplayer on line role-playing • Mulaitumbuhtahun 1995 denganultima online • Dikembangkandari single player game ultima • Support 50 pemain

  13. Network Latency, Jitter, dan Loss • Latency : waktu yang dibutuhkanpaket data untukdikirimkandarisumberketujuan. • Round Trip Time (RTT) : latency round trip darisumberketujuan, dankembalilagikesumber. • Padabeberapakasus RTT 2 kali latency, namuntidakselalu. • Jitter : variasi latency darisatupaketkepaketberikutnya. • Packet loss : kasisdimanapakettidakpernahmencapaitujuan. • Ditunjukkandengan packet loss rate (perbandinganjumlah packet loss dibagijumlahpaket yang dikirimkan)

  14. Network Latency, Jitter, dan Loss

  15. Sumber Latency, Jitter, dan Loss • Latency • Propagasi delay darijarak yang jauh • Serialisation delay • Congestion-related queuing delay • Jitter • Panjang path berubah • Variasiukuranpaket • Transient congestion • Packet Loss • Kelebihanantrian transient congestion • Link layer bit error • Routing transient temporarily disrupting the path

  16. IlustrasiEfek Latency • Efek latency sangatterlihatpadaskenario client server dengan ‘dumb’ client. • Algoritma client • Mengambil input user • Pengambil data danmengirimkanke server • Menerima update dari server danmengunpack • Menentukan visible object dan game state • Render scene • Mengulangi game loop

  17. IlustrasiEfek Latency • User menekan left (a) dan (b)user menekan up, namunkarena latency, (c) pemainmasihberjalankekiri.

  18. Prediksi • Daripadamenunggurespondari server, client dapatmenebakrespon yang akandiberikan server. • Client dapatmerespon input user secaralangsung, merenderpergerakan user, danlawansebelummendapatrespon server. • Player Prediction : dijelaskandiatas • Opponent Prediction : client menebaklokasidari unit yang tidakdikontrololehpemain lain atauolehkomputer.

  19. Player Prediction • Efek : • Respon client dapatlebihcepat (secepat non-network) karenamengabaikan latency • Game state client bisaberbedadengan game state server. • Diperlukanperbaikantergantungdari round-trip latency danaksi yang diambil user. (pada client)

  20. Player Prediction • Algoritma • Mengambil input user • Pengambil data danmengirimkanke server • Menentukan visible object dan game state • Render scene • Menerima update dari server danmengunpack • Membetulkanperbedaan state • Mengulangi game loop

  21. Efek Player Prediction

  22. Opponent Prediction • Lokasi yang dikontrolpemain lain (ataukomputer) diprediksi • Estimasiberdasarlokasiawal, dihitungposisiprediksidari speed, danarahpergerakan. • Predicted position digunakansampai unit owner mengirimkan update darilokasi, speed, atauarahbaru.

  23. Ilustrasi

  24. Algoritma Opponent Prediction Algoritma Unit Owner • Mengambil input user • Update (lokasi | kecepatan | accelerasi) bedasar input • Hitunglokasiprediksiberdasar (lokasi | kecepatan | accelerasi) sebelumnya • Jika (lokasisekarang – lokasiprediksi) < tresholdmaka • Ambil data (lokasi | kecepatan | accelerasi) • Kirimkankesemua opponent (lawan) • Ulangi game loop

  25. Algoritma Opponent Prediction Algoritma Opponent • Terimapaket • Ekstrakinformasi update state (lokasi | kecepatan | akselerasi) • Jika unit tertampilpadalayarmaka • Update informasi unit • Else • Tambahkaninformasi unit ke list • Untuksetiap unit pada list • Update lokasiprediksi • Render Frame • Mengulangi game loop

More Related