Jurnal Minecraft - EternalArbiters/oret-oretan GitHub Wiki


ABSTRACT

Kami mempersembahkan Word2Minecraft, sebuah sistem yang memanfaatkan large language models (LLMs) untuk menghasilkan level permainan yang dapat dimainkan di Minecraft berdasarkan cerita terstruktur. Sistem ini mengubah elemen-elemen naratif—seperti tujuan protagonis, tantangan antagonis, dan pengaturan lingkungan—menjadi level permainan dengan batasan spasial dan mekanisme permainan.

Kami memperkenalkan kerangka kerja yang fleksibel yang memungkinkan penyesuaian terhadap kompleksitas cerita, sehingga mendukung generasi level yang dinamis. Sistem ini menggunakan algoritma penskalaan untuk menjaga konsistensi spasial sambil menyesuaikan elemen permainan kunci.

Kami mengevaluasi Word2Minecraft dengan menggunakan metode berbasis metrik dan juga berbasis manusia. Hasil kami menunjukkan bahwa GPT-4-Turbo mengungguli GPT-4o-Mini dalam sebagian besar aspek, termasuk koherensi cerita dan kenikmatan tujuan, sementara model terakhir unggul dalam daya tarik estetika. Kami juga mendemonstrasikan kemampuan sistem untuk menghasilkan level dengan tingkat kenikmatan peta yang tinggi, yang menawarkan langkah menjanjikan dalam penggabungan antara generasi cerita dan desain permainan.

Kami membuka kode sumbernya di: 🔗 https://github.com/JMZ-kk/Word2Minecraft/tree/word2mc_v0

Kata kunciMinecraft, Generasi Level Berbasis Cerita, Large Language Models, Procedural Content Generation


I. PENDAHULUAN

Generasi konten prosedural (Procedural Content Generation / PCG) adalah teknik yang banyak digunakan dalam pengembangan gim, yang berfungsi untuk mengurangi upaya manual dalam pembuatan konten, sekaligus menyediakan pengalaman bermain yang dinamis dan beragam. Generasi level berbasis cerita [1], yang merupakan subbidang dari PCG, berfokus pada perancangan level permainan di mana narasi memegang peran utama dalam membentuk strukturnya [2].

Namun, metode PCG tradisional yang digunakan untuk menghasilkan level semacam ini umumnya bergantung pada algoritma berbasis aturan yang telah ditentukan sebelumnya, yang sering kali kesulitan dalam menghasilkan lingkungan permainan yang koheren dan bermakna secara kontekstual [3], [4].

Kemajuan terkini dalam Large Language Models (LLMs) telah memperkenalkan pendekatan baru dalam generasi konten permainan [5]. Mengingat kemampuan kuat mereka dalam memahami dan menghasilkan teks yang menyerupai buatan manusia [6], LLMs sangat cocok untuk pembuatan cerita. Pengembang gim dapat memanfaatkan model ini untuk membuat narasi yang beragam serta merancang level yang selaras dengannya, sehingga membuka peluang jelas untuk menjembatani antara pembuatan cerita dan desain level prosedural.

Minecraft [7], sebuah gim kotak pasir 3D yang sangat populer, berfungsi sebagai platform ideal untuk generasi level secara prosedural. Namun, menerjemahkan cerita menjadi level Minecraft yang terstruktur dan dapat dimainkan masih menjadi tantangan besar, karena memerlukan pemetaan cerdas antara bahasa dan desain level. Untuk mengatasi tantangan ini, kami memperkenalkan Word2Minecraft, sebuah sistem berbasis LLM untuk menghasilkan level Minecraft dari cerita terstruktur—yakni rangkaian peristiwa yang dibatasi oleh syarat spasial dan gameplay. Sistem ini pertama-tama menghasilkan narasi, lalu menerjemahkannya ke dalam level gim yang dapat dimainkan. Untuk memastikan konsistensi spasial, Word2Minecraft menggabungkan algoritma penskalaan yang secara dinamis menyesuaikan ukuran elemen gim utama.

Baik metode berbasis metrik maupun berbasis manusia digunakan untuk menilai Word2Minecraft. Kami menguji sistem ini menggunakan dua model LLM berbeda, yaitu GPT-4-Turbo dan GPT-4o-Mini, guna membandingkan performa mereka dalam hal koherensi cerita, keberagaman, kesenangan peta, kesenangan dari tujuan, estetika, dan fungsionalitas. Hasil menunjukkan bahwa GPT-4-Turbo unggul dibandingkan GPT-4o-Mini dalam hal koherensi cerita, keberagaman, kesenangan objektif, dan fungsionalitas. Namun, GPT-4o-Mini menghasilkan level dengan daya tarik estetika yang lebih tinggi, kemungkinan karena kecenderungannya menggunakan pilihan blok yang lebih beragam secara visual. Kedua model tersebut menunjukkan kinerja yang serupa dalam hal kesenangan peta.

Susunan makalah ini adalah sebagai berikut: Bagian II meninjau karya-karya terkait. Bagian III menjelaskan sistem Word2Minecraft, mencakup pembuatan cerita terstruktur dengan elemen yang telah ditentukan (III-A), proses pembuatan peta utama (III-B dan III-C), serta desain sub-peta (III-D). Bagian IV menguraikan pengaturan eksperimen, sedangkan Bagian V menyajikan hasilnya. Akhirnya, Bagian VI menyimpulkan makalah ini dan membahas arah penelitian selanjutnya.


II. KARYA TERKAIT

Sebagai sebuah sistem yang berawal dari prompt, mengekstraksi semua informasi yang relevan, dan menghasilkan permainan yang dapat dimainkan di Minecraft, Word2Minecraft dibangun berdasarkan penelitian sebelumnya mengenai pembuatan gim dari cerita.

Ammanabrolu et al. [8] menggunakan graf pengetahuan untuk menentukan penempatan objek, sementara Fan et al. [9] melatih jaringan saraf pada dataset LIGHT [10] untuk memposisikan objek di dalam permainan. Hartsook et al. [4] menerapkan optimasi berbasis pencarian [11] untuk membentuk sebuah graf yang menentukan penempatan objek berdasarkan elemen cerita.

Karya kami memperluas pendekatan dari Word2World [12], sebuah sistem yang menghasilkan cerita menggunakan LLM dan mengekstraksi informasi yang diperlukan untuk membuat gim RPG 2D yang sederhana. Kami mengembangkan pendekatan ini lebih lanjut dengan mengadaptasi gim yang dihasilkan ke dalam lingkungan Minecraft 3D yang kompleks, mengatasi keterbatasan Word2World melalui algoritma penskalaan (yang dibahas di Bagian III) dan memperkenalkan generasi sub-peta untuk menangani berbagai tujuan secara lebih baik.

