PRILAKU MELARIKAN DIRI NPC BERBASIS GAME RPG DENGAN MENGGUNAKAN METODE RULE-BASED MANAGEMENT

PRILAKU MELARIKAN DIRI NPC BERBASIS GAME

  

MANAGEMENT

  1 Hardianto Wibowo 1) Jurusan Teknik Informatika, Fakultas Teknik Universitas Muhammadiyah Malang

  Email : ardi@umm.ac.id Abstrak

  

Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan

ada yang kalah, biasanya game dimainkan dalam konteks tidak serius atau dengan tujuan refreshing.

Game dalam bahasa Indonesia berarti permainan, ada permainan tradisional yaitu permainan yang

dimainkan turun-temurun dari nenek moyang seperti petakumpet, gangsing dan lain-lain, ada juga

permainan modern yang dapat dibeli ditoko yang menyediakannya. Perkembangan teknologi yang

semakin maju di semua bidag khususnya pada dunia game, menjadikan teknologi game dapat

dimainkan di komputer atau dalam perangkat bergerak. Hal tersebut dapat memudahka dan sekaligus

menjadikan game lebih powerfull. Salah satu cara untuk menjadikan game menjadi lebih menarik

yaitu dengan menggunakan artificial intelligence (AI). Pada umumnya, algoritma diimplementasikan

di dalam sebuah game sebagai bentuk dari artificial intelligence (AI). Implementasi artificial

intelligence pada sebuah game dapat berupa chasing and evading, movement, pathfinding, maupun

decisions. Melarikan diri merupakan sebuah prilaku yang diangap perlu pada sebuah permainan agar

permaian tersebut menjadi menarik. Melarikan diri dapat juga disimpulkan sebagai kondisi untuk

mencari posisi yang lebih aman untuk bertahan ataupun menyerang. Melarikan diri bukan berarti

berlari keluar dari sebuah permaian, tapi lebih mengarah keluar dari kondisi yang membahayakan

NPC (non playing character) untuk menyusun strategi berikutnya, baik bertahan maupun menyerang.

  Kata Kunci: Prilaku NPC, R u l e B a s e d , Game Pendahuluan

  Perkembangan ilmu pengetahuan dan teknologi semakin lama kian pesat. Hal tersebut dapat kita lihat dan kita rasakan di sekeliling kita. Secara langsung maupun tidak langsung perkembangan tersebut tengah berdampak pada segala aspek kehidupan manusia, salah satunya pada dunia game.

  Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang

  dan ada yang kalah, biasanya game dimainkan dalam konteks tidak serius atau dengan tujuan refreshing. Game dalam bahasa Indonesia berarti permainan, ada permainan tradisional yaitu permainan yang dimainkan turun-temurun dari nenek moyang seperti petakumpet, gangsing dan lain- lain, ada juga permainan modern yang dapat dibeli ditoko yang menyediakannya. Perkembangan teknologi yang semakin maju di semua bidag khususnya pada dunia game, menjadikan teknologi game dapat dimainkan di komputer atau dalam perangkat bergerak. Hal tersebut dapat memudahka dan sekaligus menjadikan game lebih powerfull. Salah satu cara untuk menjadikan game menjadi lebih menarik yaitu dengan menggunakan artificial intelligence (AI).

  Pada umumnya, algoritma diimplementasikan di dalam sebuah game sebagai bentuk dari

  

artificial intelligence (AI). Implementasi artificial intelligence di dalam karakter pada sebuah game

  dapat membuat karakter tersebut memiliki perilaku cerdas. Karakter tersebut dapat berperilaku sesuai dengan yang terjadi di dunia nyata sehingga gameplay akan terlihat realistis. Selain itu, implementasi

  

artificial intelligence juga dapat membuat sebuah game semakin menantang, menarik, dan

  menyenangkan untuk dimainkan. Implementasi artificial intelligence pada sebuah game dapat berupa maupun decisions.

  chasing and evading, movement, pathfinding,

  Melarikan diri merupakan sebuah prilaku yang diangap perlu pada sebuah permainan agar permaian tersebut menjadi menarik. Melarikan diri dapat juga disimpulkan sebagai kondisi untuk mencari posisi yang lebih aman untuk bertahan ataupun menyerang. Melarikan diri bukan berarti berlari keluar dari sebuah permaian, tapi lebih mengarah keluar dari kondisi yang membahayakan NPC (non playing character) untuk menyusun strategi berikutnya, baik bertahan maupun menyerang.

