Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Agung Toto Wibowo Armitage, Grenville, Claypool, Mark, and Branch, Philip "Networking and Online Games.

Presentasi serupa


Presentasi berjudul: "Agung Toto Wibowo Armitage, Grenville, Claypool, Mark, and Branch, Philip "Networking and Online Games."— Transcript presentasi:

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  Tanpa prediksi, state masih memungkinkan berbeda pada tiap client (butuh waktu menerima [setengah RTT] world state dari server)  Jika ada client yang sangat jauh dari server dibandingkan dengan client yang dekat dengan server (RTT1> RTT2), maka akan tidak adil dari sisi gameplay  Contoh :  Game membunuh monster, jika berhasil akan ditambahkan koin yang dapat digunakan untuk membangun fasilitas.  Perbedaan jarak (dalam terminologi RTT) mengakibatkan ketidak adilan gameplay.

3 Time Manipulation  Meskipun kebanyakan game dinyatakan real time, waktu dapat dimanipulasi untuk mengatasi perbedaan latency.  Dua teknik yang dapat melakukannya :  Time Delay : untuk mengatasi latency lama  Time Wrap : untuk mengakomodasi latency yang singkat

4 Time Delay  untuk mengatasi perbedaan delay pemrosesan / pengiriman perintah user untuk meratakan latency.  Daripada memproses perintah client langsung, server dapat menunda perintah ini beberapa waktu  Sehingga membolehkan client pada jarak yang jauh untuk merespon game state.

5 Time Wrap  Mekanisme manipulasi waktu yang memungkinkan server untuk me-rollback (time wrap) event pada game ketika sebuah perintah client diinputkan  Contoh kasus :  Pada T0, seorang pemain menembak lawan  Message datang di server pada T2  Dan lawan telah bergerak pada T1  Menggunakan time wrap, server melakukan rollback event yang telah diproses mulai client menggenerate input. (T0 pada kasus di atas)

6 Time Wrap  Algoritma  Terima packet dari client  Ekstak informasi (user input)  Elapsed time = current time – latency to client  Rollback semua event dalam reverse order sampai current time – elapsed time  Eksekusi perintah user  Ulangi semua event untuk mengupdate efek dari client  Ulangi game loop.

7 Time Wrap  FPS Half-Life 2 mentest time wrap dengan tambahan lag pada client.

8 Data Compression [1]  Lossless Compression :  data dapat dikompress dengan berbagai algoritma yang umum.  Kompresi harus lossless, dan dapat dikembalikan saat di uncompress.  Beberapa yang sering digunakan : LZW  Delta Comression  Daripada mengirimkan semua informasi state, memungkinkan hanya mengirim perubahan/update (delta) dari state sebelumnya.  Efeknya, membutuhkan pengiriman data yang reliable (contoh TCP)  Efektif jika state game world besar, namun perubahan yang ada kecil.

9 Data Compression [2]  Interest Management  Daripada mengirimkan data ke semua client, dapat dikirimkan data yang menjadi interest bagi client untuk dikirim.  Area dari interest client disebut aura dimana interaksi antara client dan unit game lain terjadi.

10 Data Compression [3]  Peer-ToPeer  Client mengirimkan data secara langsung dapat mengurangi bitrate server.  Digunakan untuk pengiriman berbagai aspek game seperti voice, avatar, dlsb.  Update Aggregation  Mengirimkan update pada periode tertentu dapat mengurangi network overhead  Contoh : daripada mengirimkan pergerakan A pada t1, dan B pada t2 ke player C dua kali, server dapat mengirimkannya sekali, sehingga mengurangi waktu packing, dan pengiriman.  Update agregation jg dilakukan dengan mengurangi jml pesan yang dikirimkan.  Contoh pemain menggerakkan avatar wajah ke kiri, kekanan, beberapa kali, maka server dapat mengagregat dengan mengirimkan pergerakan terakhir yang terlihat.

11 Visual Trick  Tidak berhubungan dengan network, tapi dapat mengatasi latency  Contoh : animasi pada kapal atau pemain untuk bersiap-siap melakukan pergerakan.  Bisa “mengulur” waktu beberapa ratus milisecond, bahkan kebutuhan waktu RTT.  Contoh lain : efek suara dan animasi asap yang dilakukan seketika setelah pistol ditembakkan.  Meski efek (player/NPC mati) sesungguhnya baru terasa beberapa saat, namun pemain akan merasa game cukup responsif.

12 Game Cheat  Klasifikasi dan penamaan metode cheat  Tidak ada penamaan khusus untuk cheat (sampai buku dibuat)  Namun cheat dapat dideskripsikan dari atribut berikut :  Apa yang diexplioted? (server, client)  Type dari kegagalan yang terlibat?  Siapa yang melakukan cheat?  Setiap cheat memberikan keuntungan dan resiko yang berbeda dari cheat yang dipergunakan.  Resiko muncul ketika cheat menghasilkan perubahan pada gameplay yang disadari oleh pemain lain, atau automated cheat detection  Resiko bisa berupa sangsi

13 Server Side Cheat  Dua kemungkinan utama  Server mengimplementasikan gameplay rule yang incomplete dalam memprediksi semua kemungkinan aksi player  Administrator game server mungkin tidak dapat dipercaya (takluk pada pengaruh eksternal)  Contoh : escape cheat, jika tim server terlihat akan kalah, maka server administrator dapat keluar dari game  Escape cheat dapat terjadi pada game dimana server melupakan state player saat keluar.  Ditangani dengan activity log, atau memaksa player harus tertampil hingga akhir permainan.  Skin cheat : merubah tim untuk mendapat keuntungan. Contoh counter strike diversi awal.

14 Client Side Cheat  Kebanyakan game berjalan pada client, termasuk rendering dlsb.  Cheat bisa dilakukan dengan membuat bot yang menjalankan secara otomatis permainan pada saat kita istirahat. Contoh pergerakan mouse otomatis.  Aimbot pada FPS, ketika player melakukan perintah ‘tembak’, aimbot mengambil informasi lokasi penembak. Dapat dimanfaatkan untuk menembak balik.  Mengoverride pilihan avatar skin, gun, dlsb dari pemain lain  Menampilkan taktik ke layar tentang pemain lain (contoh kesehatan, senjata, jml pasukan) yang seharusnya belum boleh terlihat  Mengurangi elemen game yang memungkinkan knowledge dari map/area (contoh fog, snow/rain, wall, box dlsb)

15 Client Side Cheat  Wallhack : cheat yang memungkinkan melihat pada dinding buram.  Dilakukan dengan memodifikasi client code secara langsung,  atau baju dari pemain.

16 Network Layer Cheat  Pada jaringan, tidak ada kontrol terhadap pemakaian resource (baik berapa yang diterima atau dikirimkan)  Mekanisme authentication juga tidak ada pada IP layer.  Dengan kondisi ini, memungkinkan Distributed Denial of Service (DDoS)


Download ppt "Agung Toto Wibowo Armitage, Grenville, Claypool, Mark, and Branch, Philip "Networking and Online Games."

Presentasi serupa


Iklan oleh Google