Mengupas Otak Kecerdasan Buatan: Di Balik Cara Berpikir Artificial Intelligence di Game

AI dalam game jauh berbeda dari kebanyakan AI di kehidupan sehari-hari

Apa yang muncul di benak Anda ketika Anda mendengar istilah kecerdasan buatan alias artificial intelligence? Mesin pembunuh seperti Terminator? Atau justru robot yang lucu seperti Wall-E? Menurut Oxford Languages, artificial intelligence adalah sistem komputer yang dapat melakukan tugas yang biasanya hanya bisa dilakukan oleh manusia, seperti mengambil keputusan, menerjemahkan bahasa, atau mengenali gambar dan suara.

Sekarang, AI sebenarnya telah banyak digunakan di dunia nyata, walau pengaplikasian AI mungkin tidak sedramatis Detroit: Become Human. Salah satu contoh penggunaan AI di dunia nyata adalah asisten digital, seperti Siri, Cortana, Alexa, dan Google Assistant. Selain pada asisten digital, Google juga menggunakan AI pada mesin pencari mereka. Tak hanya Google, perusahaan e-commerce seperti Amazon pun sudah menggunakan AI.

Lalu, bagaimana AI diterapkan dalam game? Dan, bagaimana caranya jika Anda ingin mencoba berkreasi membuat AI sendiri di game?

 

AI Di Game dan Di Kehidupan Sehari-Hari

Jika Anda pernah bermain game, Anda pasti pernah berinteraksi dengan AI, tak peduli genre game yang Anda mainkan. Dalam game, salah satu penggunaan AI adalah untuk membuat Non-Player Characters alias NPC menjadi terlihat manusiawi. Ketika Anda berinteraksi dengan NPC -- baik lawan atau kawan -- dia akan bereaksi sesuai dengan aksi yang Anda lakukan.

Misalnya, dalam game shooter seperti Borderlands, jika Anda berlari ke arah musuh begitu saja, tentu musuh akan menembak Anda. Sementara dalam game yang fokus pada cerita, dialog dan aksi yang Anda pilih akan memengaruhi persepsi NPC pada Anda. Dalam Stardew Valley atau game serupa, jika Anda ingin memenangkan hati para love interest, maka Anda harus memberikan item yang mereka sukai.

Dalam membuat AI di game, salah satu metode yang developer biasa gunakan adalah Finite State Machine (FSM), menurut laporan Harvard. Pada dasarnya, dengan metode ini, sang developer akan mempertimbangkan semua interaksi yang mungkin terjadi antara AI dengan pemain dan memprogram semua reaksi yang mungkin dilakukan oleh sang NPC. Misalnya, ketika seorang pemain berada tidak jauh dari musuh, maka musuh akan menyerang. Dan ketika pemain berlari menjauh, musuh akan mengejar sang pemain.

Ilustrasi model FSM. | Sumber: Harvard

Metode FSM telah digunakan dalam game sejak tahun 1990-an. Beberapa contoh game yang menggunakan metode ini antara lain Call of Duty, dan Tomb Raider. Namun, metode ini tetap punya kelemahan, yaitu respons AI akan tindakan pemain terbatas. Jadi, setelah memainkan game yang menggunakan FSM beberapa kali, pemain mungkin akan merasa bosan.

Selain FSM, metode lain yang bisa digunakan untuk membuat AI dalam game adalah Monte Carlo Search Tree (MCST). Model algoritma ini digunakan pada Deep Blue, AI pertama yang bisa mengalahkan juara catur pada 1997. Dengan MCST, AI akan mencoba untuk memecahkan masalah dengan melakukan tindakan secara random sebelum mempertimbangkan semua opsi tindakan yang bisa ia ambil.

Dalam kasus Deep Blue, sebelum mengambil langkah, ia akan mempertimbangkan semua langkah yang bisa ia ambil. Kemudian, ia akan memperkirakan semua langkah bisa dilakukan lawannya sebagai respons. Setelah itu, ia akan kembali mempertimbangkan semua opsi yang ia punya, dan begitu seterusnya. Deep Blue kemudian akan mengambil langkah yang dianggap memberikan hasil paling baik. Lalu, ia akan kembali mempertimbangkan langkah yang bisa ia dan musuhnya ambil. Contoh game yang menggunakan metode MCST adalah Civilization.

Skema MCST. | Sumber: Harvard

