Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Artificial Intelligence

Membuat Al Fun: Ketika Cukup Bagus sudah Cukup Bagus

by
Length:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Masatti (you can also view the original English article)

Membuat kecerdasan tiruan untuk melawan komputer memang sulit. Memprogram sebuah game seperti konsep tidak terlalu menantang; dengan menambahkan Al, bagaimanapun, mungkin membutuhkan waktu daripada membuat game itu sendiri. Tetapi apa yang kita lakukan ketika membuat Al ini? Apakah penting untuk memeriksa setiap kemungkinan perubahan pada board, atau kita bisa menipu dan membuatnya bergerak secara acak? Apa yang akan Al lakukan, dan (yang penting) bagaimanakah kita meyakinkan bahwa game ini menarik?

Al Bagus vs Al Menarik

Istilah "Al" adalah konsep yang sangat luas, dan tipe Al bergantung pada permainannya. Game Asimertis, seperti Space Invaders, Mario, atau Tower Defence, memungkinkan pemain untuk menyapu para musuh tanpa susah payah. Karena "tim" (pemain vs yang lain) tidak seimbang, permainan ini cenderung menggunakan Al bodoh. Game Simetris seperti Starcraft, Street Fighter atau Civilisation, mengharapkan pemain mengalahkan lawan dengan pijakan yang sama, sehingga membutuhkan Al yang lebih kompleks.

Space Invaders on the left Starcraft on the right The player is fighting an alien horde in both in Starcraft however they tend to fight back
Pada sisi kiri Space Invaders, sisi kanan Starcraft. Pemain sedang melawan grrombolan alien dikeduanya; dalam Starcraft, bagaimana pun, mereka cenderung balik melawan.

Bagaimanapun, game haruslah menarik, berkualitas baik dan terkemuka. Pemain menikmati tantangan, bukan kalah berulang-ulang. Kenyataannya, beberapa game seperti Checkers telah "dipecahkan", artinya bahwa mungkin untuk membangun Al yang dimainkan pada game yang tak terkalahkan.

Ketika saya dan tim sedang menherjakan game komputer kami Infected, kami harus membuat level pertama Al dengan sengaja agar tidak menakut-nakuti pemain. Permainan Al pada awalnya agak sederhana, dan komputer akan bermain dengan sangat agresif, berfokus pada keseluruhan skor tertinggi tanpa memikirkan pertahanan atau kehadiran dewan.

Meskipun Al jelek, kami mendapati para pemain baru akan hancur dan kehilangan ketertarikan. Kami merevisi Al beberapa kali, meskipun masih terbukti bahwa terlalu banyak tantangan untuk para pemain. Akhirnya, kami melepas Al, jadi game akan membuat gerakan secara random setiap kali. Meskipun beberapa pemain masih kalah, penyimpanan pemain yang ditingkatkan secara besar-besaran ini memungkinkan kami untuk mengenalkan kembali Al "serius" pada level yang lebih tinggi.

Infected, sebuah permainan agak berat berdasarkan sebuah game bernama Amiga dengan nama hang sama.

Permasalahan Al yang "terlalu bagus" dapat dilihat dalam beragam permainan: permainan FPS dengan bot yang memiliki pengelihatan 360 derajat, atau kalahkan-mereka  melawan bot dengan reflek yang sempurna. Bermain melawan Al sebenarnya tidak melatih pemain untuk bermain dengan baik: itu mengajarkan kepada mereka untuk "permainan" bot, untuk mencoba mencari kekurangan dalam alogaritma yang memungkinkan pembasmian lebih mudah.

Bukan berarti semua Al haruslah jelek, tetapi dibandingkan bagus lebih beranekaragam. Al membuat kesalahan, tetapi mencoba hntuk menghidari jatuh kedalam pola sama yang diprediksikan. Dengan memberikan Al kemampuan beradaptasi - dan oleh karena itu, untuk memberikan variasi dalam gameplay - lebih tepatnya kemungkinan akan memberikan hiburan yang lebih banyak untuk pemain daripada Al yang memainkan permainan secara sempurna setiap waktu.