Word2Minecraft juga dapat dipandang sebagai sistem untuk generasi konten prosedural (PCG) [13], sebuah bidang yang telah mengalami kemajuan signifikan melalui deep learning dan algoritma evolusioner [11], [14], [15]. Dalam penelitian sebelumnya, pembuatan level sering dianggap sebagai masalah generasi urutan, sehingga mendorong penggunaan model berbasis urutan seperti LSTM [16].

Berdasarkan hal tersebut, arsitektur berbasis transformer [17] telah menunjukkan potensi besar dalam PCG. Sebagai contoh, Todd et al. [18] menggunakan GPT-2 dan GPT-3 untuk membuat level gim Sokoban [19] melalui pembelajaran terawasi, sedangkan Sudhakaran et al. [20] menyempurnakan GPT-2 untuk menghasilkan level Mario Bros. [21], dengan menggabungkan teknik novelty search [22] untuk meningkatkan keberagaman.

Selain itu, Nasir dan Togelius [23] menunjukkan bahwa GPT-3 dapat menghasilkan level baru menggunakan metode human-in-the-loop dan bootstrapping [24], dengan hanya sedikit data buatan manusia. Minecraft juga telah dieksplorasi sebagai lingkungan PCG 3D untuk LLM dan generasi berbasis teks [25]–[27].

Melampaui ranah PCG, Word2Minecraft juga termasuk dalam cakupan yang lebih luas dari pembuatan gim otomatis (Automated Game Generation / AGG) [28]. Pendekatan AGG lainnya termasuk ANGELINA [29], [30], yang menggunakan algoritma evolusioner untuk membuat gim teka-teki dan platformer, serta Genie/Genie-2 [31], [32], yang melatih model berskala besar pada video internet untuk menghasilkan gim platformer dan 3D dari prompt teks.

Word2Minecraft juga selaras dengan konsep kreativitas gim komputasional (computational game creativity) [33], [34], karena setiap tahap dalam proses pembuatan gim—penceritaan, deskripsi karakter dan ubin, serta pembangunan dunia—membutuhkan pengambilan keputusan yang bersifat kreatif.


III. METODOLOGI

Bagian ini memperkenalkan Word2Minecraft, sebuah sistem yang mengubah cerita menjadi level Minecraft yang dapat dimainkan. Setiap level terdiri dari peta utama dan beberapa sub-peta, yang dihasilkan melalui proses bertahap. Pembahasan berikut merinci setiap tahap dari proses ini, dengan Gambar 1 memberikan gambaran umum kerangka kerja yang digunakan.

A. Pembuatan Cerita Menggunakan LLM

Proses pembuatan level dimulai dari pembuatan cerita. Karena cerita yang dihasilkan oleh LLM dapat sangat bervariasi, kami menerapkan beberapa batasan untuk memastikan bahwa cerita tersebut mengandung elemen-elemen penting yang dibutuhkan dalam permainan.

Setiap cerita harus memiliki:

  • Protagonis yang mengejar suatu tujuan,
  • Antagonis yang berusaha menggagalkan tujuan tersebut,
  • dan NPC tambahan jika diperlukan.

Cerita juga harus:

  • Menyediakan penggambaran lingkungan yang jelas, dan
  • Menyertakan beberapa tujuan (objectives) untuk sang protagonis, di mana salah satunya wajib berupa mengalahkan antagonis.

Dalam sistem kami, pengguna dapat menyesuaikan jumlah paragraf cerita dan jumlah tujuan, sehingga memberikan kendali lebih besar terhadap kompleksitas cerita.

B. Pembuatan Peta Awal

Peta utama permainan berfungsi sebagai pondasi untuk setiap level. Kami menggunakan LLM untuk menghasilkan tata letak 2D dari peta ini, memastikan bahwa tata letaknya sesuai dengan lingkungan naratif dan tujuan dari cerita.

Setiap ubin (tile) dalam tata letak 2D ini mewakili objek umum atau fitur medan (seperti pohon atau sungai), bukan langsung berupa blok Minecraft yang spesifik. Pada langkah berikutnya, LLM akan menerjemahkan ubin-ubin umum tersebut ke dalam blok Minecraft yang sesuai.

LLM akan mengekstraksi elemen-elemen penting dari cerita, termasuk:

  • Informasi dasar tentang protagonis dan antagonis,
  • Jenis ubin yang dibutuhkan,
  • Ubin yang dapat dilalui (walkable),
  • dan tujuan-tujuan yang harus dicapai.

Dari data tersebut, LLM akan:

  1. Menghasilkan tata letak awal dunia dalam bentuk grid berbasis ubin,
  2. Membuat pemetaan antara karakter dan jenis ubin (tile-character mapping), dengan satu karakter unik untuk setiap jenis ubin,
  3. Menempatkan protagonis, antagonis, dan objek interaktif pada peta,
  4. Menugaskan setiap tujuan pada lokasi tertentu, dan
  5. Menyesuaikan ukuran peta agar berbentuk persegi panjang.

Setelah dunia awal dihasilkan, baik LLM maupun metode evaluasi tradisional digunakan untuk menilai:

  • Kemudahan navigasi,
  • Keseimbangan desain, dan
  • Kualitas keseluruhan peta.

Untuk memverifikasi apakah semua tujuan dapat dicapai, jalur-jalur yang dapat dilalui dianalisis menggunakan algoritma A* [35].

Selama proses penyempurnaan (refinement), versi-versi peta yang sebelumnya telah dihasilkan digunakan sebagai referensi, sehingga memungkinkan model untuk belajar dari desain yang telah dibuat sebelumnya.


C. Pensakalan Ubin Adaptif untuk Meningkatkan Realisme

Proses pembuatan peta awal mengalami masalah penskalaan yang cukup fatal, yang secara signifikan membatasi tingkat realisme: setiap elemen, tanpa memandang ukuran aslinya di dunia nyata, hanya diwakili oleh satu ubin saja. Keterbatasan ini mempengaruhi aspek estetika maupun realisme, karena objek besar seperti rumah atau gunung menjadi terkompresi secara tidak wajar.

Untuk mengatasi tantangan ini, kami memperkenalkan algoritma penskalaan yang secara selektif memperluas ukuran beberapa ubin tertentu melebihi ukuran aslinya, guna meningkatkan realisme visual sekaligus menjaga integritas dunia permainan.