AI dalam game mungkin bisa bertindak layaknya manusia. Namun, AI dari NPC stagnan. Ia tidak akan bisa berevolusi atau mengubah strategi yang ia gunakan berdasarkan gaya bermain para pemain. Padahal, sejatinya, salah satu karakteristik AI adalah kemampuan untuk belajar. Fakta bahwa AI dalam game bersifat stagnan membuatnya jauh berbeda dari Ai yang bisa kita temukan sehari-hari, seperti pada Google Search. Ketika seseorang menggunakan Google Search untuk mencari kata kunci tertentu, hasil pencarian biasanya akan disesuaikan dengan kebiasaan browsing orang tersebut.

Ada beberapa alasan mengapa AI dalam game dan AI dalam kehidupan sehari-hari sangat berbeda. Salah satunya adalah karena AI pada game dan AI di kehidupan nyata punya fungsi dan tujuan yang berbeda. Dalam game, fungsi AI hanya satu, yaitu membuat pengalaman bermain para gamer menjadi lebih seru. Sementara dalam kehidupan nyata, AI punya fungsi yang berbeda-beda.

Contohnya Google, yang menggunakan AI pada berbagai produk mereka, mulai dari Search, Gmail, Maps, sampai Assistant. Walau sama-sama menggunakan AI, tapi fungsi AI pada masing-masing produk Google itu berbeda-beda. Di Gmail, AI berfungsi untuk mendeteksi email spam. Sementara di Search, fungsi AI adalah untuk menampilkan hasil yang paling relevan dengan kata kunci yang digunakan seorang pengguna. Dalam Maps, AI berfungsi untuk mencari rute terbaik atau memperkirakan kemacetan. Sementara Assistant harus bisa memahami perintah suara yang diberikan pengguna.

Alasan lain mengapa AI dalam game berbeda dari AI di kehidupan nyata adalah karena ruang lingkup game yang jauh lebih sempit. Jika dibandingkan dengan dunia nyata, dunia game jauh lebih kecil. Hal itu berarti, data yang bisa diakses oleh AI dalam game juga terbatas. Jadi, jangan heran jika AI dalam game cenderung stagnan sementara AI di kehidupan nyata akan terus berevolusi.

Selain itu, besar dana yang dikeluarkan perusahaan untuk membuat AI juga akan memengaruhi kualitas AI itu. Developer punya dana yang terbatas dalam membuat game. Sementara itu, perusahaan seperti Google atau Amazon punya dana yang jauh lebih besar. Sebagai perbandingan, pemasukan Alphabet, perusahaan induk Google pada 2020 mencapai US$182,5 miliar. Sementara sepanjang 2020, pemasukan Nintendo hanya mencapai US$12,12 miliar. Selain itu, performa AI pada Search atau situs e-commerce Amazon juga akan berdampak langsung pada pemasukan perusahaan. Karena itu, tidak heran jika mereka rela mengeluarkan dana besar untuk mengembangkan AI mereka.

Tak hanya di dunia gaming, AI juga pernah digunakan di ranah esports. Pada 2019, OpenAI mengadu AI buatan mereka -- OpenAI Five -- melawan OG, tim Dota 2 terbaik dunia ketika itu. Dalam pertandingan best-of-three, OpenAI berhasil menang 2-0.

Satu hal yang membedakan OpenAI Five dengan kebanyakan AI pada game adalah OpenAI Five bisa belajar. Faktanya, perusahaan OpenAI tidak memprogram Five agar bisa bermain Dota 2. Mereka membuat AI itu agar ia bisa belajar. Pada awalnya, AI itu sama sekali tidak mengerti bagaimana cara bermain Dota 2. Namun, setelah "latihan" selama 45 ribu tahun, AI tersebut dapat mengalahkan OG. Kemampuan OpenAI Five untuk belajar memungkinkan AI itu untuk terus berevolusi dan menyesuaikan strateginya dengan gaya bermain musuh.

Kabar baik bagi para pemain esports, OpenAI Five tidak dibuat untuk menggantikan posisi para pro player. Tujuan OpenAI membuat AI yang bisa bermain Dota 2 adalah untuk membuktikan bahwa sebuah AI bisa mengerjakan sesuatu yang kompleks, seperti bermain game MOBA. Dan jika AI bisa belajar bermain game, hal itu berarti AI juga akan bisa belajar cara untuk mengerjakan tugas kompleks di dunia nyata, lapor The Verge.

 

Bagaimana Cara Membuat AI?