Youre nothing but a pack of cards cries Alice Unrealistic AI might make us call out something similar Youre nothing but a bunch of code
"Kamu bukanlah apa-apa, selain kumpulan kartu!" teriak Alice. Al yang tidak nyata mungkin membuat kita meneriakan hal yang sama: "Kamu bukanlah apa-ala selain sekumpulan kode!".

Membuat Mereka seolah Manusia

Setelah membuat Infected, kami membuat sekuelnya, Infected 2. Ini adalah premis yang sama, tetapi skalanya lebih besar, mirip dengan permainan papan klasik Risk. Karena game ini lebih besar, maka penting untuk mengubah Al secara dramatis: sesuatu yang mungkin membuat pemain tetap tertarik selama permainan yang jauh lebih lama, dan dimana beberapa Al dapat mengalahkan satu sama lain.

Kami terpasang di Al yang lama, dan ada beberapa masalah didalamnya. Al nya mudah ditebak, tetapi itu adalah sesuatu yang bisa diperbaiki dengan sedikit sentuhan. Masalah yang lebih besar adalah berkaitan dengan sikap umum Al, dan bagaimana itu bermain.

Ada tiga permasalahan utama:

  • Pertama, bermain melawan Al tidak terlalu menyenangkan.
  • Kedua, mengalahkan Al tidak selalu berharga.
  • Keriga, Al mungkin saja akan "curang" dengan sengaja melempar game.

Permainan akan menyenangkan jika melawan pemain lain, tetapi tidak melawan Al. Meskipun dalam level tantangan yang sama, mengapa ada perbedaan besar antara pemain melawan Al dan pemain melawan pemain lainnya, jika gameplaynya sama?

Kita akhirnya ingat apa yang dimiliki oleh manusia sedangkan tidak dimiliki oleh komputer: emosi.

Bagian dari bermain game yang bisa menjadi emosional; kita menyukai kemenangan yang mencengangkan, kami benci kekalahan yang menghancurkan. Kami senangnuntuk menggosokan kemenangan di wajah teman kami, dan kami menjadi kecil dan pendendam saat mereka mengkhianati kami. Permainan secara intrinsik terkait dengan emosi kita, dan ini adalah sesuatu yang Al tidak bisa alami... Tetapi ini adalah sesuatu yang bisa dikembangkan oleh kita, pengembang.

Cetusan yang Sangat Penting

Kenapa bermain dengan Al tidak menyenangkan?

Karena kecerdasan tiruan sudah jelas tiruan. Semua bot bermain dengan cara yang sama; mereka memiliki pendekatan yang sama pada permainan; mereka semua bisa ditebak pola pergerakannya.

Even in Pac-Man the four ghostsInky Blinky Pinky and Clydehave their own personalities and movement patterns
Bahkan di Pac-Man, keempat hantu—Inky, Blinky, Pinky and Clyde—memiliki personaliti dan pola pergerakannya masing-masing.

Kami butub sesuatu yang bisa membuat mereka berbeda dari yang lain. Jadi kami memperkenalkan kepribadiannya: sembrono, defensif, petualang. Al akan memberikan bobot buatan pada strategi tertentu, dan kemudian bergerak pada pola serangan tersebut.

Bahkan pada bentuk dasar, ini adalah peningkatan yang besar: semua permainan tidak lagi sama, tetapi itu menambahkan pergerakan musuh yang tidak terduga dan membuatnya lebih sulit untuk merumuskan strategi "permainan menang". Jika Al diacak pada saat permainan dimulai, maka pemain tidak akan bisa memperkirakan bagaimana game akan terungkap.

Kepribadian pada Al bukanlah ide baru. Civilisation memberikan kepribadian kepada pemimpinnya (Gandhi terkenal atas kecintaannya pada orang nuke), Al yang ada pada Age of Mythology menentukan seberapa besar kemungkinan mereka menggunakan strategi turtling atau terburu-buru, dan bot Unreal Tournament memiliki senjata favoritnya.