Langkah pertama dalam proses ini melibatkan penggunaan LLM untuk menganalisis cerita dan peta utama, guna mengidentifikasi ubin mana yang harus diperbesar, serta menentukan ukuran target masing-masing. Setiap ubin diklasifikasikan ke dalam kategori:

  • Dapat dilalui (walkable),
  • Tidak dapat dilalui (unwalkable),
  • Terkait dengan tujuan (objective-related), atau
  • Sudah diperbesar sebelumnya (seperti digambarkan pada Gambar 2).

Selanjutnya, kami menerapkan Algoritma 1 untuk memilih ubin valid dengan skor tertinggi untuk diperluas. Sebuah ubin dianggap valid jika memperbesarnya tidak akan menutupi ubin tujuan atau ubin yang telah diperbesar sebelumnya.

Skor untuk setiap ubin kandidat dihitung berdasarkan jumlah kemunculan total ubin-ubin yang akan tertutupi di peta asli. Ini mengikuti prinsip "kelangkaan menambah nilai": menutupi ubin langka dapat mengganggu koherensi lingkungan, sementara menutupi ubin umum seperti rumput hanya memiliki dampak kecil terhadap integritas keseluruhan peta.

Setelah itu, ubin-ubin yang diperluas digantikan dengan struktur berukuran besar yang dihasilkan oleh LLM, dengan mempertimbangkan konteks cerita dan deskripsi dari ubin aslinya. Perlu dicatat bahwa salah satu kekuatan utama LLM adalah kemampuannya menciptakan keberagaman; bahkan untuk jenis ubin yang sama, model ini mampu menghasilkan bangunan yang konsisten secara gaya namun berbeda secara visual, seperti yang ditunjukkan pada Gambar 3.


D. Pembuatan Sub-Peta

Penelitian sebelumnya [36] mengkategorikan misi (quests) dalam gim menjadi tiga jenis utama:

  1. Berorientasi tempat (place-oriented),
  2. Berorientasi waktu (time-oriented), dan
  3. Berorientasi tujuan (objective-oriented).

Kami kemudian memperluas kategori misi berorientasi tujuan ini menjadi lima jenis spesifik, yaitu:

  • "Kalahkan Musuh" (Defeat the Enemy)
  • "Berinteraksi dengan NPC" (Chat with NPC)
  • "Keluar dari Labirin" (Exit Maze)
  • "Bertahan dari Gelombang Musuh" (Survive Waves of Enemies)
  • "Kumpulkan Item" (Collect Items)

Kelima jenis misi ini digambarkan dalam Gambar 4 (Figure 4).


Namun, tidaklah mudah untuk langsung mengimplementasikan semua tujuan (objectives) di dalam peta utama, karena adanya keterbatasan ukuran dan kompleksitas. Misalnya, navigasi labirin membutuhkan tata letak yang terstruktur, yang tidak cocok dengan gaya dunia terbuka (open-world) dari peta utama.

Untuk mengatasi hal ini, kami memperkenalkan sub-peta yang dirancang khusus secara spesifik untuk tujuan “Keluar dari Labirin” (Exit Maze), “Bertahan dari Gelombang Musuh” (Survive Waves of Enemies), dan “Mengumpulkan Item” (Collect Items) melalui proses sebagai berikut:

  1. Pembuatan Posisi Tujuan (Objective Position Generation): Kami memberikan prompt kepada LLM untuk mengidentifikasi ubin representatif dan menentukan posisinya di peta utama untuk setiap tujuan.

  2. Penyesuaian Posisi (Position Adjustment): Karena koordinat yang dihasilkan oleh LLM kadang tidak valid (misalnya, terletak di dalam rintangan atau tidak cocok dengan jenis ubin yang seharusnya), kami menggunakan algoritma BFS (Breadth-First Search) untuk menemukan posisi valid terdekat, lalu menempatkan portal pada lokasi tersebut.

![Gambar 3 – Bangunan yang dihasilkan oleh LLM, masing-masing diperbesar dari ubin yang diberi label "Illusory Object Tile."](Gambar 3)

  1. Pembuatan Sub-Peta (Sub-map Generation): Kami membuat sub-peta terstruktur yang disesuaikan dengan masing-masing tujuan. Sub-peta ini terhubung langsung ke peta utama melalui portal yang telah ditempatkan sebelumnya.

Gambar 4 – Contoh Misi Berorientasi Tujuan (Objective-Oriented Quests):

  • (a) Belajar Teknik Bertani Kuno dari Señora Miro (“Chat with NPC”)
  • (b) Menavigasi Dataran Ular Pasir (“Exit Maze”)
  • (c) Mengumpulkan Sampel dari Gerbang Kaktus (“Collect Items”)
  • (d) Menghindari Serangan Satwa Liar Lokal (“Survive Waves of Enemies”)
  • (e) Mengalahkan Vorath untuk Mendapatkan Bloom of Night (“Defeat the Enemy”)

Berikut adalah penjelasan dari Gambar Fig. 1, 2, 3, 4, dan Algoritma 1: Scaling Algorithm secara rinci dan mudah dipahami:


📊 Fig. 1 – Alur Lengkap Sistem Word2Minecraft

Gambar ini menunjukkan diagram alur (flowchart) dari keseluruhan proses sistem Word2Minecraft. Intinya, diagram ini menjelaskan bahwa:

  1. Input awalnya adalah cerita (dalam bentuk teks).

  2. LLM digunakan di setiap tahap, dari:

    • Pembuatan cerita,
    • Ekstraksi karakter dan tile,
    • Pemetaan tile ke karakter,
    • Pembuatan layout peta utama,
    • Penempatan tujuan,
    • Penskalaan ubin,
    • Hingga pembuatan sub-peta.

Gambar ini menekankan bahwa prosesnya sepenuhnya otomatis dan mengandalkan LLM di setiap langkah untuk mengubah narasi menjadi dunia permainan yang dapat dimainkan.


🧩 Fig. 2 – Representasi Array Tipe Ubin dan Peta Minecraft

Gambar ini terdiri dari dua bagian:

  • (a) Array Tipe Ubin: Ini adalah representasi numerik dari jenis ubin dalam peta.

    • 0 = ubin yang bisa dilalui (walkable)
    • 1 = ubin yang tidak bisa dilalui (unwalkable)
    • 2 = ubin terkait tujuan
    • 3 = ubin yang perlu diperbesar
    • 4 = ubin yang sudah diperbesar
  • (b) Level Minecraft: Visualisasi dari peta Minecraft berdasarkan array di atas, menunjukkan bagaimana ubin-ubin tersebut diterjemahkan ke dunia permainan.

Gambar ini membantu menjelaskan bagaimana data numerik diubah menjadi dunia 3D Minecraft dan bagaimana status masing-masing ubin dikategorikan.


🏠 Fig. 3 – Bangunan dari LLM Hasil Ekspansi Ubin

Gambar ini menampilkan contoh struktur/bangunan yang dihasilkan oleh LLM dari ubin yang awalnya sangat kecil dan abstrak (misalnya, hanya satu kotak di grid), namun diperbesar menjadi bentuk visual yang kompleks seperti rumah, menara, atau objek lainnya.

Bangunan-bangunan ini dihasilkan dari ubin yang dilabeli sebagai "Illusory Object Tile", dan LLM mengisi detilnya berdasarkan konteks cerita dan deskripsi tile. Gambar ini menunjukkan kreativitas dan keragaman hasil visual yang bisa dicapai LLM meskipun input-nya mirip.


🎯 Fig. 4 – Contoh Quest Berorientasi Tujuan

Gambar ini memberikan ilustrasi visual dari lima jenis misi (objectives) yang bisa ditanamkan ke dalam level Minecraft hasil Word2Minecraft:

  1. Chat with NPC – Belajar teknik lama dari NPC (Señora Miro).
  2. Exit Maze – Menavigasi medan labirin (contoh: Sand Serpent Dunes).
  3. Collect Items – Mengumpulkan sampel dari lokasi tertentu (contoh: Cactus Gates).
  4. Survive Waves of Enemies – Menghindari serangan bertubi-tubi dari musuh.
  5. Defeat the Enemy – Mengalahkan bos utama (contoh: Vorath).

Gambar ini memperlihatkan sub-peta atau bagian dari level utama yang berisi tantangan spesifik.


⚙️ Algoritma 1: Scaling Algorithm (Algoritma Penskalaan Ubin)

🧠 Tujuan:

Memperbesar ubin tertentu dalam peta agar lebih realistis secara visual dan spasial, misalnya mengubah satu ubin rumah menjadi beberapa blok Minecraft yang benar-benar berbentuk bangunan rumah.

📌 Input:

  • M: Layout peta utama.
  • C: Daftar karakter ubin yang perlu diperbesar.
  • D: Dictionary (kamus) yang memetakan karakter ubin (ci) ke ukuran penskalaan (si), contoh: {h → 3} artinya ubin 'h' perlu diperbesar menjadi 3x3 blok.

🪜 Langkah-Langkah:

  1. Looping seluruh peta (baris dan kolom).

  2. Jika ditemukan ubin yang masuk dalam daftar C:

    • Ambil ubin target t dan ukuran penskalaannya s.

    • Cari posisi sudut kiri atas terbaik (m, n) di mana ubin t bisa diperbesar menjadi ukuran s x s tanpa menutupi:

      • Ubin penting (misalnya tujuan),
      • atau ubin yang sudah diperbesar sebelumnya.
    • Untuk setiap kemungkinan posisi, hitung skor berdasarkan:

      • Frekuensi ubin yang akan tertutupi.
      • Prinsip: semakin langka ubin yang tertutupi, skor makin rendah.
    • Simpan posisi dengan skor tertinggi.

  3. Jika ditemukan posisi terbaik (best m, best n ≠ −1), perbarui peta dengan ubin yang diperbesar di posisi tersebut.

✅ Hasil:

  • Peta yang sama, tapi beberapa ubin diubah menjadi blok yang lebih besar, memberikan tampilan dan struktur yang lebih realistis dan bervariasi.

image


IV. EKSPERIMEN

Untuk evaluasi berbasis metrik, kami melakukan eksperimen menggunakan dua model bahasa—GPT-4-Turbo dan GPT-4o-Mini—untuk mengevaluasi sistem Word2Minecraft. Masing-masing model menghasilkan 30 level permainan, yang kemudian dinilai berdasarkan:

  • Koherensi cerita,
  • Keberagaman (diversity),
  • Kesenangan (enjoyment),
  • Estetika, dan
  • Fungsionalitas.

Untuk metrik kesenangan, kami juga membandingkan hasil tersebut dengan hasil dari algoritma evolusioner sebagai baseline (pembanding dasar).

Kami mengadopsi pengaturan hyperparameter yang mirip dengan yang digunakan oleh Nasir et al. [12], di mana setiap level permainan dikonfigurasi dengan cerita yang terdiri dari 4–5 paragraf dan protagonis diberikan 8 tujuan (objectives) untuk diselesaikan di setiap permainan. Algoritma A* dibatasi hingga 1000 iterasi dalam pencarian jalur ke semua tujuan dalam peta awal.

Untuk evaluasi berbasis manusia, kami melakukan studi pengguna untuk menilai lebih lanjut performa GPT-4-Turbo dalam hal:

  • Koherensi cerita,
  • Penampilan visual, dan
  • Fungsionalitas.

Sebanyak 17 partisipan dengan pengetahuan dasar tentang Minecraft dan AI dalam game turut berpartisipasi dalam studi ini.


A. Evaluasi Koherensi Cerita Berbasis Metrik

Koherensi cerita mengukur seberapa baik level yang dihasilkan sesuai dengan cerita aslinya. Dalam evaluasi ini, kami menggunakan dua pendekatan:

1) Evaluasi Koherensi Langsung (Direct Coherence Evaluation):

Model diberikan:

  • Cerita asli,
  • Pemetaan karakter-ke-tile (tile-character mapping), dan
  • Representasi tile berbasis karakter dari peta utama.

LLM kemudian diminta untuk menilai tingkat koherensi antara peta yang dihasilkan dan cerita tersebut.

2) Analisis Kemiripan Berdasarkan Cerita yang Direkonstruksi:

Kami mengekstrak representasi level berdasarkan blok Minecraft dalam format file JSON. Lalu, LLM diminta untuk menghasilkan cerita baru berdasarkan blok-blok tersebut. Untuk mengukur koherensi, kami menghitung kemiripan kosinus (cosine similarity) antara cerita asli dan cerita rekonstruksi menggunakan model embedding text-embedding-3-large [37], yaitu model representasi berdimensi tinggi yang menangkap kedekatan semantik antara dua teks (ditunjukkan dalam Gambar 5).


📊 Tabel I — Evaluasi Koherensi Cerita Berbasis Metrik