2. Pengertian Game

  Game dalam bahasa Indonesia berarti permainan,permainan adalah kegiatan yang kompleks

  yang didalamnya terdapat peraturan, play dan budaya. Ada permainan traditional yang merupakan permainan keturunan leluhur dan dimainkan turun-temurun seperti gangsing, petak umpet dan lain- lain, ada juga permainan modern yaitu permainan yang bisa didapatkan di toko yang menyediakannya. Permainan juga merupakan sebuah system, dan seorang pemain akan masuk ke dalam sebuah konflik buatan dengan peraturan sebagai pembatas untuk membatasi perilaku dan menentukan alur permainan. Tujuan dari permainan biasanya sebagai penyalur hobi, sebagai kegitan penghibur, dan juga refreshing, bahkan pada saat ini game juga dapat digunakan sebagai media pembelajaran.

  Game bisa juga dikatakan sebagai sebuah aktivitas terstruktur, dan bisa dikarakteristikkan dari

  apa yang pemain lakukan, contoh :  Peralatan Contoh : Bola, Kartu, Papan, atau sebuah Komputer.

   Peraturan Peraturan digunakan sebagai tata cara permainan meliputi giliran pemain, hak dan keharusan tiap- tiap pemain, dan tujuan permainan.  Skill, Strategi, dan Keberuntungan

  Game dengan skill, contohnya game catur, dimana diperlukan logika dan strategi untuk

  memenangkannya. Game dengan keberuntungan contohnya bermain kartu, dimana bukan hanya teknik yang diperlukan, tapi juga keberuntungan.  Single-Player Game (satu orang pemain) dan Multi-Player (lebih dari satu pemain)Jika Single-

  , pemain harus bermain dengan keahlian, berpacu dengan waktu dan keberuntungan,

  Player

  sedangkan Multi-Player pemain diharuskan untuk menggunakan suatu strategi dan kekompakan sesama pemain, untuk mencapai tujuan tertentu atau sebaliknya pemain harus berlomba dengan pemain lainnnya untuk mencapai suatu tujuan.

  Game sebenarnya sangat penting untuk perkembangan otak, karena dalam game terdapat

  permasalahan, tantangan, dan kelincahan yang akan memicu kreatifitas seorang pemain untuk menyelesaikan atau melewati sebuah konflik yang ada. Tetapi game juga dapat merugikan jika di mainkan tanpa rasa tanggung jawab, karena jika seorang pemain yang sudah terlanjur kecanduan oleh

  

game mereka cenderung lupa waktu, menggangu aktifitas yang seharusnya dilakukan, dan bahkan

melalaikan kewajiban.

  Game dalam bahasa Indonesia berarti permainan,permainan adalah kegiatan yang kompleks

  yang didalamnya terdapat peraturan, play dan budaya. Ada permainan traditional yang merupakan permainan keturunan leluhur dan dimainkan turun-temurun seperti gangsing, petak umpet dan lain- lain, ada juga permainan modern yaitu permainan yang bisa didapatkan di toko yang menyediakannya. Permainan juga merupakan sebuah system, dan seorang pemain akan masuk ke dalam sebuah konflik buatan dengan peraturan sebagai pembatas untuk membatasi perilaku dan menentukan alur permainan. Tujuan dari permainan biasanya sebagai penyalur hobi, sebagai kegitan penghibur, dan juga refreshing, bahkan pada saat ini game juga dapat digunakan sebagai media pembelajaran.

  Game bisa juga dikatakan sebagai sebuah aktivitas terstruktur, dan bisa dikarakteristikkan dari

  apa yang pemain lakukan, contoh :  Peralatan Contoh : Bola, Kartu, Papan, atau sebuah Komputer.

   Peraturan Peraturan digunakan sebagai tata cara permainan meliputi giliran pemain, hak dan keharusan tiap- tiap pemain, dan tujuan permainan.  Skill, Strategi, dan Keberuntungan

  Game dengan skill, contohnya game catur, dimana diperlukan logika dan strategi untuk

  memenangkannya. Game dengan keberuntungan contohnya bermain kartu, dimana bukan hanya teknik yang diperlukan, tapi juga keberuntungan.  Single-Player Game (satu orang pemain) dan Multi-Player (lebih dari satu pemain)Jika Single-

  Player , pemain harus bermain dengan keahlian, berpacu dengan waktu dan keberuntungan, sedangkan Multi-Player pemain diharuskan untuk menggunakan suatu strategi dan kekompakan sesama pemain, untuk mencapai tujuan tertentu atau sebaliknya pemain harus berlomba dengan pemain lainnnya untuk mencapai suatu tujuan.

  Game sebenarnya sangat penting untuk perkembangan otak, karena dalam game terdapat

  permasalahan, tantangan, dan kelincahan yang akan memicu kreatifitas seorang pemain untuk menyelesaikan atau melewati sebuah konflik yang ada. Tetapi game juga dapat merugikan jika di mainkan tanpa rasa tanggung jawab, karena jika seorang pemain yang sudah terlanjur kecanduan oleh

  

game ,mereka cenderung lupa waktu, menggangu aktifitas yang seharusnya dilakukan, dan bahkan

melalaikan kewajiban.

3. Rule Based

  Sistem berbasis aturan (Rule Based System) adalah suatu program komputer yang memproses informasi yang terdapat di dalam working memory dengan sekumpulan aturan yang terdapat di dalam basis pengetahuan menggunakan mesin inferensi untuk menghasilkan informasi baru.

  Sebuah Rule-Based System dapat dibentuk dengan menggunakan sebuah assertions set, yang secara kolektif membentuk working memory, dan sebuah rule set yang menentukan aksi pada assertions set. RBS secara relatif adalah model sederhana yang bisa diadaptasi ke banyak masalah. Namun, jika ada terlalu banyak peraturan, pemeliharaan sistem akan rumit dan terdapat banyak failure dalam kerjanya. Untuk membuat sistem berbasis aturan, anda harus memiliki : 1.

  Sekumpulan fakta yang mewakili working memory. Ini dapat berupa suatu keadaan yang relevan dengan keadaan awal sistem bekerja.

  2. Sekumpulan aturan. Aturan ini mencakup setiap tindakan yang harus diambil dalam ruang lingkup permasalahan yang dibutuhkan.

  3. Kondisi yang menentukan bahwa solusi telah ditemukan atau tidak (none exist). Hal ini berguna untuk menghindari looping yang tidak akan pernah berakhir.

  Teori sistem berbasis aturan ini menggunakan tekhnik yang sederhana, yang dimulai dengan dasar aturan yang berisi semua pengetahuan dari permasalahan yang dihadapi yang kemudian dikodekan ke dalam aturan IF-THEN dan sebuah tempat penyimpanan (basis data) yang mengandung data, pernyataan dan informasi awal. Sistem akan memeriksa semua aturan kondisi (IF) yang menentukan subset, set konflik yang ada. Jika ditemukan, maka sistem akan melakukan kondisi THEN. Perulangan atau looping ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu, jika aturan tidak diketemukan maka sistem tersebut harus keluar dari perulangan (terminate).

  3.1 Pendekatan

   Forward Chaining : dimana rules diproses berdasarkan sejumlah fakta yang ada, dan didapatkan konklusi sesuai dengan fakta-fakta tersebut. Pendekatan forward chaining disebut juga data driven.  Backward Chaining : dimana diberikan target (goal), kemudian rulesyang aksinya mengandung goal di-trigger. Backward chaining ini cocok untuk menelusuri fakta yang masih belum lengkap, disebut jugagoal driven.

  3.2 Strategi Rule-Base System

   First Applicable : Ini adalah strategi yang paling sederhana tetapi berpotensi menimbulkan masalah besar, yaitu akan terjadinya looping yang tak terbatas pada kondisi yang sama.  Random : Meskipun tidak menggunakan prediksi atau first applicable control, metode ini cukup memberikan keuntungan, yaitu dapat diprediksi (seperi game yang membutuhkan strategi). Sebuah strategi acak akan memilih aturan acak tunggal dari sebuah set konflik. Kemungkinan lain untuk strategi acak adalah dengan sistem berbasis aturan fuzzy (fuzzy rule based system) dimana masing-masing aturan memiliki probabilitas sebuah kondisi akan lebih mungkin terjadi daripada yang lainnya.

   Most Spesific : Strategi ini berdasarkan pada jumlah kondisi aturan. Hal ini didasari pada asumsi jika ia memiliki sebagian besar kondisi maka memiliki relevansi ke data yang ada.  Least Recently Used : Menyimpan data yang terakhir dipakai untuk selanjutnya dipakai kembali ke dalam permasalahan jika memang problem yang dihadapi sama.

4. Pengujian

  4.1 Tingkah Laku Melarikan Diri

  Tingkah laku melarikan diri pada game RPG adalah mencari titik aman untuk sebuah kondisi yang berbahaya untuk sebuah NPC. Ada banyak hal yang dapat mempengaruhi dari kondisi tersebut, berikut adalah aturan yang akan dipakai dalam game:

  Kondisi Tindakan Lawan masuk dalam batas aman zona 1 NPC melawan dengan menembak seluruh musuh yang masuk dalam batas aman tersebut Lawan masuk dalam batas aman zona 2 NPC melawan dengan menembak seluruh musuh dan NPC bergerak menjauh dari jangkauan musuh. Nyawa NPC kurang dari 30 % NPC mencari tempat aman dari jangkauan musuh

  Dari rule atau aturan dalam rule base ini dapat meningkatakan waktu hidup sebuah NPC. Aturan atau rule yang ada akan ditanam disetiap NPC dan pada tim pertahanan atau tim serang.

  4.2 Trigonometri Dalam game ini terdapat beberapa implementasi rumus matematika terutama pada trigonometri.

  Dalam penelitian ini trigonometri digunakan untuk menentukan perputan arah agen-NPC untuk mengara ke NPC target.

  Dalam kondisi ini diasumsikan jika B adalah agen-NPC dan A adalah NPC target. Dengan koordinat A dan B diketahui. Dengan demikian B dapat menghitung berapa besar sudut yang diperlukan untuk membidik target A.

  Dalam kasus lain juga dapat menggunakan rumus trigonometri pada selain segitiga siku- siku. Hal ini digunakan untuk menghitung jika ingin mengetahui 2 target sekaligus.

  4.3 Implementasi Enemy

  Fungsi dari enemy adalah musuh yang akan mengejar NPC, pada tahapan ini musuh akan di creat secara otomatis dengan jedah waktu 3 detik permusuh untuk level prajurit dan untuk level komandan sebesar 5 detik.

  Untuk pergerakan enemy menggunakan Nav Mesh yang telah disediakan oleh game engine

  4.4 Implementasi agen-NPC Fungsi NPC ini adalah untuk menerapkan algoritma rule-based managemen dalam game ini.

  Kondisi perteama adalah bagaimana mendeteksi musuk dalam area yang telah kita tentukan, berikut adalah potongan programnya

  double x; double y; x = Mathf.Sqrt( Mathf.Pow( Mathf.Sqrt (Mathf.Pow (player.position.x, 2)) - Mathf.Sqrt(Mathf.Pow (transform.position.x, 2)),2)); y = Mathf.Sqrt( Mathf.Pow( Mathf.Sqrt (Mathf.Pow (player.position.y, 2)) - Mathf.Sqrt(Mathf.Pow (transform.position.y, 2)),2));

  rule berikutnya adalah implementasi dari rumus trigonometri

  double sudut; sudut = Mathf.Asin (opposite / hipotenusa); Kesimpulan

  Sebuah game adalah rangkaian dari algoritma penyusun yang dapat menyajiakan sebuah kesenangan pada pemain yang menggunakannya. Pada dasarnya game buka hanya rangkaian algoritma saja tapi lebih luas lagi, mulai dari desain karakter, map, sound, kontrol dan lain-lain pendukung game tersebut.

  Dari psalah satu komponen game tersebut didapat sebuah kesimpulan, game akan lebih fun jika game yang dimainkan mendekati dengan kata real. Dengan implementasi metode rule-based management kata real dalam sebuah game akan semakin dekat. Hal ini dapat dibulihat dengan berjalannya semua kondisi pada rule yang kita buat dapat berjalan dengan baik.

  Referensi

  [1] McShaffry, Mike .2003.Game Coding Complete. Paraglyph Press [2] Eberly, David H. 2005. 3D Game Engine Architecture. Magic Software, Inc. [3] Sheldon, lee. 2005. Character Development and Story Telling. Permier Press. U