Selasa, 15 Maret 2016

Tugas 1. Teori Pembuatan Game beserta Algoritmanya

Teknologi Game

A. Pengertian Teknologi
     Teknologi atau pertukangan memiliki lebih dari satu definisi. Salah satunya adalah pengembangan dan aplikasi dari alat, mesin, material dan proses yang menolong manusia menyelesaikan masalahnya. Sebagai aktivitas manusia, teknologi mulai dikenal sebelum sains dan teknik.

Teknologi dibuat atas dasar ilmu pengetahuan dengan tujuan untuk mempermudah pekerjaan manusia, namun jika pada kenyataannya teknologi malah mempersulit, layakkah disebut Ilmu Pengetahuan?
 Kata teknologi sering menggambarkan penemuan dan alat yang menggunakan prinsip dan proses penemuan saintifik yang baru ditemukan. Meskipun demikian, penemuan yang sangat lama seperti roda juga disebut sebuah teknologi.

Definisi lainnya (digunakan dalam ekonomi) adalah teknologi dilihat dari status pengetahuan  kita yang sekarang dalam bagaimana menggabungkan sumber daya untuk memproduksi produk yang diinginkan( dan pengetahuan kita tentang apa yang bisa diproduksi). Oleh karena itu, kita dapat melihat perubahan teknologi pada saat pengetahuan teknik kita meningkat.



     B. Pengenalan Game

Teori game atau permainan adalah suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional. Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar Morgenstern.

Mereka mengetakan :

            "Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi.”


            Game komputer dibuat oleh satu atau beberapa pengembang game, biasanya bersama dengan spesialis lainnya (seperti game artists) dan dipublikasikan baik secara sendiri atau melalui penerbit pihak ketiga. Mereka kemudian mendistribusikan pada media fisik seperti DVD dan CD, atau dapat didistribusikan secara bebas melalui internet, software, atau melalui jasa pengiriman online seperti Direct2Drive dan Steam.

            Game komputer membutuhkan hardware khusus di komputer pengguna untuk bermain, seperti generasi spesifik unit pemrosesan grafik atau koneksi internet untuk bermain online, meskipun persyaratan sistem ini bermacam-macam pada setiap game. Permainan komputer telah berevolusi dari sistem grafis sederhana sampai menjadi kompleks dan mutakhir. Namun, pasar permainan komputer di Amerika Serikat mulai menurun sejak tahun 1999.


            Lalu menurut saya Teknologi game tersebut adalah sarana yang di perlukan untuk hiburan manusia agar manusia tersebut akan menjadi enjoy dengan Game yang dimainkannya dengan cara dibuat dengan teknik dan metode animasi.


C.  Perkembangan Teknologi Game

Perkembangan teknologi sangat berpegaruh terhadap perkembangan game, dimana perubahannya akhir-akhir ini makin pesat berkembang. Pada sekitar awal dekade 80-an, sebenarnya sudah ada persaingan ketat antar perusahaan game dalam memasarkan produknya. Game yang populer dengan nama video game ini hanya bisa dimainkan oleh satu atau dua orang pemain pada sebuah console. Pesawat televisi dibutuhkan sebagai media tampilan. Jenis game-nya juga masih sangat sederhana dengan grafik yang sangat kasar. Tampilannya mirip seperti game dari bahasa program Java, yang bisa dimainkan di handphone sekarang ini. Perusahaan game yang terkenal pada saat itu adalah Atari, Sega dan Nintendo.

Video game atau Console game ini adalah sebuah bentuk dari multimedia interaktif yang digunakan untuk sarana hiburan. Game ini dimainkan dengan menggunakan sebuah alat yang bisa digenggam oleh tangan dan tersambung ke sebuah kotak alat atau console. Alat yang digenggam tangan tadi dikenal dengan nama joystick. Isinya adalah beberapa tombol-tombol sebagai kontrol arah maju, mundur, kiri dan kanan, dimana fungsinya adalah untuk berinteraksi dan mengendalikan gambar-gambar di layar pesawat televisi. Game ini juga biasanya dimainkan dengan memasukan sebuah keping CD yang bisa diganti-ganti atau cartridge yang harus dimasukkan ke dalam game console.

Selain dari console, game juga bisa dijalankan dari personal computer (PC) atau sering juga disebut juga PC game. Game di PC tidak kalah menariknya dibanding dengan di console.

Di dalam video game atau console game kita menemukan adanya lingkungan bermain game yang lebih sederhana dibanding pemain di PC game, bukan hanya terutama karena keterbatasan fitur dari joystick, tapi karena disebabkan keterbatasan teknologi di dalam perangkat keras (hardware) pada console serta output resolusi visual yang secara potensial lebih rendah.

Seperti kita ketahui, pada setiap PC umumnya terdapat sebuah keyboard dan sebuah mouse yang bisa digunakan dalam desain permainan game yang lebih kompleks. Gambar grafik yang ditampilkan di PC game lebih hidup dan tajam, tergantung dari pemakaian display adapter card atau video card yang digunakan pada mainboard komputer.

Akhir-akhir ini strategy games, role-playing games dan game simulasi, walau tidak sebanyak di PC game, sudah bisa didapatkan di video game.


Awalnya, jika kita bermain sendiri di PC atau komputer, yang menjadi lawan kita adalah komputer itu sendiri. Tetapi dengan sistem jaringan (LAN: local area network), kita bisa melawan orang lain pada komputer yang terpisah, yang lebih dikenal dengan istilah multiplayer. Untuk dapat memainkannya, kita harus menghubungkan PC atau komputer ke sekelompok PC lainyang saling terhubung.

Multiplayer game ini bisa dimainkan dengan jaringan lokal tanpa akses internet, tetapi bisa juga dengan menggunakan akses internet. Multiplayer game yang tidak membutuhkan akses internet disebut juga sebagai LAN game.

Di Indonesia sendiri, sejak tahun 2000-an, LAN game didominasi oleh game tembak-menembak, diantaranya Counter Strike (CS) dan game strategi Warcraft. Game ini masih memiliki keterbatasan dalam jumlah pemain. Lawan kita dalam game hanya terbatas pada jumlah PC yang terhubung dalam jaringan lokal tersebut. Jika game tadi ingin lebih dimainkan secara massal, secara bersamaan dan tanpa mempertimbangkan jarak, maka PC itu harus terhubung dengan jaringan internet. Karenadari aplikasinya yang harus terhubung atau online dengan internet, maka banyak orang menyebutnya sebagai online game



BISNIS DALAM GAME KOMPUTER

Di zaman modern ini, tidak dipungkiri lagi bahwa game sangat berperan untuk sebagian besar pengguna teknologi, terutama pengguna komputer. Game merupakan sarana hiburan di tengah padatnya aktvitas yang dilalui. Namun, game ternyata juga dapat dijadikan sebuah bisnis yang menjanjikan. Dengan hobi para gamer ini, tentu terdapat peluang untuk mendapatkan profit.

Bisnis dalam game komputer berkembang pesat seiring dengan berkembangnya teknologi canggih saat ini. Dahulu kita hanya dapat menikmati game yang tersedia di dalam komputer itu sendiri, seperti pinball dan solitaire. Namun sekarang sudah tersedia game online, dan juga games yang dapat didownload baik free maupun berbayar. Games berbayar juga merupakan bisnis karena sama saja dengan kita mengeluarkan uang untuk membeli sebuah barang. Games berbayar ini biasanya memberikan kepuasan tersendiri bagi pembelinya, karena terdapat fitur yang bagus di dalamnya. Perkembangan lainnya ialah warung internet atau yang sering kita dengar dengan istilah warnet. Warnet kini identik dengan game online yang mereka sediakan, adapun game berbayar yang disediakan warnet sehingga kita hanya tinggal memainkannya. Baik anak kecil hingga orang dewasa mempunyai hobi bermain game online ini. Dengan menyediakan tempat, perangkat komputer yang lengkap, dan fasilitas pendukung lainnya, membuat gamers betah berlama-lama untuk bermain.

Game/permainan adalah sesuatu yang sangat digemari oleh anak-anak hingga orang dewasa. Game berarti “hiburan”. Permainan game juga merujuk pada pengertian sebagai “kelincahan intelektual” (intellectual playability). Sementara kata “game” bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal.