(Rata-rata dan Simpangan Baku)

Model Koherensi Langsung Koherensi Cerita Rekonstruksi
GPT-4-Turbo 84.47 ± 8.87 0.90 ± 0.01
GPT-4o-Mini 71.75 ± 13.99 0.84 ± 0.04

Hasil pada Tabel I menunjukkan bahwa:

  • GPT-4-Turbo memiliki skor koherensi rata-rata yang lebih tinggi dan simpangan baku yang lebih rendah,
  • Artinya, GPT-4-Turbo lebih stabil dan lebih baik dalam menjaga koherensi cerita dibanding GPT-4o-Mini.

🧠 Makna Fig. 5: Analisis Kemiripan Berdasarkan Cerita yang Direkonstruksi

🔍 Apa yang Diuji di Gambar Ini?

Gambar ini menggambarkan cara sistem mengukur koherensi (kesesuaian) antara cerita awal dan peta yang dihasilkan, melalui rekonstruksi cerita dari peta dan kemudian menghitung kemiripan semantik antar teks.


⚙️ Langkah-Langkah yang Digambarkan di Fig. 5:

  1. Cerita Asli → digunakan oleh LLM untuk menghasilkan sebuah peta Minecraft (dengan blok dan tata letak tertentu).
  2. Peta yang dihasilkan itu kemudian diekstrak ke format blok-level JSON.
  3. LLM diberi input blok-blok peta dan diminta untuk menulis ulang cerita berdasarkan isi peta tersebut.
  4. Dua cerita—cerita asli dan cerita rekonstruksi dari peta—kemudian dibandingkan menggunakan teknik text embedding.
  5. Hasil perbandingan dihitung dengan cosine similarity, yaitu metode untuk mengukur kemiripan semantik antar teks dalam ruang vektor.

📈 Tujuan dari Fig. 5

Gambar ini menunjukkan bahwa:

  • Jika peta yang dihasilkan benar-benar sesuai dengan cerita asli, maka LLM yang membaca peta akan bisa menyusun kembali cerita yang mirip.
  • Semakin tinggi nilai cosine similarity, semakin tinggi pula koherensinya.

📌 Inti:

Fig. 5 memvisualisasikan pendekatan validasi koherensi tidak langsung:

“Apakah cerita yang direkonstruksi dari peta Minecraft hampir sama dengan cerita asli?”

Jika ya, maka berarti peta benar-benar mencerminkan narasi yang diberikan di awal.


B. Evaluasi Koherensi Cerita Berbasis Manusia

📊 Tabel II – Hasil Evaluasi Koherensi Cerita oleh Pengguna

1) Studi Pengguna untuk Koherensi Cerita pada Peta Utama:

Kami merancang dua pertanyaan untuk mengevaluasi kemampuan GPT-4-Turbo dalam menghasilkan level yang konsisten dengan cerita yang diberikan. Dalam setiap pertanyaan:

  • Partisipan diberikan sebuah cerita pendek dan dua gambar tampak atas dari level Minecraft:

    • Satu gambar berasal dari cerita tersebut,
    • Dan satu lagi berasal dari cerita berbeda yang memiliki tema serupa (misalnya, keduanya berlatar hutan).
  • Partisipan diminta mengidentifikasi level mana yang sesuai dengan cerita yang diberikan.

Desain ini dibuat agar partisipan tidak hanya mengandalkan petunjuk visual, karena kedua peta memiliki tema visual yang serupa. Ini mendorong mereka untuk mempertimbangkan koherensi naratif dan struktural yang lebih dalam. Akurasi pilihan partisipan menunjukkan seberapa baik level yang dihasilkan mempertahankan koherensi dengan cerita asli.

2) Studi Pengguna untuk Koherensi Cerita pada Sub-Peta:

Dalam mengevaluasi koherensi antara sub-peta dan tujuannya, kami memberikan kepada partisipan:

  • Deskripsi dari tujuan,
  • Bagian cerita yang relevan, dan
  • Dua sub-peta.

Kedua sub-peta dihasilkan dari tujuan berbeda dalam cerita yang sama, dengan komposisi blok yang mirip, yang menjadikan tugas ini lebih sulit. Karena itu, tingkat akurasi yang tinggi dalam tugas ini menunjukkan kesesuaian yang kuat antara sub-peta dan tujuan yang diwakilinya.

3) Studi Pengguna untuk Kemiripan Level:

Kami berasumsi bahwa level-level yang dihasilkan dari cerita yang sama harus memiliki distribusi yang konsisten dalam hal gaya dan struktur. Dalam eksperimen ini:

  • Setiap partisipan diberi satu level dasar (base level) dan tiga level kandidat,
  • Hanya satu dari ketiga kandidat tersebut yang berasal dari cerita yang sama dengan base level.

📝 Hasil Eksperimen (Tabel II):

  • Pada kedua tema (hutan dan gurun), sub-peta menunjukkan skor koherensi yang lebih tinggi (0,82) dibandingkan dengan peta utama:

    • Peta utama tema hutan: 0,59
    • Peta utama tema gurun: 0,47

Penjelasan yang mungkin:

  • Peta utama dirancang untuk mewakili keseluruhan cerita, yang cenderung lebih sedikit detail.
  • Sub-peta fokus pada satu tujuan spesifik, sehingga partisipan hanya perlu membaca sebagian kecil dari cerita, bukan seluruh narasi.

Kami juga menemukan bahwa peta utama bertema gurun menunjukkan koherensi lebih rendah dibandingkan tema hutan, karena:

  • Keragaman blok di peta gurun terbatas (hanya pasir dan batu), sehingga jawaban menjadi sulit dibedakan.
  • Selain itu, peta yang benar lebih kecil dan lebih sederhana secara struktur dibandingkan peta pengecoh, yang juga dapat menyebabkan akurasi rendah.

Secara keseluruhan, akurasi kemiripan level berada pada tingkat sedang (0,59), kemungkinan karena kemiripan visual tampak atas lebih dipengaruhi oleh tema keseluruhan daripada koherensi naratif yang spesifik.



C. Keberagaman

Keberagaman merupakan aspek penting dalam desain level permainan [38], karena dapat memperkaya pengalaman bermain dengan memberikan pemain berbagai pengalaman yang bervariasi. Dalam eksperimen kami, keberagaman dievaluasi melalui variasi ubin (tile variety), yaitu metrik utama yang mengukur kekayaan lingkungan (environmental richness).

Secara khusus, variasi ubin dihitung menggunakan Shannon Entropy, yang didefinisikan sebagai berikut: Diberikan sebuah peta yang berisi N ∈ ℕ⁺ jenis ubin yang berbeda, maka Shannon Entropy (H) dihitung menggunakan Persamaan (1), di mana pi adalah proporsi dari jenis ubin ke-i:

$$ H = -\sum_{i=1}^{N} p_i \log_2 p_i $$

(Persamaan 1)


🔍 Hasil Evaluasi

Hasil dari evaluasi kami, yang ditampilkan dalam Tabel III, menunjukkan bahwa peta yang dihasilkan oleh GPT-4-Turbo memiliki keberagaman yang lebih tinggi, ditandai oleh:

  • Jumlah jenis ubin yang lebih banyak,
  • Dan nilai Shannon Entropy yang lebih tinggi dibandingkan dengan GPT-4o-Mini.

Hal ini menunjukkan bahwa GPT-4-Turbo menghasilkan lingkungan permainan yang lebih bervariasi dan menarik secara visual.


📊 Tabel III — Evaluasi Keberagaman Ubin Berbasis Metrik

(Rata-rata & Simpangan Baku)

Metrik GPT-4-Turbo GPT-4o-Mini
Jumlah Jenis Ubin 18.23 ± 5.70 12.95 ± 2.04
Shannon Entropy (H) 4.06 ± 0.49 3.58 ± 0.33

D. Kesenangan

Kami mengukur tingkat kesenangan dari level yang dihasilkan berdasarkan dua aspek:

  1. Kesenangan dari peta (map enjoyment), dan
  2. Kesenangan dari tujuan (objective enjoyment).

Kami juga menggunakan algoritma evolusioner (Evolutionary Algorithm / EA) sebagai baseline untuk membandingkan performa LLM dengan metode PCG (procedural content generation) tradisional. Agar adil, kromosom dalam EA diatur dalam bentuk peta berbasis grid berukuran 15 × 15 — yaitu ukuran terkecil dari peta yang dihasilkan oleh LLM. Nilai kelayakan (fitness) dihitung berdasarkan rata-rata jalur terpendek dari titik awal ke semua ubin tujuan, atau disebut ASPAO (Average of Shortest Paths to All Objectives).


1) Kesenangan Peta (Map Enjoyment)

Playability (kelayakan dimainkan) adalah dasar dari kesenangan peta dalam permainan apa pun. Walaupun algoritma A* digunakan untuk memastikan bahwa protagonis dapat mengakses semua tujuan, proses penskalaan ubin dapat memblokir sebagian jalur asli. Karena itu, setelah penskalaan, kami melakukan pemeriksaan tambahan menggunakan algoritma BFS (Breadth-First Search) untuk memastikan bahwa semua ubin yang terkait dengan tujuan tetap dapat diakses melalui setidaknya satu jalur yang valid.

Selama peta tetap valid, kami mengasumsikan bahwa semakin tinggi proporsi ubin yang tidak dapat dilalui terhadap total area peta, maka semakin tinggi pula kesenangan yang diberikan, karena pemain dituntut untuk menyusun strategi pergerakan dan menavigasi rintangan secara dinamis. Oleh karena itu, kami menggunakan rasio ubin tidak dapat dilalui yang valid (VUTR) sebagai pengganti UTR untuk merepresentasikan kesenangan peta.

Diberikan:

  • Am sebagai luas peta ke-m,
  • Um sebagai jumlah ubin tidak dapat dilalui di peta ke-m, dan
  • Cm ∈ {0,1} sebagai status validitas peta (1 = valid),

Maka rumus untuk UTR dan VUTR adalah:

$$ \text{UTR} = \sum_{m=1}^{M} \frac{U_m}{A_m} \tag{2} $$

$$ \text{VUTR} = \frac{\sum_{m=1}^{M} C_m \cdot U_m}{\sum_{m=1}^{M} A_m} \tag{3} $$


2) Kesenangan dari Tujuan (Objective Enjoyment)

Meskipun proporsi ubin tidak dapat dilalui yang tinggi biasanya menunjukkan tantangan dan kesenangan, metrik ini bisa gagal dalam kasus ekstrem. Contohnya, jika banyak ubin tidak dapat dilalui berada di tepi peta, dan semua tujuan terletak di tengah, maka tantangan sebenarnya menjadi rendah.

Karena itu, kami menggunakan metrik utama ASPAO — yaitu rata-rata jarak terpendek dari posisi awal ke semua tujuan (pada peta yang valid). Karena setelah menyelesaikan satu tujuan, pemain akan dikembalikan ke titik awal, semakin tinggi nilai ASPAO, semakin kompleks level tersebut, dan semakin menantang bagi pemain.

$$ \text{ASPAO} = \frac{1}{|O|} \sum_{o \in O} d(s, o) \tag{4} $$

$$ d(s, o) = \min_{\pi \in P(s,o)} |\pi| \tag{5} $$

Dimana:

  • s adalah titik awal,
  • o adalah ubin tujuan,
  • P(s,o) adalah himpunan semua jalur terpendek dari s ke o,
  • |π| adalah panjang jalur.

🔍 Hasil Perbandingan

Kami membandingkan tingkat kesenangan dari dua model LLM dan EA, dengan hasil yang ditampilkan pada Tabel IV (nanti dibahas). Kami menemukan bahwa EA memiliki performa terbaik di semua metrik, yang memang sudah diperkirakan karena EA hanya mengoptimasi ASPAO, tanpa mempertimbangkan metrik lain seperti koherensi cerita. Optimasi langsung ini juga meningkatkan VUTR akhir dengan menambah jumlah ubin tidak dapat dilalui, yang berdampak positif terhadap kelayakan peta secara keseluruhan.

Temuan ini menyoroti kesenjangan besar antara LLM dan EA dalam hal kesenangan bermain.


📌 Catatan Tambahan:

  • GPT-4o-Mini mendapatkan skor playability yang lebih tinggi (0.87) dibandingkan GPT-4-Turbo (0.82), meskipun memiliki UTR yang lebih rendah.
  • Ini menunjukkan bahwa GPT-4-Turbo menggunakan strategi penskalaan yang lebih agresif, yang berpotensi memblokir jalur penting dan meningkatkan jumlah tujuan yang tidak dapat dicapai.
  • Namun demikian, VUTR antara kedua model tetap serupa, yang menunjukkan bahwa tingkat kesenangan peta secara keseluruhan sebanding.
  • Di sisi lain, nilai ASPAO GPT-4-Turbo lebih tinggi, yang menyiratkan bahwa tujuan-tujuan yang dihasilkan lebih menantang dan menarik bagi pemain.


