Archive

Archive for December, 2010

Multiplayer/Online Game (1)

December 19, 2010 Leave a comment

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

Life Journey

December 18, 2010 2 comments

Tersesat, mungkin inilah yang terjadi pada diriku saat ini. Tak tau harus kemana, tak tahu harus bagaimana. Seperti seorang yang tidak punya masa depan saja. Sejak kecil hingga masuk ke jenjang perguruan tinggi, orang tua lah yang selalu mengarahkan. Saya sebagai anak ya menurut saja. Entah itu sebagai bentuk kepatuhan atau memang saya terlalu malas untuk memikirkan masa depan saya sendiri.

Waktu kecil saya sempat bercita-cita menjadi pilot (angkatan udara), karena dulu saya sangat menyukai pesawat terbang. Namun niat itu saya urungkan setelah mendengar kabar bahwa orang yang giginya berlubang tidak boleh menjadi seorang pilot J. Entah itu benar atau tidak sampai sekarang saya pun tidak tahu.

Sejak SMP saya mulai menyukai bidang Elektronika. Saya masih ingat dulu pernah membuat sebuah adaptor sebagai praktikum Elektronika. Saya juga pernah membuat bel pintu, hanya saja cuma buat mainan saja dan tidak dipakai semestinya.

Setelah lulus SMA, saya sempat ragu untuk memutuskan kemana saya akan pergi. Orang tua saya berkeinginan supaya saya melanjutkan ke perguruan tinggi, “Mumpung Ayah dan Ibu masih bisa membiayai kamu lho” itulah kata-kata Ayah yang masih saya ingat sampai sekarang J.  Akhirnya saya bertekad untuk meneruskan studi saya ke perguruan tinggi.

Untuk persiapan mengikuti SMPTN (Seleksi Masuk Perguruan Tinggi Negeri), saya intensif di sebuah bimbingan belajar (SSC)  selama kurang lebih 1~2 bulan. Selama masa karantina, saya sempat bimbang memilih PTN dan Bidang studi. Di antara dua pilihan, “Informatika” atau “Elektro”. Dengan berbagai pertimbangan, akhirnya saya memilih “Elektro” :D.

Setelah melalui masa karantina dan berbagai macam ujian (lebai :D),  Alhamdulillah saya diterima di PTN yang saya tuju.

“Selamat Datang di Kampus Perjuangan”, begitulah sambutan yang tertulis di sebuah spanduk yang membentang di pintu gerbang “Institut Teknologi Sepuluh Nopember Surabaya (ITS)”.

Mulailah kehidupan kampus yang penuh perjuangan :D. Pengkaderan/perploncoan dsb.

Saya sempat diajak teman saya untuk menjadi staff di divisi usaha Badan Eksekutif Mahasiswa tingkat Fakultas. Di sana saya mendapatkan ilmu berorganisasi dan berwirausaha. Sejak tahun ke-3 perkuliahan, saya mulai fokus untuk masuk laboratorium dan mulai meninggalkan kehidupan organisasi di luar lab. Di Laboratorium saya banyak mendapat ilmu tentang pemrograman dan jaringan komputer. Tidak hanya itu saja, ketrampilan bersih-bersih lab juga tidak ada duanya jika dibandingkan dengan lab-lab bidang studi lainnya :D. Di Lab ternyata juga bias berkarir, mulai dari staff, admin, hingga koordinator asisten pernah saya lalui.

Mendekati smester akhir, saya memutuskan untuk mengambil tugas akhir seputar Grid Computing, yaitu komputasi tersebar dengan memanfaatkan komputer-komputer yang sedang idle untuk dipakai sebagai sumber komputasi.

Setelah lulus dari perguruan tinggi, saya bekerja di sebuah perusahaan Integrator selama 10 bulan sebagai Junior Programmer. Alhamdulillah selama 10 bulan tersebut saya mendapatkan banyak pengalaman, terutama ketika bekerja under pressure.

Dari dosen elektro (Bpk. Hariadi), ada kabar tentang beasiswa study S2 ke Jepang. Mulanya saya sempat ragu-ragu mengingat IPK dan Toefl yang tidak begitu bagus. Setelah melalui proses seleksi dokumen dan interview, Mungkin karena faktor X saya bisa diterima di sebuah perguruan tinggi di jepang dengan beasiswa monbukagakusho.

“Tokyo University of Technology” itulah nama kampus saya yang terletak di Hachioji, Tokyo. Tak pernah sekalipun saya membayangkan bisa bersekolah di negeri sakura ini. Life Expense yang sangat tinggi, membuat saya harus berpikir berulang-ulang ketika hendak membeli barang kebutuhan.

Akademikpun tak lepas dari tantangan. Bahasa Jepang, itulah bahasa yang saya anggap paling sulit saat ini. Dalam Bahasa Jepang terdapat beberapa tingkat kesopanan. Hal ini diterapkan ketika berbicara dengan teman, dosen, atau rekan bisnis. Dalam istilah bahasa jawa mungkin seperti : ngoko,  madya, krama. Dalam bahasa jepang juga terdapat tenses seperti halnya bahasa inggris. Tata bahasa yang digunakan dalam percakapan juga berbeda dengan tata bahasa tulisan. Dan yang tak kalah menarik adalah Kanji :D. ada berpuluh2 ribu jumlah huruf kanji. Sekitar 2000 huruf kanji yang umum dipakai.

Soal Riset, di sini sistemnya cukup bagus. Setiap minggu terdapat presentasi riset dari tiap mahasiswa. Dengan dengan demikian diharapkan bisa mempercepat selesainya riset tersebut. Originalitas dan nilai tambah dari sistem/produk yang dihasilkan juga sangat diperhatikan.

Saat ini saya melakukan riset tentang online game. Riset yang bertemakan game cukup sulit dilakukan terutama yang menyangkut teknologi, karena pada umumnya riset-riset yang dilakukan oleh perusahaan game bersifat closed. Hal ini menjadi kesulitan tersendiri bagi para researcher untuk melakukan assessment terhadap sistem/produk yang dihasilkan.

Categories: Life