Minggu, 06 Maret 2016

Kupas Tuntas Game : Dota2




Pengenalan
Dota 2 adalah sebuah permainan multiplayer online battle arena, merupakan sekuel dari Defense of the Ancient mod pada Warcraft 3 : Reign of Chaos dan Warcraft 3 : The Frozen Throne. DotA 2 dikembangkan oleh Valve Corporation, terbit juli 2013 dota 2 dapat dimainkan secara gratis pada operation system Microsoft Windows, OS X and Linux. Dota 2 dapat dimainkan secara eksklusif melalui distributor resmi valve, Steam.
Dota 2 dimainkan oleh 2 team yang beranggota 5 orang pemain, setiap tim memiliki markas yang berada dipojok peta, setiap markas memiliki satu bangunan bernama "Ancient", Dimana tim harus berusaha menghancurkan "Ancient" tim lainnya agar dapat memenangkan pertandingan. Setiap pemain mengontrol satu karakter "Hero" yang berfokus pada menaikan level, mengumpulkan gold, membeli item dan melawan tim lawan untuk menang.
Pengembangan Dota 2 dimulai sejak tahun 2009. Ketika pengembang mod DotA, Icefrog, dipekerjakan oleh Valve sebagai lead designer. Dota 2 dipuji oleh kritikus karena gameplay-nya, kualitas pembuatan dan kesetiaan pada gameplay pendahulu (DotA mod Warcraft 3). tetapi Dota 2 juga menuai kritik sebagai game yang susah dipelajari dan para pemain yang tidak ramah. Dota 2 menjadi game yang memiliki aktifitas pemain paling banyak di Steam, dengan pucak 800,000 pemain online bersamaan setiap hari.

Gameplay
Dota 2 mengadu 2 tim berisikan masing-masing 5 pemain, tim sebelah kiri disebut "Radiant" dan tim sebelah kanan disebut "Dire, dimana keduanya memiliki markas utama yang disebut Ancient dan tim pertama yang berhasil menghancurkan Ancient lawan adalah pemenangnya. Terdapat 3 jalan atau jalur (disebut ‘lanes’) yang menghubungkan kedua Ancient tersebut dan pasukan (‘creeps’) yang spawn atau muncul secara berkala di jalur-jalur tersebut, Setiap 'lanes' memiliki 3 menara yang akan menyerang hero atau creeps didekatnya (disebut 'tower'). Pada tower terakhir terdapat 2 barracks yaitu melee barracks dan ranged barracks. Apabila melee barracks atau ranged barracks hancur, Maka creeps musuh akan bertambah kuat (disebut 'super melee creeps atau super ranged creeps), bertarung dengan ‘creeps’ lawan di sepanjang pertempuran menuju Ancient lawan.
Masing-masing pemain dapat mengendalikan sebuah unit/ karakter yang disebut ‘Hero’ yang dipilih pada awal permainan. Terdapat lebih dari 100 Hero dengan type yang berbeda : Strength, Agility dan Intelligence. Setiap Hero memiliki 4 skill (beberapa memiliki lebih) aktif maupun pasif. Dengan membunuh creeps, menaikkan level, membeli item dan membuat keputusan strategi, pemain akan berusaha menjelajah map untuk menghancurkan Ancient lawannya.

Penggunaan Algoritma Pada Game DotA2
Untuk mengetahui algoritma pada suatu game, kita perlu melihat perilaku AI nya terlebih dahulu. AI di DotA2 sudah sangat kompleks. Dia dapat bermain sebaik manusia, dapat membeli item, push, defend, attack, dll.
1.       Membeli Item
Hero dapat membeli item untuk digunakan dalam pertempuran. Item dibutuhkan untuk memperkuat hero nya tersebut. AI dalam melakukan pembelian barang menggunakan algoritma Greedy. Dengan uang yang dimiliki oleh AI, AI akan membeli item termurah yang dapat dibeli dengan uang yang dimilikinya, akan tetapi pembelian barang dan item tidak sembarangan karena setiap AI sudah memiliki daftar item yang harus dibeli untuk hero yang digunakannya.
Kelemahan dari algoritma ini:
  1. AI terkadang membeli resep (resep digunakan untuk menyatukan beberapa item menjadi item yang  lebih baik) terlebih dahulu dibandingkan dengan membeli bahannya karena harga resep yang lebih  murah dibandingkan dengan harga bahan item.
  2. Penggunaannya untuk pembelian item adalah ketika AI tidak memiliki uang yang cukup untuk  membeli bahan item untuk membuat item, AI akan membeli barang- barang yang tidak terlalu diperlukan sehingga pembuatan item berlangsung lama.
  3. AI di DotA2 tidak bisa menabung uang untuk membeli item secara langsung. Ketika berada di kondisi kalah, dimana biasanya uang yang dimiliki sedikit, AI tidak akan mampu membeli item yang diinginkannya, sehingga AI hanya membeli obat-obatan. Yang mana hal ini akan menyebabkan AI tidak dapat menabung untuk item yang seharusnya AI beli. Akan tetapi dari segi lain, dengan menghabiskan uang untuk pembelian item dan obat-obatan, AI memanfaatkan uangnya dengan baik tanpa kehilangan uang ketika heronya dikalahkan oleh musuh.