Dalam membuat AI, langkah pertama yang harus dilakukan adalah mengidentifikasi masalah yang hendak diselesaikan. Di sini, seorang programmer harus bisa memjawab pertanyaan: masalah apa yang ingin saya selesaikan dengan AI? Memang, AI terbukti bisa mengerjakan tugas yang kompleks. Namun, hal itu bukan berarti AI bisa menyelesaikan semua masalah. Biasanya, AI digunakan untuk menyelesaikan satu masalah tertentu. Misalnya, di dunia kedokteran, ada AI yang digunakan untuk mendeteksi kanker paru-paru. Alasannya, kebutuhan akan radiologi semakin meningkat, sementara jumlah radiolog yang ada tidak mencukupi. Selain itu, AI ini dapat mendeteksi kanker paru-paru dengan lebih akurat.

Ketika seseorang hendak membuat AI untuk game atau AI yang bisa bermain game, langkah pertama yang harus dilakukan pun sama, yaitu mengidentifikasi masalah. Berikut video penjelasan tentang bagaimana seorang programmer membuat AI yang bisa bermain Fall Guys.

Dalam video di atas, Clarity Coders menjelaskan bahwa dia ingin membuat AI yang bermain layaknya manusia. Hal itu berarti, AI yang dia buat tidak akan mengeksploitasi bug dalam game. Dia juga menjelaskan bahwa dia akan membatasi aksi yang bisa diambil oleh AI. AI yang dia buat hanya bisa melakukan tiga hal, yaitu bergerak ke kiri dan ke kanan, serta melompat. AI itu tidak bisa melakukan aksi lain seperti dive.

Langkah kedua dalam membuat AI adalah menyiapkan data untuk melatih AI. Semakin banyak data yang Anda gunakan, semakin baik performa dari AI yang Anda buat. Pada dasarnya, ada dua jenis data yang bisa Anda gunakan. Pertama adalah data yang terstruktur, seperti nama, tanggal lahir, alamat dan sebagainya. Kedua adalah data tidak terstruktur, seperti gambar, audio, infografis, percakapan di email atau platform chatting, dan lain sebagainya. Dalam video Clarity Coders, data yang digunakan untuk melatih AI masuk dalam kategori data tak terstruktur, karena data berupa gambar screenshot dari beberapa ronde yang sang YouTuber mainkan.

Jika Anda menggunakan data tidak terstruktur untuk melatih AI, maka Anda harus "membersihkan" data itu terlebih dulu. Contohnya, ketika Anda ingin membuat AI yang bisa membedakan gambar antara kucing dan anjing, Anda tidak hanya harus menyiapkan sekumpulan gambar dari anjing dan kucing, tapi juga melabeli sekumpulan gambar tadi, untuk membedakan mana gambar kucing dan mana gambar anjing. Jadi, AI akan bisa mempelajari perbedaan antara gambar kucing dan anjing. Menurut Becoming Human, membersihkan data yang hendak digunakan untuk melatih AI merupakan salah satu bagian tersulit dalam membuat AI. Tidak sedikit AI designers yang menghabiskan 80% waktu mereka untuk melabeli, merapikan, dan memeriksa data yang hendak mereka gunakan untuk melatih AI.

Proses pembuatan AI. | Sumber: IT Chronicle

Mengapa membersihkan data training set penting? Karena data itulah yang akan menentukan seberapa akurat/cerdas AI yang Anda buat. Dalam contoh di atas, AI bisa salah mengenali seekor anjing atau kucing jika data yang digunakan untuk melatihnya juga tidak akurat. Padahal, semakin akurat sebuah AI, semakin baik, apalagi jika AI digunakan untuk tugas penting, seperti mendeteksi kanker.

Ketika membuat AI yang bisa bermain Fall Guys, Clarity Coders mengumpulkan data training set dengan memainkan Fall Guys sambil menjalankan script Python untuk mengambil screenshot dan mencatat tombol yang dia tekan selama bermain. Tujuannya, agar AI bisa belajar kondisi dari keadaan sekelilingnya dan tahu kapan harus memencet tombol apa.

Langkah ketiga dalam mendesain AI adalah menentukan jenis algoritma yang akan digunakan. Salah satu tipe algoritma yang sering digunakan adalah reinforcement learning. Tipe algoritma ini digunakan dalam OpenAI Five. Pada dasarnya, reinforcement learning memungkinkan AI untuk belajar dari kesalahannya dan terus berevolusi. Dalam kasus OpenAI, ia pada awalnya tidak tahu bagaimana cara bermain Dota 2. Namun, setelah berlatih selama puluhan ribu tahun, ia bahkan bisa mengalahkan tim OG.

Setelah menentukan algoritma yang hendak Anda gunakan, tahap berikutnya adalah memilih bahasa programming untuk membuat AI. Ada berbagai bahasa programming yang bisa digunakan untuk membuat AI, seperti C++, Java, Python, dan lain sebagainya. Kemudian, Anda tinggal memilih platform yang hendak Anda gunakan. Kabar baiknya, semakin banyak perusahaan yang membuat platform untuk membuat AI, seperti Microsoft Azure Machine Learning dan Google Cloud Prediction API.

 

Bahasa Programming dan Platform Apa yang Bisa Digunakan?

Python merupakan salah satu bahasa programming yang paling populer untuk membuat AI. Salah satu alasannya adalah karena Python sederhana dan mudah dipahami. Alasan lainnya adalah karena Python punya komunitas yang besar. Menurut Developer Survey 2018 oleh Stack Overflow, Python masuk dalam daftar 10 bahasan programming paling populer. Hal itu berarti, Anda bisa bertanya pada komunitas ketika Anda menemui masalah.

Hasil pencarian dari bahasa programming. | Sumber: Economist

Alasan ketiga, dan yang paling penting, mengapa Python populer sebagai bahasa programming untuk AI adalah karena Python punya banyak library. Library adalah sekumpulan kode yang bisa digunakan untuk memecahkan masalah umum. Dengan menggunakan library, Anda tidak perlu membuat kode dari nol. Anda tinggal mencari library yang sesuai dengan kebutuhan Anda. Misalnya, Anda ingin membuat AI yang bisa mengolah gambar, Anda bisa menggunakan library Python seperti NumPy atau OpenCV. Sementara jika Anda ingin mendesain AI yang fungsi utamanya melibatkan audio, ada library Librosa.

Dalam video Clarity Coders, dia menggunakan library Pandas dan fast.ai. Pandas library biasanya digunakan untuk pemprosesan dan analisa data. Sementara fast.ai library menyediakan komponen-komponen yang bisa dibongkar-pasang sesuai kebutuhan pengguna. Soal platform, dia menggunakan Google Colab. Platform Google Colab memungkinkan Anda untuk menulis kode berdampingan dengan teks biasa. Tak hanya itu, Google Colab juga bisa digunakan untuk melatih AI menggunakan data training set yang telah Anda siapkan. Dengan begitu, Anda tidak perlu lagi membeli komputer seharga puluhan juta untuk melatih AI Anda. Yang lebih menarik, Google Colab bisa Anda gunakan secara gratis.

Selain Google Colab, platform lain yang bisa Anda gunakan untuk membuat AI adalah Gradient. Sama seperti Colab, Gradient juga bisa digunakan secara gratis. Meskipun begitu, keduanya juga menyediakan opsi berbayar. Memang, jika Anda menggunakan versi gratis, daya komputasi yang bisa Anda gunakan pun terbatas. Meskipun begitu, daya komputasi yang Gradient sediakan dalam versi gratis pun sudah cukup memadai jika Anda hanya tertarik untuk belajar tentang AI dan machine learning. Opsi Free-GPU dari Gradient menawarkan CPU 8 core, RAM 30GB, dan NVIDIA Quadro M4000 sebagai GPU.

 

Penutup

Elon Musk sempat berpendapat bahwa AI lebih berbahaya dari nuklir. Meskipun begitu, tak bisa dipungkiri bahwa keberadaan AI memang membuat hidup kita menjadi lebih mudah. Salah satu contoh penggunaan AI pada kehidupan sehari-hari adalah pada fitur face detection di smartphone Anda. Tak hanya itu, AI juga digunakan oleh perusahaan transportasi untuk mengatur jadwal. Dan AI sudah muncul dalam game sejak lama.

Dalam game, keberadaan AI membuat pengalaman bermain menjadi lebih seru. Menariknya, game terkadang digunakan sebagai tolok ukur kecanggihan sebuah AI. Karena itulah, ada perusahaan yang tertarik untuk membuat AI yang bisa bermain go atau bahkan Dota 2. Tak hanya perusahaan, masyarakat secara luas pun semakin tertarik dengan AI. Buktinya, di YouTube, Anda bisa menemukan banyak video yang menunjukkan cara membuat AI sederhana, seperti AI yang bisa bermain Flappy Bird dan 2048.

Popularitas AI yang terus naik berarti semakin banyak perusahaan yang bersedia untuk membuat platform pengembangan AI. Beberapa platform itu bahkan bisa digunakan secara gratis. Hal ini akan membuat pembelajaran dan pengembangan AI menjadi lebih mudah diakses oleh lebih banyak orang. Pasalnya, melalui platform ini, Anda bisa membuat dan melatih AI Anda tanpa harus punya komputer mahal.