Beberapa waktu lalu istilah “game” yang dalam bahasa Indonesia adalah “permainan” identik dengan anak-anak  selaku pemain. Tentunya dalam permainan itu suatu kegiatan yang dilakukan oleh anak-anak yang menurut mereka itu dapat menyenangkan hati mereka. Segala bentuk kegiatan yang memerlukan pemikiran, kelincahan intelektual dan pencapaian terhadap target tertentu dapat dikatakan sebagai game. Tetapi yang akan dibahas pada kesempatan ini adalah game yang terdapat di komputer, baik off line maupun online.

Saat ini perkembangan games di komputer sangat cepat. Para pengelola industri game berlomba-lomba untuk menciptakan game yang lebih nyata dan menarik untuk para pemainnya. Hal inilah yang membuat perkembangan games di komputer sangat cepat. Sehingga games bukan hanya sekedar permainan untuk mengisi waktu luang atau sekedar hobi. Melainkan sebuah cara untuk meningkatkan kreatifitas dan tingkat intelektual para penggunanya.

Aplikasi games dapat dijalankan pada berbagai platform. Beberapa platform media yang bisa dijadikan pilihan untuk advergames adalah :


1. Personal Computer berupa aplikasi games pada PC. Games ini dijalankan pada personal computer. Pada media Personal Computer, durasi waktu penayangan adalah tidak terbatas, selama games tersebut bagus dan mampu menghibur audience/pemain, maka selama itulah tingkat kemungkinan untuk dilihat audience akan semakin tinggi. Pembuatan Games ini biasanya menggunakan Language C++ / C#, membutuhkan waktu 3-6 bulan tergantung dengan kompleksitas games tersebut.

2. Web Based Games. Yaitu aplikasi games yang diletakkan pada server di internet dimana audience/pemain hanya perlu menggunakan akses internet dan browser untuk mengakses games tersebut. Corporate yang memiliki keinginan mengumpulkan komunitas internet dan sekaligus memperkenalkan product/brandnya kepada komunitas Internet sangat cocok memilih media games online internet ini. Pilihan ini banyak digunakan karena dapat meningkatkan traffic pada suatu website Bila games yang dibutuhkan simple maka diperlukan waktu pengembangan yang relative lebih singkat 1-2 bulan.

3. SmartPhones/PocketPC. Aplikasi games yang jalan pada mobile devices bersistem operasi Windows Mobile 2003/2004 ataupun windows mobile 5.0. Product yang memiliki target market status ekonomi A,B dan karakter pengusaha/ eksekutif muda sangat cocok apabila menggunakan media PocketPC/SmartPhones sebagai bagian aktivitas kegiatan advertising. Games bertemakan strategi ataupun simulasi bisnis pada umumnya lebih disukai oleh orang-orang golongan ini. Waktu pengembangan biasanya memerlukan waktu 3-6 bulan tergantung dengan kompleksitas games tersebut

4.CellPhones / Mobile Phones. Aplikasi games untuk cell-phones atau mobile phones sebenarnya bisa dimanfaatkan untuk mendapatkan potensial pelanggan dengan golongan Status Ekonomi Responden A,B dan C. Produk yang memiliki target golongan ABG, remaja, anak kuliah, eksekutif muda sangat tepat menggunakan media ini, mengingat pada golongan inilah mereka suka sekali mencoba dan mengeksplorasi features aplikasi yang tersedia pada mobile/cellphones mereka. Mereka biasanya aktif mencari aplikasi bersifat fun atau game yang dapat mengisi waktu senggang mereka. Waktu pengembangan untuk membuat aplikasi pada devices ini relative lebih pendek yaitu 1-3 bulan tergantung dengan kompleksitas games tersebut.

Industri game memang masih terbilang baru di Indonesia. Kendati begitu, perkembangannya sudah sangat pesat dan menjadi bisnis yang sangat menggiurkan. Penyebab utamanya adalah berkembangnya era teknologi dan komunikasi.

Perkembangan ini terlihat dari banyaknya game center yang terus bermunculan, terutama yang menyediakan jasa gameonline. Bukan tanpa alasan game online menjadi semakin marak dan digandrungi, karena fasilitas online memungkinkan sebuah game dapat dimainkan oleh 100 orang lebih secara bersama-sama dalam satu waktu.

Masuknya game online ke Indonesia sendiri baru terjadi pada tahun 2001 dengan masuknya Nexia Online. Sejak saat itu, berbagai game dari masing-masing genre seperti action, sports, hingga RPG (Role-Playing Game) terus bermunculan

Game menjadi gaya hidup, akibatnya tidak bisa dipungkiri bahwa game telah menjadi gaya hidup tersendiri. Mulai dari game di Facebook, game offline (PC, PlayStation, mobile), serta game online (PC dan mobile) kerap dimainkan oleh masyarakat Indonesia. Komunitas-komunitas berbasis game pun bermunculan. Alhasil, industri game pun jadi kian kompetitif.

Contoh untuk bisnis dalam game komputer itu beragam. Seperti kita dituntut melakukan pembayaran untuk game tersebut. Maksud dari pembayaran ini adalah bagaimana perusahaan game online mendapatkan uang dari gamesnya. Bedasarkan kategori ini games online dapat dibedakan menjadi 2 yaitu : 

A. Pay Per Item, game yang berada pada category ini merupakan game yang bisa diinstall atau dimainkan secara gratis, dan game ini biasanya mengenakan biaya pada pemainnya apabila pemainnya ingin cepat menaikkan level atau membeli barang (item) langka yang tidak pernah dijumpai pada permainan. Jenis game seperti ini yang paling dijumpai di Indonesia. Contoh: Gunbound, Ragnarok, Ghost Online,dll.

B. Pay per Play, game ini harus dibeli dan diinstal secara legal karena pada saat diinstal game terebut akan mendaftarkan pemain ke internet langsung dan apabila yang diinstal adalah program bajakan maka secara otomatis system akan memblokirnya. Contoh: War of Warcraft,dll.

Mungkin kita juga tidak asing mendengar permainan Let's Get Rich. LGR merupakan permainan monopoly yang sudah dimodifikasi sedemikian rupa. Ini merupakan game yang kita jumpai di gadget, baik android maupun iOs. Dalam game ini kita sangat membutuhkan diamond yang berfungsi untuk membeli item bagus yang dapat meningkatkan peluang kita untuk menjadi pemenang. Diamond ini pun dapat dijadikan bisnis karena mengharuskan kita mengeluarkan uang untuk mendapatkannya.



3D Engine dan Scene Graph


Di dalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi. Grafik 3D ini tersimpan didalam komputer untuk keperluan kalkulasi atau rendering gambar 3D. Pada 3D, engine bukanlah exutable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri.


3D engine adalah sistem perangkat lunak yang dibuat dan dirancang untuk menciptakan dan mengembangkan gambar 3D, fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render (renderer) untuk 2D/3D grafis.

Berbeda dengan dukungan grafik 2D yang sudah built in, dukungan Java terhadap grafik 3D diletakkan ke dalam API terpisah, yakni Java3D. Java3D merupakan API 3D berbasis scene graph di platform Java, dimana scene graph merupakan sebuah pohon yang berisi hierarki data scene. Di dalam api Java3D didefinisikan sejumlah kelas dan interface yang menyediakan beragam operasi grafik 3D.
Konsep scene graph merupakan inti dari Java3D. Sebuah scene graph merupakan g rafik yang mempresentasikan geometri, material, dan pencahayaan. Scene graph dimulai dari root dengan sebuah Virtual Universe dan mencakup transformasi serta geometri untuk mendefinisikan objek di dunia maya. Secara garis besar, ada tiga tahap fundamental yang diperlukan untuk menghasilkan objek 3D, yaitu:

  1. Menciptakan objek Canvas3D
  2. Menciptakan sebuah scene graph
  3. Menghubungkan objek Canvas3D ke objek BranchGroup yang menunjuk root dari scene graph

  • Ogre 3D
Objected-Oriented Graphics Rendering Engine atau bisa disingkat dengan OGRE merupakan engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dengan menggunakan bahasa C++ serta didesain agar mampu men-developer dengan mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class objek yang lebih tinggi.

OGRE hanya digunakan untuk me-render. Dengan kata lain, fitur OGRE hanya khusus menangani vector & matOix classes, memory handling, dan lain lain. Ini bukan lah salah satu dari semua solusi dalam istilah game development/simulasi. OGRE tidak menyediakan audio/physics support.

Walaupun penjelasan diatas bisa dikatakan sebagai kelemahan dari OGRE itu sendiri, akan tetapi semua itu sebanding dengan kemampuan grafis yang ada pada game engine tersebut. Kelebihan yang paling menonjol pada OGRE adalah graphics engine yang bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, & library lainnya. OGRE memberikan para tim development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada dalam game development. OGRE dapat mendupport OIS, SDL, CEGUI libraries. Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL. Maka sekarang ini para publish tersebut membuka OGRE sebagai free/open source software.


Fitur-fitur pada OGRE:

  1. Desain yang object-oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya
  2. Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & paging landscape scene manager
  3. Multi-platform dengan dukungan OpenGL & Direct 3D. Bisa me-render konten yang sama di beda platform tanpa harus mempunyai content creator. dapat diakses pada platform Linux, Mac OS, dan semua versi Windows
  4. OGRE mendukung program vertex dan fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler 
  5. The landscape scene manager untuk progressive LOD, yang mana bisa dibuat secara otomatis dan manual
  6. Engine annimasi yang men-support penuh untuk multiple hardware

  • Processing
Processing adalah bahasa pemrograman dan lingkungan pemrograman yang bersifat open source yang digunakan untuk memprogram gambar, animasi, dan interaksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak dan alat produksi profesional. Processing mengintegrasikan suatu bahasa pemrograman, lingkungan pemrograman, dan metodologi pengajaran ke dalam sistem terpadu.

Processing merupakan suatu projek yang dinisiasi oleh Ben fry dan casey reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and Computation Group (ACG) di Mit Media Lab. Projek ini kini terus diperbaiki dan dikelola oleh sejumlah Tim Voluntir.

  • Game Maker
Game Maker adalah software yang bisa membantu anda menjadi pengembang game komputer tanpa menggunakan coding sedikitpun. Dapat digunakan untuk membuat 3 dimensi dan Multiplayer. Game Maker dapat menjadikan hak penuh dari software (game) yang anda buat termasuk dapat menjual game tersebut, bahkan bisa mendownload musik, efek suara, gambar, script, serta background.
  • Unity 3D
Unity 3D adalah sebuah game developing software. Dengan software ini, kita bisa membuat game 3D yang seru. Game developer ini sangat mudah digunakan, dengan GUI yang memudahkan kita untuk membuat derta mengedit script untuk menciptakan sebuah game 3D. Selain bisa untuk build game PC, Unity juga dapat digunakan untuk membangun game console seperti Nintendo Wii, PS3, Xbox 360, juga Ipad, Iphone, dan Android. Namun masing-masing membutuhkan biaya lisensinya sendiri. Unity kurang lebih sama dengan Blender game engine, namun unity lebih ringan dan diintegrasi lebih dalam suasana grafik.

Kelebihan Unity terdapat pada multiple platform, artinya banyak platform yang disupport oleh unity, seperti Windows, Mac, iPhone, iPad, Android, Nintendo Wii, dan juga browser. Untuk browser, kita memerlukan sebuah plug-in, yaitu Unity Web player, sama halnya dengan Flash Player pada browser. Pada unity, kita tidak bisa melakukan desain/modelling dikarenakan unity bukan tool untuk mendesain. Jadi jika kita ingin mendesain, dibutuhkan 3D editor lain seperti 3Dsmax atau Blender, kemudian kita export menjadi format .fbx.


Berikut contoh pembuatan Game pada aplikasi Strawbery Prolog :


Power Puff Girls Othello


Power Puff Girls Othello merupakan game pengembangan dari Game Reversy yang ada pada Strawbery Prolog. Game Power Puff Girls Othello adalah game yang terdiri dari kotak-kotak kecil berukuran 9x9 kotak, sedikit berbeda dengan Game Reversy pada Strawberry Prolog yang berukuran 8x8. Bidak terdiri dari karakter yang terdapat pada Cartoon The Power Puff Girls yaitu  Blossom vs Mojo.

            Initial State pada permainan Power Puff Girls Othello dimainkan pada arena papan kotak-kotak persegi 9x9 yang terdiri dari 9 baris dan 9 kolom dengan bidak Blossom dan bidak Mojo. Saat ini Othello tidak hanya dimainkan secara tradisional, namun sudah banyak dibuat dalam bentuk animasi pada computer misalnya seperti game ini. Permainan ini dapat melatih daya strategi seseorang dalam memperebutkan daerah dengan computer (AI) sebagai lawannya. Pada permainan Blossom vs Mojo, Blossom sebagai user sedangkan Mojo sebagai AI.

Permainan ini adalah  terdapat tiga window yaitu window Splash Screen, window Main Menu, dan window Power Puff Girls Othello. Pada window Power Puff Girls Othello terdapat 5 menu bar yaitu menu Game, menu About, menu Music, menu Level, dan menu Help. Menu Game adalah menu yang terdiri dari submenu play dan exit untuk memulai permainan baru. Menu About adalah menu yang berisikan profile yang mengembangkan game Power Puff Gils Othello. Menu Music terdiri dari submenu play dan stop untuk music. Menu Level terdiri dari submenu easy, medium dan hard untuk memilih tingkat kemudahan sampai kesulitan pada game Power Puff Gils Othello. Menu Help adalah menu yang menjelaskan aturan permainan. 





Gambar 1. Tampilan Splash Screen 




Gambar 2. Tampilan Main Menu



  
    Gambar 3. Tampilan submenu pada menu Game 



                                                  Gambar 4.  Tampilan About This Game pada menu About



   

Gambar 5. Tampilan How to Play pada menu Help






                                               Gambar 6. Tampilan saat memulai permainan


RULES

  1. Player untuk user adalah bidak Blossom (Powerpuff Girls), sedangkan bidak untuk AI adalah   Mojo.
  2.  Apitkan bidak Blossom secara horizontal, vertikal atau diagonal.
  3. Bidak othello yang terapit akan menjadi poin pemain yang mengapitnya.
  4. Jika AI tidak dapat meletakkan bidak Mojo, maka gilirannya akan digantikan oleh user
  5. Jika user tidak dapat meletakkan bidak Blossom, maka permainan berakhir.
  6. Player dengan jumlah bidak othello terbanyak adalah pemenangnya.

Tujuan dari permainan ini adalah memenuhi kotak yang tersedia dengan bidak kita yaitu bidak Blossom sebelum waktu habis (time out) . Jika seorang pemain (user) tidak dapat meletakan bidak karena seluruh kotak telah terisi atau tidak ada posisi yang diperbolehkan untuk meletakkan bidak, maka permainan berakhir. Bila waktu habis maka permainan dinyatakan menang jika bidak Blossom lebih banyak dari bidak Mojo, begitupun sebaliknya. Kondisi seri(imbang) juga terjadi apabila skor yang dihasilkan sama.

Pemain dituntut untuk mengambil keputusan dengan cepat agar dapat mengambil langkah yang tepat sehingga dapat memenangkan permainan. Pemenang ialah pemain yang memiliki jumlah bidak paling banyak di atas arena permainan. Apabila terlalu lama berpikir maka waktu akan habis sehingga pemain menjadi kalah.



Gambar 7. Tampilan ketika User Menang dari AI




Gambar 8. Tampilan User Kalah dengan AI




Konsep AI dan Algoritma yang Digunakan

AI (Artificial Intelligence) 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. Permainan Othello ini berbasis AI. Pada permainan Power Puff Girls Othello, kecerdasan buatan yang terkandung di dalamnya adalah AI yang dibuat untuk menjadi lawan user.

            Jenis algoritma yang diterapkan dalam permainan Power Puff Girls Othello adalah Algoritma Minimax pada Greedy. Algoritma minimax merupakan basis dari semua permainan berbasis AI. Pada algoritma minimax, akan dilakukan pengecekan terhadap seluruh kemungkinan yang ada sampai permainan selesai. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon tersebut. 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 mendapat 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 fungsi heuristik untuk mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih. Dari nilai heuristik inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristik yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi permainan.

            Algoritma minimax yang diterapkan di permainan Power Puff Girls Othello ini adalah untuk membuat AI menentukan langkah apa yang akan diambil untuk memenangkan permainan atau paling tidak membuat permainan menjadi seri.

Untuk memainkan game ini, kita harus memiliki kompiler strawberry prolog terlebih dahulu. Ini dikarenakan penulis membuat aplikasi ini dengan strawberry prolog yang masih versi gratis, sehingga tidak dapat dibuat menjadi object code berbentuk executable. Pertama, buka terlebih dahulu strawberry prolognya, tampilannya akan seperti di bawah ini:





Tidak ada komentar:

Posting Komentar