2.       Last hit / deny Creep
Dalam Last Hit/Deny Creep, AI menggunakan algoritma Greedy. AI akan last hit Creep yang memiliki darah tersedikit dan berada di sekitarnya. Dalam melakukan last hit Creep ini, AI memiliki tiga perhitungan prioritas yaitu:
  • Creep teman.
    Dalam kondisi difficult tertentu (Hard/Unfair), AI akan lebih sering mendeny creepnya terlebih dahulu dari pada last hit creep musuh.
  • Creep musuh.
    Hero DotA ada beberapa jenis seperti Carry, Support, Tanker, dll. Untuk tipe Carry akan lebih sering menglast hit creep musuh dari pada deny. Tapi untuk support akan lebih banyak mendeny creep nya sendiri.
  • Creep lain.
    Creep lain ada creep hutan maupun roshan. Kadang mereka akan ke hutan untuk mencari gold dan exp lagi di hutan. Atau mengalahkan Roshan untuk mendapatkan Aegis of Immortality.
Jadi jika terdapat Creep yang sekarat di sekitarnya, AI akan mendapatkannya. Algoritma ini cukup efektif digunakan untuk hal ini karena AI akan bergerak hanya ketika terdapat Creep yang sekarat. Kelemahan agoritma ini yaitu menyebabkan AI tidak menghiraukan serangan terhadap heronya ketika berusaha menghancurkan Creep/mudah dicicil HPnya.

3.       Attack hero musuh atau kabur dari musuh

Dalam memperhitungkan kapan menyerang hero musuh, AI juga akan menggunakan algoritma Greedy. Selama AI berada dalam posisi menguntungkan, yaitu:
  1. Hero AI memiliki jarak serang yang lebih jauh dibandingkan dengan jarak serang hero musuh.
  2. Hero AI memiliki darah yang lebih banyak dibandingkan hero musuh.
  3. Hero AI memiliki level yang lebih tinggi dibanding hero musuh.
  4. Hero musuh berada di wilayah kekuasaan AI.
  5. Hero AI memiliki item yang lebih banyak dari hero musuh.
Kelebihan dari algoritma Greedy dalam hal ini, dengan kondisi awal yang jelas, AI menjadi lebih hati-hati dalam menyerang dan bertahan. Kekurangan dari algoritma ini AI tidak terlalu memikirkan keadaan sekitar setelah aksi yang dilakukannya, misal AI menyerang hero musuh, AI akan terus menyerang walaupun hero musuh dibantu oleh Creepnya.  Sehingga AI jadi sering menerobos barisan pertahanan musuh secara paksa dan membuat HPnya berkurang secara drastic.
Kekurangan algoritma Greedy yang digunakan dalam usaha kabur adalah AI tidak memikirkan apa saja yang akan terjadi nanti, jadi ketika sedang berada di posisi yang tidak menguntungkan bagi heronya maka AI akan kabur walaupun terkadang heronya dapat menghancurkan bangunan atau hero musuh dengan kondisi heronya yang tidak menguntungkan tersebut. Tetapi di kasus lain, algoritma Greedy ini memberikan solusi terbaik yaitu menghindarkan hero AI untuk dikalahkan.

4.       Defend/Bertahan
Dalam melindungi bangunannya AI memiliki dua cara, yaitu :
  1. Menggunakan Glyph yang menyebabkan bangunan menjadi kebal.
  2. Mendatangi bangunan dan melindunginya secara langsung.
Jika Glyph tersedia dan tidak berada dalam waktu tunggu maka AI akan menggunakan Glyph. Akan tetapi jika Glyph tidak tersedia, AI akan pergi ke tempat yang diserang untuk bertahan.
Beberapa keuntungan dalam penggunaan algoritma Greedy di dalam perlindungan bangunan ini adalah AI sangat protektif dengan bangunannya. Kelemahannya yaitu AI terlalu berlebihan dalam melindungi bangunannya, karena AI tidak memikirkan tingkat bahaya serangan yang dilakukan. Jika kita menyerang salah satu bangunannya mereka akan langsung TP/Teleport ke bangunan yang diserang. Itu jelas akan merugikan AI saaat mereka sedang pushing dan membuang uangnya untuk terus membeli TP.

URL : 
http://blowfarryaway.blogspot.co.id/2012/05/algoritma-pada-dota.html
http://dota2.gamepedia.com/Dota_2_Wiki


1 komentar: