Minggu, 01 Mei 2016

Analisis Bahasa Pemrograman dan Algoritma pada Game 8 Pool

Berdasarkan postingan saya sebelumnya, saya membahas tentang game 8 Pool. Game ini dikembangkan oleh Miniclap.com. Pada awalnya hanya game ini hanya tersedia di media sosial yaitu Facebook. Seiring perkembangan zaman dan peminat yang begitu tinggi, game ini lalu di ciptakan di aplikasi berbasis Android dan IOS.
Game  8 poll merupakan suatu game online yang dimainkan dalam suatu jaringan dimana di butuhkan koneksi internet untuk memainkannya. Sehingga kita sebagai player dapat saling terhubung dengan player lain yang sedang online pada game tersebut.
Game 8 Pool ini adalah game berbasis Unity. Unity adalah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa untuk game PC dan game online. Bahasa pemrograman yang digunakan bermacam-macam, mulai dari JavaScript, C#, dan Boo.
Pada unity kita tidak bisa melakukan desaign atau modelling, dikarenakan unity bukan tool untuk mendsaign . Jadi jika kita ingin mendisign, kita membutuhkan aplikasi 3D editor lain seperti 3dsmax atau blender. Banyak hal yang dapat dilakukan di unity, ada fitur audio reverb zone, particle effect, sky box dan masih banyak lagi.
Detail :
·         Developer : Unity Technologies
·         Stable release : 3.4.2 / October 26, 2011
·         Written in : C++ , C#,  OS : Windows (creation and deployment), Mac OS X (creation and deployment), Wii*, iPhone/iPad*, Xbox 360*, Android*, PS3*
·         License : Proprietary
·         Website :  www.unity3d.com
                                                  
Features (Scripting)
·         Mendukung 3 bahasa pemrograman, JavaScript,  C#,  dan Boo.
·         Flexible and EasyMoving, rotating, dan scaling objects hanya perlu sebaris kode . Begitu juga dengan Duplicating, removing, dan changing properties.
·         Multi PlatformGame bisa di deploy di PC, Mac, Wii, iPhone, iPad dan browser, android.
·         Visual PropertiesVariables  yang di definisikan dengan scripts ditampilkan pada Editor.  Bisa digeser, di drag and drop, bisa memilih warna dengan color picker
·         Berbasis .NET –>Penjalanan program dilakukan dengan Open Source .NET platform,  Mono.



Perbandingan Unity3D dengan 3DGameStudio
ü  Fitur di Unity 3D yang versi Freeware sekalipun sudah melampaui fitur 3D GS versi Commercial. Memang ada beberapa fitur Unity 3D yang tidak muncul dibanding dengan versi Unity 3D Pro seperti Shadow Mapping, namun kemudahan (easy of use) saja sudah jauh mengalahkan 3D Gamestudio.
ü  Kalau anda sudah mencoba 3D GS sejak tahun 2002 dengan A5, maka anda akan menemukan sedikit peningkatan dan perbedaan dari MED (Model Editor) yang ada didalam 3D GS. Dan yang paling menyebalkan adalah fitur navigasi yang ada seakan muncul dari jaman baheula tanpa pernah ada inovasi. Bandingkan dengan Unity 3D yang mirip navigasinya dengan 3D editor modern semacam 3D Max maupun Maya. Hal ini menunjukkan bahwa Unity 3D terus melakukan improvisasi. Sesuatu yang sangat langka terjadi di 3D Gamestudio.
ü  Unity sudah memiliki fitur ini sementara 3D GS malah sampai sekarang tidak memunculkan isu untuk mengangkat topik ini ke rencana update. Sayangnya, dimata user hal ini sangat penting. Di era online sekarang, kemudahan untuk membuat game berbasis browser sudah menjadi kebutuhan minim. Apalagi di pasar indie gamedev hal ini menjadi penentu untuk berkompetisi dengan flash based browser game.
ü  3D GS tidak mampu menyaingi Unity 3D yang mensupport tidak hanya Window Based dan Mac namun juga browser based, Iphone dan XBOX. Woooww.. jangan bicara harga dulu. Tentu ada beda dan rangenya bila kamu mau mengembangkan game berbasis Iphone. Tapi lihat sisi hebatnya: Tidak perlu mempelajari pipeline yang berbeda atau baru untuk masuk ke platform konsol atau Iphone.

Fitur Unity 3D lebih banyak
Fitur di Unity 3D yang versi Freeware sekalipun sudah melampaui fitur 3D GS versi Commercial. Memang ada beberapa fitur Unity 3D yang tidak muncul dibanding dengan versi Unity 3D Pro seperti Shadow Mapping, namun kemudahan (easy of use) saja sudah jauh mengalahkan 3D Gamestudio. Bila anda sudah mencoba keduanya, dalam jangka waktu tidak terlalu lama anda akan segera merasakan. Bandingkan fitur dari 3D Gamestudio dengan Unity 3D.

Selain menganalisis diatas, saya juga akan menganalisis algoritma yang di pakai oleh game 8 pool ini. Pada game 8 pool ini menggunakan algoritma minimax.
Algoritma minimax merupakan algoritma yang diterapkan dalam game yang melibatkan dua pemain yang saling bergantian,  dan game yang menggunakan strategi atau logika lainnya. Persamaan antara semua game tersebut yaitu semua merupakan game logika dan game dengan informasi yang lengkap. Ini berarti bahwa game merupakan sekumpulan aturan main dan dasar pemikiran yang logis. Adanya aturan main dan dasar pemikiran yang logis tersebut, maka nantinya setiap pemain dapat mengetahui semua langkah yang mungkin dari pemain lawannya, sehingga pemain bisa tetap “memantau” kondisi permainan sewaktu game sedang berlangsung.
Algoritma minimax merupakan salah satu algoritma yang sering digunakan untuk game kecerdasan buatan yang menggunakan teknik depth first search (DFS) dalam pencariannya pada pohon dengan kedalaman terbatas. Algoritma minimax digunakan untuk memilih langkah terbaik, dimana kedua pemain akan saling berusaha untuk  memenangkan permainan. Selain itu, algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum.
Algoritma minimax mendeskripsikan kondisi apabila terdapat pemain yang mengalami keuntungan, pemain lain akan mengalami kerugian senilai dengan keuntungan yang diperoleh lawan dan sebaliknya.
Algoritma minimax akan melakukan pengecekan pada seluruh kemungkinan yang ada, sehingga akan menghasilkan pohon permainan yang berisi semua kemungkinan permainan tersebut . Dengan pohon permainan ini setiap pemain mengetahui langkah-langkah yang mungkin diberikan pada situasi permainan saat ini. Sehingga untuk setiap langkah dan semua langkah selanjutnya dapat diketahui. Dalam repersentasi pohon pada algoritma minimax, terdapat dua jenis simpul, yaitu simpul min dan simpul max. Max akan memilih langkah dengan nilai tertinggi dan min akan memilih langkah dengan nilai terendah .
Dalam penentuan keputusan max/min tersebut dibutuhkan suatu nilai yang merepresentasikan kerugian atau keuntungan yang akan diperoleh jika langkah tersebut dipilih. Untuk itulah disini digunakan sebuah fungsi heuristik.
Fungsi heuristik yang digunakan algoritma ini adalah fungsi heuristik statis. Fungsi heuristik digunakan untuk mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih.Dari nilai-nilai heuristik inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristik yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer.


Sumber :


Tidak ada komentar:

Posting Komentar