Gandhi in Civilisation 5 avoid invoking his wrath
Gandhi di Civilisation 5: hindari memohon kemurkaannya.

Kenapa Mengalahkan Al tidak Berharga?

Isu utama adalah Al memainkan apa yang sudah ditentukan sebagai "langkah terbaik" disetiap putaran. Ini hanya mementingkan permainan papan tanpa mementingkan diplomasi. Jika itu haru menyerang anda, maka itu akan menyerang. Jika anda melawan balik, itu tidak akan peduli. Ini dilihat sebagai teka-eki matematika yang harus dipecahkan, bukan permainan kompleks yang melawan manusia. Bermain melawan kecedasan buatan akan menghasilkan permainan buatan.

Kami mendapatkan solusi dari permainan Amiga dari tahun 1989 yang disebut Nuclear War. Di Nuclear War, anda bertarung melawan berbagai pemimpin dunia dan mencoba untuk menghancurkan negara mereka. Siapapun yang berhasil bertahan hidup akan menang. Meskipun sederhana, ini sangatlah menyenangkan untuk melihat musuh anda tertangkap dalam dendam peribadi dan melemparkan nuklir satu sama lain.

Sistem "Teman dan musuh" ini menggunakan matriks yang sederhana: kebahagiaan. Setiap pemimpin negara memiliki ekspresi wajah yang berbeda-beda, dimana akan mempermudah anda untuk menilai sikap mereka terhadap anda. Tidak mengherankan, orang yang mem-bom cenderung membuat mereka tidak bahagia dengan sangat cepat. Selain itu, musuh anda tidak akan marah begitu saja dengan anda, tetapi dengan yang lain. Ini artinya setiap satu patahan rudal dapat meningkatkan perjuangan yang berkelanjutan sampai kematian.

Sekali lagi, sistem ini telah banyak digunakan pada banyak permainan, termasuk Civilisation. Seorang musuh negara dengan level "kebahagiaan" seolah lebih senang dengan anda dan mengirimi anda hadiah, sedangkan seorang musuh yang membenci anda mungkin berinvestasi banyak untuk menghancurkan kota anda.

Dengan menambahkan meteran kebahagian yang tidak sempurna ke game kami, kami membiarkan pertemanan dan persaingan untuk dibuat. Sebuah permainan lebih menegangkan saat anda mengembangkan musuh, atau saat tim dan aliansi terbentuk. Tiba-tiba, permainan menjadi personal, dan tindakan terasa lebih berat. Kami juga mendapati bahwa meteran kebahagiaan yang terlihat itu penting, jika tidak pemain tidak akan bisa mengerti tentang apa yang terjadi. Sebuah ikon muka bahagia yang sederhana bisa menyampaikan bahwa musuh bisa "kesal" dan melihat perubahan wajah mereka pada tindakan tertentu membuat konsekuensi lebih jelas atas tindakan yang dilakukan.

The prisioner's dilemma adalah konsep teori yang terkenal, dan banyak programer menghabiskan waktunya untuk membuat bot mutakhir yang bisa melengkapi dilema tahanan yang terafiliasi. Anehnya, strategi kemenangan selama bertahun-tahun juga paling sederhana: diketahui sebagai tit-for-tat is a well known game theory concept, permainan lawan kami.

Cara Berbohong?

Permasalahan pada Infected 2 adalah seringkali Al hanya melihat pada perspektif jangka pendek. Al bertujuan untuk memperbanyak skp setiap gilirannya: jika ini tindakan yang buruk, maka akan tetap dilakukan.

Cara termuda untuk membayangkannya ada di skenario ini:

  • Alice, Bob dan Carol sedang berperang.
  • Alice punya 100 tentara. Bob punya 75 tentar. Carol punya 150.
  • Baik Alice atau Bob bisa mengalahkan Carol.
  • Bagiamanapun, Alice dan Bob bergabung untuk melawan Carol.

Permasalahannya adalah Al akan melakukan apapun untuk mengumpulkan skor lebih banyak. Pada skenario diatas, iu berarti Alice bisa melawan Bob: dalam jangka pendek, sebuah gerakan bagus, tetapi dalam jangka panjang, bencana. Tidak hanya Alice yang membuat langkah yang menghancurkan dirinya sendiri, dia juga mengutuk Bob untuk kekalahan tertentu. Bisa dimengerti kenapa Bob marah.

Situasi ini sulit untuk dihindari, setelah melihat gambaran yang lebih besar yang membutuhkan alasan kompleks dibalik Al yang sederhana. Kami mencoba untuk nemastikan "keadilan" dengan membuat pemain tidak mungkin diserang jika mereka kalah, atau jika mereka baru saja diserang. Meskipun tidak semua game dapat menerapkan solusi sederhana, hal ini merupakan hal penting untuk disadari bahwa pemain benci diserang tanpa alasan yang jelas.

Sementara Infected 2 tidak pernah berhasil melewati tahap alpha, itu mengajarkan beberapa hal penting. Yang lebih penting, bahwa tidak hanya cukup untuk bermain melawan musuh: anda ingin terlibat dalam game, mengembangkan persaingan, dan menghancurkan siapapun yang melawan anda.

AI Melakukannya Dengan Benar

Beberapa tahun lalu, sebuah game diluncurkan seperti sebuah loncatan dan dipenuhi dengan persaingan. Meskipun sebuah desain game multiplayer, botnya cukup bagus sehingga bisa dinikmati olwh pemain tunggal. Dan, meskipun menurut standar sekaran itu buruk, game ini - Unreal Tournament - punya Al yang berbeda dari pada gane lain.

Kita bisa lihat pada screenshot di game untuk melihat apa yang sebenarnya terjadi:

Bot 19, aka Tamerlane.

Kemampuan adalah faktor utama dalam menentukan perilaku bot: bot pemula sangat lambat, harus tetap berdiri untuk menembak, dan lambat untuk berputar, sedangkan bot pada level yang lebih tinggi, lebih cepat, bisa mengelak, memiliki bidang pandang yang lebih luas dan bisa menggunakan senjata dengan teknik kombo.

Bot kemudian bisa dimodifikasi lebih lanjut dengan keakuratan, kewaspadaan, kamping, dan memberondong. "Perilaku" akan menentukan gaya tempur dan alat kesukaan, menentukan apakah bot suka mendekat dan pribadi, atau mencoba untuk berkik dari kejauhan. Bot juga bisa mengejek dan membalas dendam. Masing-masing dari 32 bot dapat dibuat secara individual, artinya anda mempunyai 32 perbedaan perilaku. Bots tertentu seperti Loque, menjadi terkenal dikalangan pemain.

Dari semua faktor diatas membantu untuk membuat bot yang lebih seperti manusia. Sementara permainannya tetap bagus tanpa kecanggihan ini, itu menambahkan lapisan kesenangan yang nyaris tak terlihat.

Kesimpulan

Pada akhir hari, anda perlu bertanya: apa yang anda inginkan dari Al anda? Apakah musuh akan terburu-buru untuk memburu pemain dan langsung masuk kedalam lubang, atau apakah anda mencoba untuk mengembangkan sesuatu yang lebih, sesuatu yang memberi tingkat interaksi dengan pemain lain? Apapun yang anda putuskan, ingat tiga kunci ini:

  • Jika bot membuat kesalahan, maka mereka merasa lebih manusiawi, dan tidak hanya sebagai "kumpulan kartu".
  • Jika mereka sengaja membuat drama berdasarkan kepribadian individu (atau emosi, seperti dendam), maka gameplay tak terduga dan seru kemungkinan akan muncul.
  • Jika bot mencoba bermain cerdik, dibandingkan dengan pandangan pendek, mereka cenderung membuat game terlihat adil dimata kita.

Sumber

  • Gambar Pratinjau: Ghost oleh Andres Flores dari the Noun Project
  • Gambar Pratinjau: Pacman oleh Andres Flores dari the Noun Project
  • Ilustrasi Alice in Wonderland: oleh John Tenniel di domain publik.
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.