Home > Game and CG > Multiplayer/Online Game (1)

Multiplayer/Online Game (1)

Berikut ini beberapa hal yang saya rangkum dari beberapa sumber terkait dengan Multiplayer/Online Game, mudah-mudahan bermanfaat.

Multiplayer game telah berkembang dari game yang dimainkan hanya oleh dua pemain seperti Doom hingga ke banyak pemain seperti Quake 2, Unreal, dan Ultima Online.

Pada awalnya terdapat game peer-to-peer seperti Doom. Pada game ini setiap mesin mensinkronkran input dan waktu dengan mesin yang lainnya. Setiap mesin juga mempunyai game logic yang sama. Dengan demikian semua pemain mempunyai gambaran yang sama tentang kejadian yang ada dalam game. Pendekatan peer-to-peer ini cukup sederhana namun ada beberapa kelemahan, antara lain: game harus dimulai bersamaan, dan pemain  baru tidak bisa masuk dan keluar game semaunya. Selain itu  karena pada pendekatan ini setiap mesin harus menjalankan game dengan frame rate yang sama sedangkan kecepatan tiap-tiap mesin berbeda, cukup sulit untuk mensupport berbagai macam mesin yang mempunyai kecepatan yang berbeda-beda.

Kemudian muncullah arsitektur client-server yang pada awalnya diimplementasikan pada Quake. Pada pendekatan ini terdapat dua jenis mesin yang mempunyai fungsi yang berbeda. Pertama, Server yang mempunyai tugas untuk memberi keputusan terkait dengan event-event yang terjadi dalam game. Kedua, Client yang pada awalnya hanya bertugas sebagai dumb terminal yang mengirim input dari pemain ke server serta  menerima daftar objek dari server dan kemudian merendernya. Pada era selanjutnya client juga melakukan beberapa logika simulasi dan prediksi. Di sini client tidak hanya menerima daftar objek-objek yang akan dirender, namun juga trajectory dari objek-objek tersebut.

Terdapat juga arsitektur Hybrid yang diusulkan dalam sebuah paper. Arsitektur ini mengkombinasikan  sisi positif peer-to-peer dan client-server. Kebaikan dari sisi server, pemain tidak begitu mudah untuk melakukan cheating (bukan berarti tidak bisa) seperti halnya pada peer-to-peer karena serverlah yang memberi keputusan terhadap perubahan state dalam game. Sedangkan dalam peer-to-peer tidak terjadi bottleneck seperti pada client-server. Selain client, dalam arsitektur ini terdapat regional server dan sentral server. Regional server sebenarnya adalah beberapa client yang ditunjuk oleh sentral server untuk menghandle pergerakan posisi pemain, sedangkan sentral server sendiri hanya bertugas untuk menghandle perubahan state seperti: penyerangan terhadap lawan dan pengambilan item. Dengan arsitektur hybrid ini cheating pada peer-to-peer dan bottleneck pada client-server dapat dikurangi.

Untuk mengatasi masalah bottleneck pada server selain menggunakan arsitektur hybrid, juga dapat menggunakan arsitektur multi-server. Pada arsitektur ini load didistribusikan pada beberapa server.   Teknik pendistribusian loadnya ada beberapa macam, antara lain : zoning, replication dan instancing. Teknik zoning banyak diterapkan pada MMORPG. Pada metode ini, area dalam game dibagi kedalam beberapa zona dimana tiap zona dihandle oleh sebuah server. Di dalam sebuah paper luas zona ini dapat dibuat dinamis untuk mendapatkan load balance yang baik antar server. Pada teknik replication setiap server memiliki semua entitas (avatar,item,dsb) yang ada dalam game, tidak seperti teknik zoning dimana sebuah server hanya mempunyai entitas yang terbatas dalam wilayah otoritasnya. Pada teknik replication, Entitas terdiri atas entitas aktif dan entitas bayangan. Entitas aktif adalah entitas yang diciptakan oleh sebuah server, dan hanya server yang menciptakannyalah yang mempunyai otoritas terhadap entitas tersebut. Entitas bayangan merupakan salinan (copy) dari entitas aktif. Teknik ketiga adalah instancing, dimana pada teknik ini suatu area yang mempunyai densitas tinggi (padat penduduk) dapat dihandle oleh beberapa server. Dalam penerapannya ketiga teknik tersebut dapat saling dikombinasikan.

Referensi:

  1. http://unreal.epicgames.com
  2. Ng, B. and Lau, R. W. H. and Si, A. and Li, F, “Multi-server support for large scale distributed virtual environments”, IEEE transactions on multimedia., 7 (6). pp. 1054-1065, 2005.
  3. Roman Chertov , Sonia Fahmy, “Optimistic load balancing in a distributed virtual environment”, Proceedings of the 2006 international workshop on Network and operating systems support for digital audio and video, November 22-23, 2006, Newport, Rhode Island  [doi>10.1145/1378191.1378208]
  4. Jared Jardine , Daniel Zappala, “A hybrid architecture for massively multiplayer online games”, Proceedings of the 7th ACM SIGCOMM Workshop on Network and System Support for Games, October 21-22, 2008, Worcester, Massachusetts. doi>10.1145/1517494.1517507].
  5. Frank Glinka, Alexander Ploss, Sergei Gorlatch, and Jens Müller-Iden, “High-Level Development of Multiserver Online Games,” International Journal of Computer Games Technology, vol. 2008, Article ID 327387, 16 pages, 2008. doi:10.1155/2008/327387
Advertisements
Categories: Game and CG
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: