Implementasi Procedural Generation untuk Membangun Level Tactical RPG dengan menggunakan Metode Occupancy Regulated Extension

  Vol. 2, No. 8, Agustus 2018, hlm. 2416-2420 http://j-ptiik.ub.ac.id

  

Implementasi Procedural Generation untuk Membangun Level Tactical

RPG dengan menggunakan Metode Occupancy Regulated Extension

1 2 3 Anindita Setyamurti , Wibisono Sukmo Wardhono , Tri Afirianto

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: murteeh01@gmail.com, wibiwardhono@ub.ac.id, tri.afirianto@ub.ac.id

  

Abstrak

  Game Tactical RPG merupakan suatu game dimana player mengontrol sejumlah unit untuk berlaku taktis untuk menyelesaikan tujuan dalam suatu level. Game dengan genre ini sudah amat banyak namun, hanya sedikit yang menggunakan Procedural Content Generation (PCG) untuk membangkitkan konten didalamnya untuk meningkatkan nilai replayability dari game dan secara tidak langsung memperpanjang umur game. Pada game dengan genre Tactial RPG pembangkitan dapat dilakukan untuk membangkitkan level, quest maupun karakter. Untuk membangkitan level dapat dilakukan dengan menggunakan metode Occupancy Regulated Extension (ORE) yang bekerja dengan memasangkan beberapa chunk untuk menjadi suatu level yang utuh yang kemudian dihitung nilai expressiveness

  

linearity untuk mengukur seberapa baik level yang dihasilkan dari beberapa kali pembangkitan.

  Berdasarkan pengujian yang dilakukan, diperoleh 93% hasil pembangkitan yang memiliki tingkat

  

expressiveness linearity marginal atas. Sehingga pembangkitan level dengan menggunakan metode

Occupancy Regulated Extension dapat dilakukan dan menghasilkan level yang cukup baik.

  

Kata kunci: Procedural Content Generator, Occupacy Regulated Extension, Tactical RPG, Pembangkitan Konten

Abstract

  

Tactical RPG is a game where player controlling some unit tactically to complete goals in the

level.There many game with this kind of genre, unfortunately only a few of them used Procedural

Content Geneator (PCG) to generate content procedurally which used to increase replayability value

and indirectly increase game lifespan. PCG on Tactical RPG games can be used to generate level, quest

even a character. Level generation can be done using Occupancy Regulated Extension (ORE) method

which putting some chunk together to create a complete level which can be measured how good the

generated level using linearity expressiveness range. According to test, 93% of all generated level

having high marginal values. In short, generating level using occupancy regulated extension will be

resulted in pretty good level.

  

Keywords: Procedural Content Generator, Occupancy Regulated Extension, Tactical RPG, Content Generation

  memiliki kelemahan berupa kurangnya kontrol 1. desainer terhadap hasil pebangkitan sehingga

   PENDAHULUAN

  dapat berpengaruh ke gameplay (Linden, Lopes, PCG atau Pembangkitan Konten Secara

  & Bidarra, 2014). Dibalik kelemahan yang ada, Prosedural merupakan sebuah cara untuk minat pembuat permainan untuk menggunakan membuat sebuah konten dalam permaninan, bisa

  PCG diorong oleh kemampuan PCG untuk berupa karakter, cerita, misi, level, musuh dan meringankan beban artist dan content designer lain lain, secara otomatis dengan menggunakan (Linden, Lopes, & Bidarra, 2014), memenuhi metode tertentu. Penggunaan PCG untuk kebutuhan pemain yang telah diidentifikasi membangkitkan berbagai macam konten pada berdasarkan perilaku pemain selama permainan saat ini umumnya hanya digunakan untuk ( Lawrence Johnson, Georgios N. Yannakakis, membangkitkan konten dengan ruang lingkup Julian Togelius , 2010), dan membangkitkan terbatas seperti pembangkitan pohon yang konten secara prosedural yang lebih sulit dilakukan oleh SpeedTree (Linden, Lopes, & diprediksi sehingga dapat membangkitkan rasa

  Bidarra, 2014). Penggunaan PCG sendiri

  Fakultas Ilmu Komputer Universitas Brawijaya

2416 penasaran pemain dan memperpanjang umur permainan.

  Pada kenyataannya, PCG sudah sering digunakan oleh permaninan dengan genre

  Procedural Content Generation bukan

  chunk diintegrasikan dengan level yang dibangun.

  dipilih sebuah chunk dari dalam library yang cocok dengan context yang dipilih. Kemudian,

  context untuk mengembangkan level. Kedua,

  erupakan langkah langkah yang diiterasi dalam penggunaan metode ORE. Pertama, dipilih satu anchor yang akan menjadi

  merupakan sebuah metode pembangkitan level yang menggunakan pendekatan geometris berupa berdasarkan posisi potensial yang mungkin ditempati oleh player selama permainan yang dinyatakan sebagai anchor. ORE menggunakan chunk, yang berupa sebuah bagian level yang akan. ORE bekerja dengan menambahkan chunk kedalam level yang dibangun pada posisi anchor yang ditentukan (Peter Mawhorter , Michael Mateas, 2010).

  Occupancy Regulated Extension

  4. OCCUPANCY REGULATED EXTENSION (ORE)

  Tactical Role Playing Game (TRPG) merupakan perpanjangan tangan dari genre RPG tradisional berupa sebuah wargame yang bertempatkan pada sebuah level berbentuk grid atau matrix. Pada genre ini pemain mengontrol pergerakan sejumlah unit untuk bergerak dan beraksi secara taktis dan berusaha untuk melawan musuh atau menyelesaikan goal lain yang ada di dalam level (Harris, 2009).

  3. TACTICAL RPG (TRPG)

  Roguelike, Simulation, atau Sandbox.

  hanya dapat menjadi pembuat konten tambahan tetapi dapat menjadi sebuah mekakik utama dari sebuah permainan (Johnson, et al., 2010) , sebagai contoh adalah game dengan genre

  3. Memangkas waktu dan uang yang diperlukan oleh pembuat permainan untuk membangun permainan mereka.

  platformer untuk membangkitkan level untuk

  2. Memperbanyak keanekaragaman konten yang dibangkitkan sehingga dapat meningkatkan replayability dari permainan.

  1. Dapat mengurangi beban kerja artist dan desainer.

  PCG adalah sebuah sebuah cara pembuatan sebuah konten dengan mengkuti metode tertentu yang memungkinkan konten untuk dibangkitkan secara otomatis (Linden, et al., 2014). Dengan menggunakan metode pembangkitan yang sesuai maka dapat didapatkan berbagai kelebihan, diantara lain:

  CONTENT GENERATOR (PCG)

  memiliki kelebihan dimana metode ini menggunakan pendekatan secara geometris yang menyebabkan metode ini tidak bergantung pada mekanik permainan yang dibangkitkan sehingga dapat diimpelemtasikan pada berbagai jenis genre dan mekanik (Mawhorter & Mateas, 2010).

  Occupancy Regulated Extension (ORE)

  Dari beberapa metode yang dapat digunakan untuk membangkitkan level, metode

  Dari banyak genre yang ada, permaninan dengan genre Tactical RPG jarang dibuat dengan menggunakan PCG didalamnya. Hal ini sangat disayangkan dikarenakan permainan dengan genre tersebut memiliki banyak potensi yang bisa dikembangkan seperti untuk membangkitkan level dan musuh (Smith A. , 2016). Genre Tactical RPG adalah sebuah perpanjangan tangan dari genre RPG tradisional berupa Wargame yang bertempatkan pada sebuah level berbentuk grid atau matrix yang mengempasiskan pada pergerakan taktis dari karakter (Harris, 2009).

  Shaker, Smith, & Togelius, 2014) . Selain permaninan dengan genre platformer, PCG juga digunakan oleh Minecraft, permaninan dengan genre survival, untuk membangkitkan dunia (Fingas, 2015), dan juga XCOM 2, permainan dengan genre Tactical RPG , untuk membangkitkan level (Tyrrel, 2015).

  Notch, Hopper, Rhythm-based, Pattern-based, Grammatical Evolution, dan Occupancy Regulated Extension (ORE) (Horn, Dahlskog,

  permainan bertipe endless runner. Pada permainan dengan tipe tersebut metode yang sering digunakan adalah Notch, Parameterized

2. PROCEDURAL

  Gambar 1 Langkah metode ORE yang disesuaikan Context Selection merupakan langkah yang

  d.

  4.2. Tile

  Gambar 2 Contoh chunk yang digunakan dalam pembangkitan

  dan anchor masuk yang digunakan sebagai posisi pusat untuk dipasangkan dengan context.

  anchor keluar yang dapat dipilih sebagai context,

  posisi yang akan dikembangkan. Pada pengerjaan ini anchor dibagi menjadi dua, yaitu

  tile atau platform serta anchor untuk penanda

  Pada metode ORE, chunk memiliki komponen dasar yang membangun chunk seperti

  4.1. Chunk

  context .

  Ketiga langkah ini diiterasi sampai tidak ada anchor lagi yang dapat dipilih sebagai

  Pada langkah terakhir, chunk yang telah dipilih diintegrasikan pada context dengan memasang chunk pada posisi anchor.

  berfungsi untuk memilih bagian level yang ada untuk dikembangkan. ORE tidak peduli dengan cara yang digunakan dalam pemilihan context selama menghasilkan satu buah anchor. Cara termudah untuk memilih context adalah dengan memilih secara acak dari seluruh anchor yang ada dalam sebuah level yang akan dibangkitkan.

2. Untuk setiap

  Jika tile pada chunk dan level berbeda maka chunk akan ditolak. Metode selection yang digunakan dalam pengerjaan ini adalah dengan menggunakan

  Jika tile pada level kosong, maka lanjutkan ke tile selanjutnya.

  Gambar 3 Representasi tile. i) bernilai 1. ii) bernilai 3. iii) bernilai 0 5.

  c.

  Jika tile pada chunk dan level sama, maka lanjutkan ke tile selanjutnya.

  b.

  Jika tile berada diluar bound level, maka chunk akan ditolak.

  a.

  dibandingkan dengan tile yang ada dalam level relatif pada posisi context.

  tile dalam chunk ,

  Memasang chunk yang dites pada context.

  dengan memilih chunk yang memiliki tag yang sama dengan context dari dalam chunk library. Sementara, Geometric filtering bekerja dengan mencoba memasangkan setiap chunk yang telah terpilih pada tag filtering pada context: 1.

  geometric filtering . Tag filtering dilakukan

  Metode filtering yang digunakan dalam pengerjaan ini adalah dengan membagi filtering menjadi dua yaitu dengan tag filtering, dan

  kandidat yang kompatibel dengan level yang kemudian dilanjutkan dengan langkah selection untuk memilih salah satu dari kandidat untuk diintegrasikan. ORE sendiri tidak peduli dengan metode yang digunakan dalam proses filtering dan selection selama langkah ini menghasilkan sebuah chunk yang digunakan mengembangkan level.

  filtering dari chunk library untuk memilih

  Chunk Selection terdiri atas langkah

  Pada pengerjaan ini, komponen dasar chunk direpresentasikan dalam bentuk tile yang memiliki ketinggian 0, 1 dan 3 seperti pada

EVALUASI EXPRESSIVENESS

  RANGE

  Evaluasi expressiveness range merupakan salah satu cara yang dapat dilakukan untuk

  memiliki nilai bobot tertentu kemudian diambil sebuah nilai acak yang proporsional terhadap jumlah bobot dan frekwensi penggunaan chunk untuk membangun level dari seluruh chunk yang terpilih pada langkah filtering.

  weighted selection dimana setiap chunk mengetahui ciri yang muncul dari sebuah pembangkitan (Shaker, Togelius, & Nelson, 2016). Dari pengevaluasian expressiveness range dicari tingkat linearity dari sebuah level yang dibangkitkan dengan membuat sebuah garis dengan menggunakan metode regresi linear yang dinormalisasikan menjadi antara 0 sampai 1 dan menentukan bagaimana tingkat kecocokan pola geometris yang ada dengan garis yang dihasilkan (Smith & Whitehead, Analyzing the Expressive Range of a Level Generator, 2010).

  Pencarian nilai linearity digunakan untuk mencari apakah hasil pembangkitan sangat linear atau tidak dimana semakin linear sebuah

  Gambar 5 Salah satu hasil pembangkitan level

  nilai semakin baik (Smith, Whitehead, Mateas, Treanor, March, & Cha, 2011).

  7.2. Pengujian Expressiveness Range 6. ACCEPTABILITY RANGE

  Setelah dilakukan pembangkitan sebanyak 30 level dicari nilai expressiveness range berupa Acceptability range merupakan sebuah linearity yang digunakan unutk menilai apakah skala yang digunakan untuk mempermudah metode yang digunakan menghasilkan level pembacaan dari sebuah nilai (Bangor, Kortum, yang baik dimana semakin linear sebuah level & Miller, 2009). Dalam hal ini acceptability maka semakin baik. Pada pembangkitan level digunakan untuk menentukan apakah sebuah yang dilakukan, didapatkan 93% dari seluruh level dapat diterima sebagai linear atau tidak. level yang dibangkitkan bernilai lebih dari 63 atau marginal atas seperti tertera pad 100 Expressiveness Range

  Gambar 4 Skala Acceptability Range 50 Berdasarkan diketahui bahwa nilai 0 sampai 51 berarti tidak dapat diterima. 10 20 30 40 Nilai 51 sampai 63 merupakan marginal bawah.

  Nilai 63 sampai 70 merupakan marginal atas. Nilai 70 sampai 100 merupakan dapat diterima. Gambar 6 Grafik Expressiveness Range 8.

7. KESIMPULAN HASIL DAN PEMBAHASAN

  Berdasarkan pengujian yang dilakukan

7.1. Pembangkitan Level

  pada hasil pembangkitan dengan mencari nilai Pembangkitan level dilakukan dengan expressiveness range dari tiap hasil membangkitkan sebanyak 30 level dengan pembangkitan diperoleh nilai 93% dari seluruh ukuran, posisi anchor, dan chunk library yang data menghasilkan level yang bernilai marginal sama. Pembangkitan level ini menghasilkan atas atau menghasilkan level yang cukup baik. beberapa level seperti pada yang

DAFTAR PUSTAKA

  memiliki nilai linearity 0.380638751 , yang kemudian dinormalisasikan menjadi skala 0 Lawrence Johnson, Georgios N. Yannakakis, sampai 100 dengan nilai 61.93612487 yang

  Julian Togelius . (2010). Cellular automata berarti dalam skala Acceptability Range level ini for real-tim e generation of infinite cave bernilai marginal bawah. levels. Proceedings of the 2010 Workshop

  on Procedural Content Generation in Games .

  Bangor, A., Kortum, P., & Miller, J. (2009). Determining What Individual SUS Scores ign-first> Mean: Adding an Adjective Rating Scale.

  Journal of Usability Studies , 4 (3).

  Fingas, J. (2015). Engadget. Diakses Agustus 18, 2017, Tersedia di: <https://www.engadget.com/2015/03/04/h ow-minecraft-worlds-are-made/>

  Harris, J. (2009). Gamasutra.com. Diakses Agustus 05, 2017, tersedia di: <http://www.gamasutra.com/view/feature/ 4066/game_design_essentials_20_rpgs.php ?page=14>

  Horn, B., Dahlskog, S., Shaker, N., Smith, G., & Togelius, J. (2014). A Comparative Evaluation of Procedural Level Generators in the Mario AI Framework. Proceedings of

  the 9th International Conference on the Foundations of Digital Games .

  Linden, R., Lopes, R., & Bidarra, R. (2014).

  Procedural Generation of Dungeons. IEEE

  Transactions on Computational Intelligence and AI in Games, 6 (1), 78 - 89.

  Peter Mawhorter , Michael Mateas. (2010).

  Procedural level generation using occupancy-regulated extension.

  Computational Intelligence and Games (CIG), 2010 IEEE Symposium .

  Shaker, N., Togelius, J., & Nelson, M. J. (2016).

  Procedural Content Generation in Games.

  New York: Springer. Smith, A. (2016). Rock, Paper, Shotgun. Diakses

  Agustus 20, 2017, tersedia di :<https://www.rockpapershotgun.com/201 6/06/14/phoenix-point-new-xcom-julian- gollop/>

  Smith, G., & Whitehead, J. (2010). Analyzing the Expressive Range of a Level Generator.

  Proceedings of the 2010 Workshop on Procedural Content Generation in Games ,

  4. Smith, G., Whitehead, J., Mateas, M., Treanor, M., March, J., & Cha, M. (2011). Launchpad: A Rhythm-Based Level Generator. IEEE TRANSACTIONS ON

  COMPUTATIONAL

  INTELLIGENCE AND AI IN GAMES, 3 (1).

  Tyrrel, B. (2015). IGN. Diakses Agustus 18, 2017, Tersedia di: <http://www.ign.com/articles/2015/06/04/ xcom-2s-procedurally-generated-maps-