Pengantar Teknologi Game
Teori Permainan
Teori permainan adalah bagian dari ilmu matematika yang mempelajari interaksi antar user, di mana tiap strategi yang dipilih akan memiliki payoff yang berbeda bagi tiap user. Pertama kali dikembangkan sebagai cabang tersendiri dari ilmu matematika oleh Oskar Morgenstern dan John von Neumann, cabang ilmu ini telah berkembang sedemikian pesat hingga melahirkan banyak tokoh peraih nobel, seperti John Nash (AS), Reinhard Selten (Jerman), dan John Harsanyi (AS) pada tahun 1999 dan Thomas Schelling (AS), Robert Aumann (Israel) pada tahun 2005, dan Leonid Hurwicz (Amerika Serikat) pada tahun 2007.
Game
Dalam kamus bahasa Indonesia “Game” diartikan sebagai permainan. Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan. Sebuah permainan adalah sebuah sistem dimana pemain terlibat
dalam konflik buatan. Disini pemain berinteraksi dengan sistem dan konflik
dalam permainan merupakan rekayasa atau buatan. Dalam permainan terdapat
peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan
permainan.
Video game merupakan salah satu media hiburan yang paling
popular untuk semua kalangan usia. Sejak pertama kali ditemukan sampai saat
sekarang, teknologi game telah mengalami kemajuan yang terbilang sangat
pesat. Hal ini ditandai dengan berkembangnya jenis, produk, alat, dan jenis
interaksi game dengan penggunaan yang semakin beragam bentuknya.
Pengertian Game Menurut Ahli
Menurut Agustinus Nilwan (1995:1), game merupakan permainan
komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami
pengunaan animasi haruslah memahami pembuatan game. Atau jika ingin
membuat game, maka haruslah memahami teknik dan metode animasi, sebab
keduanya saling berkaitan.
Konsep AI
Kecerdasan Buatan atau Intelegensi Artifisial (AI) didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola.
Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.
Algoritma
Algoritma adalah metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi yang telah didefinisikan dengan baik. Algoritma merupakan suatu teknik dalam kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu
komputer yang mempelajari karakteristik dan performa dari suatu algoritma
dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut.
Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem
komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda
dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak
komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah.
Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam
waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma
yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai
kompleksitas yang tinggi.
Jenis-jenis Algoritma pada Game
Algoritma BFS
Breadth-First Search adalah algoritma yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan bertetangga dengan simpul-simpul yang tadi dikunjungi, demikian seterusnya.
Algoritma Branch And Bound
Branch and bound merupakan metode yang membagi permasalahan
menjadi subregion yang mengarah ke solusi (branching) dengan membentuk
sebuah struktur pohon pencarian (search tree) dan melakukan pembatasan
(bounding) untuk mencapai solusi optimal. Proses branch merupakan membangun
semua cabang tree yang menuju solusi, sedangkan proses bound merupakan
menghitung node dengan memperhatikan batas constraint.
Algoritma Greedy
Algoritma greedy merupakan jenis algoritma yang menggunakan pendekatan penyelesaian masalah dengan mencari nilai maksimum sementara pada setiap langkahnya. Nilai maksimum sementara ini dikenal dengan istilah local maximum. Pada kebanyakan kasus, algoritma greedy tidak akan menghasilkan solusi paling optimal, begitupun algoritma greedy biasanya memberikan solusi yang mendekati nilai optimum dalam waktu yang cukup cepat.
Algoritma greedy merupakan algoritma yang besifat heuristik, mencari nilai maksimal sementara dengan harapan akan mendapatkan solusi yang cukup baik. Meskipun tidak selalu mendapatkan solusi terbaik (optimum), algoritma greedy umumnya memiliki kompleksitas waktu yang cukup baik, sehingga algoritma ini sering digunakan untuk kasus yang memerlukan solusi cepat meskipun tidak optimal seperti sistem real-time atau game.
Algoritma Minimax
Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan catur misalnya. AI permainan catur tentunya sudah sangat terkenal dimana AI tersebut bahkan dapat mengalahkan juara dunia sekalipun. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon solusi tersebut berhubung kombinasi kemungkinan untuk sebuah permainan catur pada setiap geraknya sangat banyak sekali.
Keuntungan yang didapat dengan menggunakan algoritma minimax yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan yang terbaik karena algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti, pada langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum. Dalam penentuan keputusan tersebut dibutuhkan suatu nilai yang merepresentasikan kerugian atau keuntungan yang akan diperoleh jika langkah tersebut dipilih.
Untuk itulah disini digunakan sebuah fungsi heurisitic untuk mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih. Biasanya pada permainan tic tac toe ini digunakan nilai 1,0,-1 untuk mewakilkan hasil akhir permainan berupa menang, seri, dan kalah. Dari nilai-nilai heuristic inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristic yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer.
Daftar Pustaka
Agustinus Nilwan. 1998. Pemrograman Animasi dan Game Profesional 4. Elex
Media Komputindo. Jakarta
https://id.wikipedia.org/wiki/Teori_permainan
https://id.wikipedia.org/wiki/Kecerdasan_buatan
https://id.wikipedia.org/wiki/Algoritma
https://id.wikipedia.org/wiki/Daftar_algoritma
https://en.wikipedia.org/wiki/Breadth-first_search
https://en.wikipedia.org/wiki/Branch_and_bound
https://en.wikipedia.org/wiki/Minimax
https://id.wikipedia.org/wiki/Teori_permainan
https://id.wikipedia.org/wiki/Kecerdasan_buatan
https://id.wikipedia.org/wiki/Algoritma
https://id.wikipedia.org/wiki/Daftar_algoritma
https://en.wikipedia.org/wiki/Breadth-first_search
https://en.wikipedia.org/wiki/Branch_and_bound
https://en.wikipedia.org/wiki/Minimax
Komentar
Posting Komentar