E. Estetika dan Fungsionalitas

Untuk mengevaluasi aspek estetika dan fungsionalitas dari level yang dihasilkan oleh GPT-4-Turbo, kami menggunakan GPT-4o-Mini sebagai baseline pembanding.

Kami merekam video gameplay berdurasi 2–3 menit yang menampilkan satu level hasil generasi dari masing-masing model. Setelah itu, partisipan diminta untuk membandingkan kedua video dan memberikan peringkat terhadap level berdasarkan dua aspek secara terpisah:

  • Daya tarik visual (estetika), dan
  • Fungsionalitas (seberapa baik level bisa dimainkan).

📊 Tabel IV — Evaluasi Kesenangan Berbasis Metrik

(Rata-rata & Simpangan Baku)

Metrik GPT-4-Turbo GPT-4o-Mini EA
Playability 0.83 ± 0.37 0.87 ± 0.35 1 ± 0
UTR 0.18 ± 0.16 0.14 ± 0.12 0.40 ± 0.02
VUTR 0.11 ± 0.13 0.12 ± 0.11 0.40 ± 0.02
ASPAO 22.41 ± 9.28 10.05 ± 5.66 33.4 ± 1.85

🔍 Hasil Evaluasi Estetika dan Fungsionalitas

Hasil pada Tabel V menunjukkan bahwa:

  • GPT-4-Turbo unggul dalam hal fungsionalitas,
  • Namun, partisipan menganggap GPT-4o-Mini lebih baik secara estetika.

Kemungkinan penyebabnya adalah karena GPT-4o-Mini memilih blok-blok dengan koherensi cerita yang lebih lemah, yang menghasilkan komposisi visual yang lebih kontras dan mencolok.

Contohnya:

  • Pada level bertema hutan, GPT-4o-Mini menambahkan blok lava,
  • Hal ini membuat peta terlihat lebih berwarna dan mencolok secara visual,
  • Sehingga lebih menarik bagi preferensi estetika partisipan, walaupun secara naratif mungkin tidak konsisten.

📊 Tabel V — Evaluasi Estetika dan Fungsionalitas oleh Partisipan (Berbasis Manusia)

Aspek GPT-4-Turbo GPT-4o-Mini
Estetika 4 suara 13 suara
Fungsionalitas 11 suara 6 suara

F. Studi Ablasi

Kami melakukan studi ablation untuk menentukan apakah algoritma penskalaan atau pemilihan blok oleh LLM memainkan peran yang lebih krusial dalam tahap pasca-pemrosesan setelah peta awal dihasilkan.

Untuk itu, kami menyiapkan empat level yang menggunakan peta utama awal yang sama, namun berbeda dalam metode pasca-pemrosesan sebagai berikut:

  • Map A: GPT-4-Turbo dengan penskalaan
  • Map B: GPT-4-Turbo tanpa penskalaan
  • Map C: GPT-4o-Mini dengan penskalaan
  • Map D: GPT-4o-Mini tanpa penskalaan

Keempat jenis level ini diperlihatkan pada Gambar 6.

Kemudian, partisipan diminta untuk memberi peringkat berdasarkan preferensi mereka. Skor komposit (S) dihitung sebagai rata-rata tertimbang dari jumlah suara untuk tiap peringkat, yang memberikan penilaian keseluruhan terhadap kualitas masing-masing level.

Diberikan:

  • k = jumlah kategori peringkat,
  • Rᵢ = jumlah suara pada peringkat ke-i,
  • wᵢ = bobot untuk peringkat ke-i (semakin tinggi peringkat, bobot semakin besar),

maka skor komposit (S) dihitung dengan rumus berikut:

$$ S = \frac{\sum_{i=1}^{k} w_i R_i}{N} \tag{6} $$

di mana

$$ N := \sum_{i=1}^{k} R_i $$

adalah jumlah total suara.

Dalam eksperimen ini, kami menetapkan:

  • k = 4, dan
  • wᵢ = k − i → artinya peringkat 1 diberi bobot tertinggi, peringkat 4 terendah.

📊 Tabel VI — Hasil Studi Ablasi

Map Skor Komposit
Map A 3.24
Map B 2.76
Map C 2.29
Map D 1.35

🔍 Interpretasi:

  • Map A (GPT-4-Turbo dengan penskalaan) mendapatkan skor tertinggi, menandakan performa terbaik secara keseluruhan.
  • Map B mengungguli Map C, ➤ ini menunjukkan bahwa pemilihan blok oleh LLM lebih berpengaruh terhadap kualitas akhir daripada algoritma penskalaan itu sendiri.

🧠 Tujuan Gambar Fig. 6

Fig. 6 adalah visualisasi dari empat variasi peta yang digunakan dalam studi ablation, yaitu eksperimen yang bertujuan untuk mengetahui faktor mana yang paling berpengaruh terhadap kualitas level Minecraft:

Apakah:

  • Pemilihan blok oleh LLM, atau
  • Algoritma penskalaan (scaling)

...yang lebih penting dalam menghasilkan level berkualitas.


📋 Isi Gambar Fig. 6

Gambar ini menampilkan empat peta yang memiliki tata letak awal yang sama, namun diproses secara berbeda dalam tahap akhir (post-processing):

  1. Map A – Menggunakan GPT-4-Turbo dan algoritma penskalaan
  2. Map B – Menggunakan GPT-4-Turbo, tanpa penskalaan
  3. Map C – Menggunakan GPT-4o-Mini dan penskalaan
  4. Map D – Menggunakan GPT-4o-Mini, tanpa penskalaan

🔍 Makna Visual dari Gambar

  • Gambar memperlihatkan bagaimana kombinasi LLM + scaling atau tanpa scaling berdampak pada tampilan dan struktur akhir dari peta.
  • Kamu bisa membandingkan langsung kualitas visual dan fungsionalitas dari tiap kombinasi.

📈 Kesimpulan dari Fig. 6 (berdasarkan hasil eksperimen di Tabel VI)

  • Map A mendapatkan skor tertinggi, membuktikan bahwa GPT-4-Turbo + scaling memberikan hasil terbaik secara keseluruhan.

  • Map B lebih baik daripada Map C, yang berarti:

    Pemilihan blok oleh LLM (GPT-4-Turbo vs GPT-4o-Mini) lebih memengaruhi kualitas akhir daripada penggunaan penskalaan.


✨ Inti Pesan dari Fig. 6

Visual dari hasil studi ablation ini menegaskan bahwa kualitas hasil akhir peta Minecraft dalam Word2Minecraft lebih ditentukan oleh kemampuan LLM dalam memilih blok yang tepat, dibandingkan dengan apakah penskalaan digunakan atau tidak.


V. Kesimpulan dan Pekerjaan Masa Depan

Dalam makalah ini, kami memperkenalkan Word2Minecraft, sebuah sistem baru yang memanfaatkan Large Language Models (LLMs) untuk menghasilkan level Minecraft yang terstruktur dan dapat dimainkan berdasarkan cerita.

Pendekatan kami mengatasi tantangan utama dalam procedural content generation (PCG) berbasis cerita, dengan:

  • Menggabungkan algoritma penskalaan untuk menjaga konsistensi spasial, dan
  • Menambahkan pembuatan sub-peta untuk mendukung keberagaman tujuan permainan.

Melalui evaluasi berbasis metrik maupun berbasis manusia, kami menemukan bahwa:

  • GPT-4-Turbo menghasilkan level dengan koherensi cerita, keberagaman, dan fungsionalitas yang lebih tinggi,
  • Sementara GPT-4o-Mini unggul dalam aspek daya tarik visual (estetika).

Studi ablation kami juga menyoroti bahwa pemilihan blok oleh LLM merupakan faktor penting dalam menentukan kualitas akhir dari level yang dihasilkan.


🔮 Pekerjaan Masa Depan

Ke depan, kami berencana untuk:

  • Meningkatkan integrasi level dengan cara menggabungkan semua tujuan ke dalam satu peta yang berkesinambungan, ➤ bukan lagi mengandalkan portal untuk menghubungkan sub-peta. ➤ Hal ini akan membutuhkan algoritma penskalaan yang lebih canggih.

Selain itu, saat ini peta yang kami hasilkan masih mengasumsikan tinggi ubin yang seragam untuk semua area yang dapat dilalui, ➤ Hal ini belum sepenuhnya memanfaatkan ruang aksi dalam Minecraft seperti melompat dan memanjat.


📌 Penutup

Pekerjaan kami menunjukkan potensi besar LLM dalam procedural content generation, khususnya dalam:

  • Menerjemahkan narasi menjadi dunia permainan yang terstruktur dan dapat dimainkan.

Dengan terus mengeksplorasi pendekatan hibrida yang menggabungkan LLM dan teknik PCG tradisional, kami bertujuan untuk mendorong batas generasi level berbasis cerita, dan membuat dunia permainan yang dihasilkan AI menjadi lebih imersif, koheren, dan menarik bagi para pemain.


  1. Pembuatan Cerita: Tulislah sebuah cerita sepanjang 4–5 paragraf yang memiliki karakter, termasuk protagonis yang berusaha mencapai sesuatu dan antagonis yang ingin menghentikannya. Harus ada 8 tujuan (objectives) yang harus dicapai oleh protagonis dalam cerita tersebut. Salah satu tujuan tersebut harus berupa cara mengalahkan antagonis. Deskripsikan juga lingkungan tempat setiap tujuan terjadi. Kamu juga boleh menambahkan beberapa NPC ke dalam cerita.

  2. Ekstraksi Karakter: Mari gunakan cerita di atas untuk membuat permainan 2D. Tuliskan deskripsi spesifik untuk masing-masing karakter yang bisa digunakan sebagai prompt untuk menghasilkan sprite karakter.

  3. Ekstraksi Ubin (Tile): Buatlah daftar lengkap ubin (tiles) yang dibutuhkan untuk membentuk lingkungan. Beberapa ubin dapat menempati lebih dari satu ruang/grid.

  4. Pemetaan Tile-ke-Karakter: Bayangkan setiap ubin dipetakan ke sebuah alfabet atau karakter khusus.

  • Untuk lingkungan, gunakan huruf alfabet (a, b, c, dst).
  • Untuk karakter, gunakan karakter khusus.

Buat dalam format dictionary Python satu baris. Kembalikan hanya dan hanya sebuah dictionary Python, jangan dikembalikan dalam format kode Python. Nama ubin harus menjadi Key, dan huruf/karakter pemetaan sebagai Value.

  • Protagonis harus selalu menggunakan simbol ‘@’
  • Antagonis harus selalu menggunakan simbol ‘#’
  1. Pembuatan Dunia (World Generation): Dengan menggunakan pemetaan tile-ke-karakter seperti ini: {tile map dict}, buatlah seluruh dunia berbasis grid tile.
  • Jangan buat elemen yang memerlukan lebih dari satu tile.
  • Karakter berikut wajib ditempatkan: {important tiles list}
  • Ubin yang bisa dilalui: {walkable tiles list}
  • Jangan tempatkan protagonis, antagonis, atau objek interaktif cerita sekarang.

Cukup buat dunia saja, dalam format string dengan pembuka dan penutup menggunakan tiga tanda backtick (...), bukan dalam format list.

  1. Penempatan Tujuan (Objective Placement): Kamu adalah seorang perencana hebat dalam game 2D. Rancanglah tujuan-tujuan untuk protagonis di dalam game. Semua tujuan harus sesuai dengan sasaran dalam cerita. Salah satu tujuan harus mengalahkan antagonis. Tujuan lainnya bisa berupa:
  • menemukan jalan keluar dari labirin,
  • menemukan peti di dalam peta,
  • bertahan dari gelombang musuh,
  • atau mengumpulkan beberapa item di dalam peta.

Kembalikan dalam bentuk dictionary Python, dengan tujuan sebagai Key dan isinya berupa ubin untuk tujuan tersebut beserta posisinya. Contoh: 'Objective': ['A', 6, 1] Kembalikan hanya dictionary Python, jangan dalam format kode Python.

  1. Pemilihan Ubin untuk Diskalakan (Scaling Tiles Selection): Diberikan cerita, peta 2D {tile map}, dan dictionary des2not di mana setiap key adalah deskripsi tile dan setiap value adalah notasi tile dalam peta, identifikasi notasi tile mana saja dalam peta yang perlu diskalakan.

Sebuah tile dianggap diskalakan jika harus menempati lebih dari satu kotak/grid, seperti ubin 'rumah'.

⚠️ Hindari memilih:

  • ubin yang berdekatan dengan jenis yang sama,
  • ubin yang terlalu sering muncul,
  • ubin dengan simbol ‘#’ dan ‘@’.

Kembalikan hasil dalam format list Python berisi notasi tile yang akan diskalakan, contoh: [a, b]