1 / 16

Network and Multiplayer Game [1]

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

Download Presentation

Network and Multiplayer Game [1]

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 [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 • Tanpaprediksi, state masihmemungkinkanberbedapadatiap client (butuhwaktumenerima [setengah RTT] world state dari server) • Jikaada client yang sangatjauhdari server dibandingkandengan client yang dekatdengan server (RTT1> RTT2), makaakantidakadildarisisigameplay • Contoh : • Game membunuh monster, jikaberhasilakanditambahkankoin yang dapatdigunakanuntukmembangunfasilitas. • Perbedaanjarak (dalamterminologi RTT) mengakibatkanketidakadilangameplay.

  3. Time Manipulation • Meskipunkebanyakan game dinyatakan real time, waktudapatdimanipulasiuntukmengatasiperbedaan latency. • Duateknik yang dapatmelakukannya : • Time Delay : untukmengatasi latency lama • Time Wrap : untukmengakomodasi latency yang singkat

  4. Time Delay • untukmengatasiperbedaan delay pemrosesan / pengirimanperintah user untukmeratakan latency. • Daripadamemprosesperintah client langsung, server dapatmenundaperintahinibeberapawaktu • Sehinggamembolehkan client padajarak yang jauhuntukmerespon game state.

  5. Time Wrap • Mekanismemanipulasiwaktu yang memungkinkan server untuk me-rollback (time wrap) event pada game ketikasebuahperintah client diinputkan • Contohkasus : • Pada T0, seorangpemainmenembaklawan • Message datangdi server pada T2 • Dan lawantelahbergerakpada T1 • Menggunakan time wrap, server melakukan rollback event yang telahdiprosesmulai client menggenerate input. (T0 padakasusdiatas)

  6. Time Wrap • Algoritma • Terima packet dari client • Ekstakinformasi (user input) • Elapsed time = current time – latency to client • Rollback semua event dalam reverse order sampai current time – elapsed time • Eksekusiperintah user • Ulangisemua event untukmengupdateefekdari client • Ulangi game loop.

  7. Time Wrap • FPS Half-Life 2 mentest time wrap dengantambahan lag pada client.

  8. Data Compression [1] • Lossless Compression : • data dapatdikompressdenganberbagaialgoritma yang umum. • Kompresiharus lossless, dandapatdikembalikansaatdi uncompress. • Beberapa yang seringdigunakan : LZW • Delta Comression • Daripadamengirimkansemuainformasi state, memungkinkanhanyamengirimperubahan/update (delta) dari state sebelumnya. • Efeknya, membutuhkanpengiriman data yang reliable (contoh TCP) • Efektifjika state game world besar, namunperubahan yang adakecil.

  9. Data Compression [2] • Interest Management • Daripadamengirimkan data kesemua client, dapatdikirimkan data yang menjadi interest bagi client untukdikirim. • Area dari interest client disebut aura dimanainteraksiantara client dan unit game lain terjadi.

  10. Data Compression [3] • Peer-ToPeer • Client mengirimkan data secaralangsungdapatmengurangibitrate server. • Digunakanuntukpengirimanberbagaiaspek game seperti voice, avatar, dlsb. • Update Aggregation • Mengirimkan update padaperiodetertentudapatmengurangi network overhead • Contoh : daripadamengirimkanpergerakan A pada t1, dan B pada t2 ke player C dua kali, server dapatmengirimkannyasekali, sehinggamengurangiwaktu packing, danpengiriman. • Update agregationjgdilakukandenganmengurangijmlpesan yang dikirimkan. • Contohpemainmenggerakkan avatar wajahkekiri, kekanan, beberapa kali, maka server dapatmengagregatdenganmengirimkanpergerakanterakhir yang terlihat.

  11. Visual Trick • Tidakberhubungandengan network, tapidapatmengatasi latency • Contoh : animasipadakapalataupemainuntukbersiap-siapmelakukanpergerakan. • Bisa “mengulur” waktubeberaparatusmilisecond, bahkankebutuhanwaktu RTT. • Contoh lain : efeksuaradananimasiasap yang dilakukanseketikasetelah pistol ditembakkan. • Meskiefek (player/NPC mati) sesungguhnyabaruterasabeberapasaat, namunpemainakanmerasa game cukupresponsif.

  12. Game Cheat • Klasifikasidanpenamaanmetode cheat • Tidakadapenamaankhususuntuk cheat (sampaibukudibuat) • Namun cheat dapatdideskripsikandariatributberikut : • Apa yang diexplioted? (server, client) • Type darikegagalan yang terlibat? • Siapa yang melakukan cheat? • Setiap cheat memberikankeuntungandanresiko yang berbedadari cheat yang dipergunakan. • Resikomunculketika cheat menghasilkanperubahanpadagameplay yang disadariolehpemain lain, atau automated cheat detection • Resikobisaberupasangsi

  13. Server Side Cheat • Duakemungkinanutama • Server mengimplementasikangameplay rule yang incomplete dalammemprediksisemuakemungkinanaksi player • Administrator game server mungkintidakdapatdipercaya (taklukpadapengaruheksternal) • Contoh : escape cheat, jikatim server terlihatakankalah, maka server administrator dapatkeluardari game • Escape cheat dapatterjadipada game dimana server melupakan state player saatkeluar. • Ditanganidengan activity log, ataumemaksa player harustertampilhinggaakhirpermainan. • Skin cheat : merubahtimuntukmendapatkeuntungan. Contoh counter strike diversiawal.

  14. Client Side Cheat • Kebanyakan game berjalanpada client, termasuk rendering dlsb. • Cheat bisadilakukandenganmembuatbot yang menjalankansecaraotomatispermainanpadasaatkitaistirahat. Contohpergerakan mouse otomatis. • Aimbotpada FPS, ketika player melakukanperintah ‘tembak’, aimbotmengambilinformasilokasipenembak. Dapatdimanfaatkanuntukmenembakbalik. • Mengoverridepilihan avatar skin, gun, dlsbdaripemain lain • Menampilkantaktikkelayartentangpemain lain (contohkesehatan, senjata, jmlpasukan) yang seharusnyabelumbolehterlihat • Mengurangielemen game yang memungkinkan knowledge dari map/area (contoh fog, snow/rain, wall, box dlsb)

  15. Client Side Cheat • Wallhack : cheat yang memungkinkanmelihatpadadindingburam. • Dilakukandenganmemodifikasi client code secaralangsung, • ataubajudaripemain.

  16. Network Layer Cheat • Padajaringan, tidakadakontrolterhadappemakaian resource (baikberapa yang diterimaataudikirimkan) • Mekanisme authentication jugatidakadapada IP layer. • Dengankondisiini, memungkinkan Distributed Denial of Service (DDoS)

More Related