Cari Blog Ini

Minggu, 08 Mei 2016

Pengantar Teknologi Game

         Analisa Game




          1.) Analisa pada Game Maze (Labirin)
                                                   
Teknikal
Game Maze  (Labirin) menggunakan  algoritma  backtrack  (runut  balik)  di mana  computer juga   dapat menemukan   jalur   yang   tepat   untuk mencapai   tujuan.   Dalam   proses penentuan  jalur,  jika  komputer mencapai  tujuan  yang  tidak  sesuai  maka  komputer
akan melakukan  backtrack  (runut  balik)  hingga dapat mencapai tujuan yang sesuai.   
Maze   (Labirin)   merupakan   game   yang template-nya   berbentuk   persegi   yang
ukurannya   dapat   diatur   sesuai   dengan   keinginan   user.   Di dalamnya   terdapat
serangkaian   jalur   berupa   labirin yang   bercabang.   Namun,   tidak   setiap   cabang
mencapai tujuan yang diinginkan.


Analisa Algoritma
Kemampuan   algoritma   dalam   menyelesaikan masalah   game   Maze   (Labirin)   ini
menunjukkan   bahwa     algoritma     backtrack     (runut     balik)     cukup   efektif   untuk
mendapatkan   solusi   persoalan   tersebut.   Sistem    kerja     algoritma     backtrack     yang
sistematis dan   ciri   khasnya   yang   hanya   memeriksa kemungkinan   solusi   yang
memang   dapat dipertimbangkan   untuk   menjadi   solusi   akhir, diperkirakan   untuk
menjadi  solusi  yang  efektif  dan efisien untuk persoalan ini.        

Kesimpulan
Algoritma  backtrack  merupakan  algoritma yang cukup mangkus untuk menyelesaikan
berbagai persoalan.  Hal   ini  disebabkan  karena  pada prinsipnya,  kita  tidak  perlu
memeriksa  semua kemungkinan  solusi  yang  ada.  Pencarian  hanya mengarah  pada
solusi  yang  dipertimbangkan  saja. Oleh  karena  algoritma  ini  cukup  efektif,  maka
algoritma  backtrack  banyak  diterapkan  dalam berbagai  program  game  dan  persoalan
yang berkaitan  dengan  kecerdasan  buatan  (artificial intelligence). Sebenarnya  sebagai sesuatu  yang  cukup  baru, penyelesaian  persoalan  game  Maze  (Labirin)  ini belum
dapat  dianalisis  untuk  berbagai  algoritma. Namun  melalui  beberapa  analisis  yang
penulis lakukan, penulis berpendapat  bahwa  algoritma backtrack  cukup  efektif  untuk
menyelesaikan persoalan ini.  Agar  lebih  menarik,  game  ini  dapat ditambahkan aturan
main, misalnya terdapat   pilihan level   permainan,   batasan   waktu   permainan,   dan
batasan  jalur  yang  dilewati.  Selain  itu,  dari  sisi tampilan  agar  dapat  lebih  menarik,
perlu     adanya   visualisasi     penelusuran     jalur,   misalnya     pemain     atau   komputer
dilambangkan  sebagai  objek  yang  dapat bergerak ketika melakukan penelusuran jalur.











2.) Analisa pada Game Football Manager 2014
  



Teknikal
Football Manager sendiri baru benar-benar 'lahir' pada tahun 2005, dimana pada tanggal 12 Februari 2004, setelah membelah dari penerbit Eidos Interactive , diumumkan bahwa Sports Interactive, pengembang Manager permainan Championship, telah mempertahankan hak untuk kode sumber tapi tidak hak untuk Championship Manager judul, yang memegang oleh Eidos (yang sebelumnya memperoleh hak merek dari Domark setelah merger pada tahun 1995). Perkembangan ini menyebabkan pengumuman lebih lanjut bahwa game manajemen sepakbola Sports Interactive masa depan akan dirilis dengan merk Football Manager. Sementara seri Manajer Championship akan pergi, Eidos tidak lagi punya kode sumber, atau, memang tidak punya pengembang untuk Championship Manager. Sampai saat ini sudah ada 10 versi Football Manager dari tahun 2005 sampai yang terbaru 2014 ini.


        Untuk pertama kalinya dalam sejarah, game Football Manager 2014 akan dirilis untuk tiga platform sekaligus, yaitu Linux, PC, dan Mac. Karena bisa dimainkan di berbagai sistem operasi tersebut, maka Sport Interactive juga menyematkan fitur cloud save di dalamnya sehingga para pemain dapat menyimpan game ini pada satu komputer dan kemudian memainkannya lagi di komputer yang lain. Selain itu, pemain juga tidak perlu khawatir game yang disimpan akan hilang atau rusak karena sudah disimpan dalam cloud storage.
Gameplay
FM14 memiliki modul transfer berbeda di mana klub lawan dan manajer mengadopsi pendekatan yang lebih realistis ketika membuat atau menanggapi transfer penawaran. Selain itu, sejumlah klausul baru seperti pada dunia nyata telah ditambahkan, seperti kemampuan untuk pinjaman pemain kembali ke klub yang baru saja dibeli dari dan pilihan untuk menawarkan kombinasi kas dan pinjaman pemain, serta klausul kontrak baru seperti biaya penampilan pemain pengganti. 







Interaksi antara pemain, manajer, lawan dan media telah diperbaiki. Misalnya, anggota staf pelatih sekarang menawarkan umpan balik tentang bagaimana pemain cadangan dan tim muda berkinerja. Manajer juga dapat meminta pemain kunci untuk mengucapkan sebuah kata dengan anggota skuad agar tetap bahagia, sedangkan pengenalan pertemuan akhir musim  memungkinkan manajer untuk membiarkan skuad tahu bagaimana mereka akan melakukan dan menetapkan target untuk musim mendatang. Negosiasi kontrak lebih realistis dalam permainan, sebagai manajer dan dewan klub sekarang dapat membuat tuntutan dan memberikan visi mereka untuk klub di  wawancara pekerjaan awal dan diskusi perpanjangan kontrak.







         Fitur pertandingan memiliki perbaikan yang luas, termasuk peningkatan AI, meningkatkan pencahayaan dan animasi pemain, karakter individu pemain dan model kit, reaksi pemain yang lebih realistis untuk insiden di lapangan dan berbagai optimisations. Penciptaan taktik, pemilihan dan pelaksanaan dengan peran pemain dan strategi tim, definisi peran pemain untuk beberapa posisi, peran pemain baru dan instruksi dan perbaikan manajer lawan 'AI telah dirombak sehingga para manager dapat beradaptasi dengan mudah untuk merombak taktik dari waktu ke waktu.










Awalnya ada total 51 negara dimainkan dan 117 liga dimainkan. Dengan adanya editor memungkinkan pemain untuk menambahkan liga ke tingkat yang paling rendah, serta penciptaan liga baru.






Analisa Algoritma
Football Manager merupakan game berjenis sport-strategy khususnya sepakbola yang bisa dimainkan oleh berbagai kalangan. Game ini menarik karena mampu menggabungkan hobi terhadap sepakbola dengan skill manajerisasi suatu tim. Mayoritas saat ini, orang-orang yang gemar terhadap sepakbola hobi pula dalam bermain game. Tentunya, sebagai manajer tim sepakbola, terdapat banyak tugas yang dapat dikerjakan, seperti pemilihan skuad tim, pembelian dan penjualan pemain, pemilihan formasi, pemilihan jadwal bertanding maupun pemilihan starting line-up tiap pertandingan.
Dalam terminologi pemilihan, pastilah manajer tersebut menginginkan hasil yang optimal, yaitu yang terbaik untuk tim yang dilatihnya. Dalam pemilihan pemain maupun formasi yang akan dipakai dalam setiap pertandingan, manajer dapat menggunakan algoritma greedy untuk mencapai bentuk yang optimal tersebut. Prinsip dari greedy yaitu “take what you can get now” mampu diaplikasikan dalam pemilihan skuad tim maupun formasi. Dengan penggunaan algoritma greedy ini, manajer mampu merancang skuad yang terbaik saat itu, meski bukan merupakan yang optimal.
Pada permainan Football Manager terdapat beberapa persoalan yang dapat diselesaikan dengan metode greedy. Persoalan tersebut adalah penentuan skuad tim serta pemilihan formasi. Dalam penentuan skuad tim, strategi greedy yang dapat dilakukan adalah greedy by price dan greedy by skill. Sedangkan dalam persoalan penentuan formasi, strategi greedy yang dapat dipakai adalah greedy by skill, greedy by mood dan greedy by stamina. Pemakaian masing-masing strategi greedy tidak menjamin skuad serta formasi yang paling optimal, namun dapat menjadi optimal lokal saat itu serta sebagai konsiderasi untuk pemilihan selanjutnya bagi manajer.











         3.) Analisa pada Game Pacman

Teknikal
Pacman adalah sebuah permainan video arkade yang cukup terkenal. Cara bermainnya mudah yaitu pemain (pacman) diharuskan memakan makanan (berbentuk titik-titik kecil) dan sebuah bulatan besar (energizer) sampai habis di dalam sebuah labirin yang berliku-liku. Tidak hanya menghabiskan makanan tersebut, pemain juga harus menghindari 4 ‘hantu’ yang berkeliaran secara random untuk menangkap pemain. Jika pemain bertemu dengan hantu-hantu tersebut maka pemain dinyatakan gagal dan harus mengulangi dari awal lagi. Tetapi pemain bisa mengalahkan hantu tersebut dengan memakan energizer yang terdapat di pojokkan labirin. Jika pemain memakan titik besar tersebut, maka para hantu akan ketakutan dan berusaha menjauh dari pemain. Dalam hal ini pemain bisa memakan hantu tersebut dan mendapatkan bonus yang besar, tetapi para hantu yang termakan tidak mati begitu saja,mereka kembali ke posisi semula dan kembali mengejar pemain. Pemain dinyatakan menang jika semua makanan habis tak tersisa dan pemain akan memasuki level berikutnya.
Pergerakan para hantu ini dipengaruhi oleh kecerdasan buatan atau Artificialintelligence (AI), dimana para hantu diberi kecerdasan untuk menentukan langkah dan mengambil keputusan akan bergerak kemana dengan menentukan rute yang paling pendek (minimum), tujuannya adalah menangkap pemain. Setiap hantu harus memiliki pemikiran berbeda dan memiliki kemampuan bekerja sama untuk mengejar pemain, sehingga permainan akan tampak lebih menarik. Persoalan mendekati karakter Pacman ini dapat diselesaikan dengan berbagai macam cara, salah satunya dengan menggunakan algoritma greedy. Untuk melakukan hal ini, kita harus memberikan prioritas yang berbeda-beda pada masing-masing musuh, maka dengan sendirinya dia akan bergerak ke arah yang berbeda.

Analisa Algoritma
Kami akan menjelaskan cara kerja dari karakter musuh pacman tersebut dengan memberikan salah satu contoh keadaan dalam permainan pacman. Pada contoh kasus ini diasumsikan bahwa karakter Pacman tidak bergerak (diam saja di tempat), untuk menentukan apakah rute yang dipilih dari hasil algoritma greedy merupakan yang paling optimum atau tidak.  Berikut tampilannya :



Misal fungsi seleksi gerakkanMusuh diterapkan pada musuh Pacman yang berwarna oranye (gambar yang dilingkari). Posisi karakter musuh oranye berada di sebelah kiri karakterPacman yang berwarna kuning, maka karakter musuh oranye seharusnya bergerak ke kanan, namun karena adanya dinding yang menghalangi, maka dilakukan pengecekan lagi terhadap perbandingan posisi Y dan didapati posisi karakter musuh oranye berada di sebelah atas karakter Pacman dan tidak ada dinding maupun karakter musuh lain yang menghalangi di atasnya, maka karakter musuh oranye dipindahkan ke atas. Hasil pergerakan pertama adalah sebagai berikut :



Setelah itu, diterapkan lagi algoritma greedy untuk kedua kalinya, posisi karakter oranye sekarang ada di sebelah kiri karakter Pacman dan tidak ada yang menghalangi di sebelah kanannya, jadi karakter musuh bisa bergerak ke kanan, seperti tampilan berikut ini :



Setelah bergerak ke kanan, algoritma greedy diterapkan lagi dan karakter musuh berada di atas Pacman, maka karakter musuh digerakkan ke bawah sampai bertemu dengan karakter Pacman : jarak yang ditempuh untuk menemukan Pacman adalah jarak yang paling pendek. Untuk kasus ini, algoritma greedy menghasilkan solusi yang optimal. Namun sesuai dengan dasar teori, algoritma greedy tidak selalu dapat menghasilkan solusi yang optimal karena algoritma greedy tidak memeriksa semua kemungkinan.
Contoh kasus berikut adalah kasus lain dari permainan pacman yang ternyata tidak dapat diselesaikan secara optimum oleh algoritma greedy seperti contoh kasus pertama di atas, namun solusi yang dihasilkan tidak terlalu buruk.



Pada contoh kasus yang kedua, tetap diasumsikan bahwa karakter Pacman tidak bergerak, selain itu, karakter musuh juga tidak ikut bergerak. Misal fungsi seleksi diterapkan pada karakter musuh warna oranye. Pada gambar 5, karena musuh oranye ada di sebelah kiri posisi Pacman, maka musuh digerakkan ke kanan. Hasil pergerakan pertama sebagai berikut :




Setelah digerakkan ke kanan, posisi karakter musuh masih tetap di sebelah kiriPacman, namun  musuh tidak bisa bergerak ke kanan lagi karena terhalang dinding, setelah dicek, ternyata karakter musuh berada di sebelah atas Pacman, maka sesuai dengan algoritmagreedy yang telah ditetapkan, karakter musuh digerakkan ke bawah. Hasil pergerakan kedua sebagai berikut :



Setelah digerakkan ke bawah, posisi karakter musuh oranye ada di sebelah kiri dan di bawah Pacman. Algoritma greedy diterapkan sekali lagi dan karakter musuh seharusnya digerakkan ke kanan, namun karena ada karakter musuh lainnya di sana, maka karakter musuh oranye digerakkan ke bawah sekali lagi. Hasil pergerakan ketiga seperti berikut :



Pada hasil pergerakan ketiga diatas, karakter oranye bergerak ke bawah sekali lagi, dan dari sini terlihat bahwa rute yang ditempuh oleh karakter musuh oranye sudah tidak mungkin menjadi optimal lagi jika dibandingkan dengan solusi optimal (rute terpendek) seperti contoh kasus pertama. Berikut tampilannya :



Kesimpulan
Solusi yang telah dicapai oleh algoritma greedy hingga pada gambar 8 di atas menunjukkan bahwa algoritma greedy yang dipilih ternyata tidak selalu menghasilkan solusi yang paling optimal. Namun demikian, karena objektif dari karakter musuh Pacman ini tidak harus selalu bergerak pada rute yang merupakan solusi paling optimum, maka algoritmagreedy cukup baik untuk mendapatkan hampiran-hampiran yang mendekati solusi paling optimum tersebut.











         4.)Analisa pada Game Tetris

Teknikal
Tetris adalah permainan teka-teki yang disusun dan diprogram oleh sepasang programmer berkebangsaan Rusia.Dalam permainan tetris, balok-balok tetris berjatuhan ke area permainan dalam waktu konstan.Balok tetris selalu terdiri dari 4 balok kecil yang membentuk 7 macam rupa.

Analisa Algoritma
Pemain dapat mengontrol balok tetris yang jatuh melalui 4 tombol arah panah untuk menggeser ke kanan atau ke kiri dan tombol arah panah ke bawah untuk mempercepat jatuhnya balok tetris. Satu kendali yang lain adalah untuk memutar bentuk balok tetris 90º’

Algoritma yang gunakan untuk mencari solusi dari permainan tetris adalah algoritma yang menggunakan konsep-konsep yang ada dalam algoritma Greedy dan Algoritma BruteForce.Algoritma Greedy merupakan metode yang paling umum digunakan untuk memecahkan masalah optimasi.Algoritma ini sederhana dan sesuai dengan tujuan yang ada.



Algoritma Greedy memecahkan masalah langkah per langkah, pada setiap langkah:
  1. Mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip “take what you can get now!”)
  2. Berharap bahwa dengan memilih optimum local pada setiap langkah akan berakhir dengan optimum global Brute force adalah sebuah pendekatan yang sesuai (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. 
  3. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way). Algoritma yang digunakan untuk mendapatkan susunan tumpukan balok yang paling baik dengan menempatkan balok ke tempat yang tepat.Algoritma ini menggunakan prinsip Greedy dalam mencari langkah sollusi yang paling menguntungkan. Prioritas keuntungan yang tersusun terdiri dari:

1. Membentuk satu atau lebih baris paling penuh
2. Membentuk satu atau lebih baris paling mendekati penuh
3. Tidak membentuk ruang kosong pada susunan tumpukan balok
4. Balok dapat masuk ke dalam susunan tumpukan balok paling dalam Algoritma yang kami kemukakan akan mencari penempatan balok yang jatuh ke ruang yang paling tepat sesuai prioritas keuntungan di atas diantara susunan tumpukan  balok. Pencarian ini akan dilakukan secara Brute Force. Balok yang jatuh akan dicoba untuk ditempatkan ke ruang di antara susunan tumpukan balok dibawah.

Algoritma ini akan mencari penempatan yang sesuai dengan prioritas di atas. Pencarian solusi diantara susunan tumpukan balok akan dilakukan secara Brute Force. Algoritma ini akan mencari solusi paling menguntungkan untuk setiap sisi balok yang sedang jatuh. Pencarian solusi untuk setiap sisi dilakukan secar Brute Force. Apabila pada skala prioritas tertinggi memiliki lebih dari satu solusi terbaik yang sama, maka diantara solusi tersebut akan dibandingkan satu sama lain untuk mencari yang paling menguntungkan dengan standard prioritas selanjutnya, dan begitu selanjutnya. Apabila pada skala prioritas tertinggi tidak memiliki solusi, maka akan mencari solusi paling menguntungkan dengan skala prioritas selnjutnya, dan begitu selanjutnya. Apabila pada skala prioritas tertinggi hanya memiliki satu solusi paling  menguntungkan, maka akan dibandingkan dengan solusi dari hasil pencarian solusi untuk sisi balok yang lain. Diantara setiap solusi sisi balok, dicari solusi yang paling menguntungkan sesuai skala prioritas di atas. Dan balok akan ditempatkan pada ruang tersebut.

Apabila ada kasus seperti diatas, maka algoritma tersebut akan mencari solusi yang paling menguntungkan untuk menempatkan balok tersebut ke ruang di antara susunan tumpukan balok. Pencarian dicari secara brute force dari kiri ke kanan untuk sisi yang pertama kali keluar.Dapat dilihat seperti gambar berikut, bahwa lgoritma seakan-akan menempatkan balok tersebut dari kiri ke kanan untuk balok dengan sisi tersebut.

Apabila ada kasus seperti diatas, maka algoritma kami akan mencari solusi yang paling menguntungkan untuk menempatkan balok tersebut ke ruang di antara susunan tumpukan balok. Pencarian dicari secara brute force dari kiri ke kanan untuk sisi yang pertama kali keluar.Dapat dilihat seperti gambar berikut, bahwa lgoritma seakan-akan menempatkan balok tersebut dari kiri ke kanan untuk balok dengan sisi tersebut.
Setelah algoritma ini mancari solusi sampai paling kanan, maka algoritma ini akan menyimpan satu solusi terbaik yang ada. Apabila ada beberapa solusi yang sama baiknya, maka akan diambil penempatan paling kiri, seperti dilihat dibawah ini.

Setelah menyimpan solusi terbaik untuk sisi tersebut, maka algoritma ini akan mulai mencari solusi optimum untuk sisi berikutnya. Tampak di bawah, algoritma in seakan-akan memutar balok untuk memulai pencarian sisi berikutnya.Sisi berikut yang kami maksud disini adalah sisi dimana balok yang sedang jatuh diputar 900 searah jarum jam.

Setelah itu, algoritma ini akan menyimpan solusi dari setiap sisi berikutnya, seperti terlihat pada tiga gambar berikut ini.

Diantara setiap solusi sisi balok, dicari solusi yang paling menguntungkan sesuai skala prioritas di atas. Dan balok akan ditempatkan pada ruang tersebut. Seperti terlihat pada gambar berikut, algoritma ini telah menemukan solusi terbaik, dan menempatkan balok pada ruang tersebut.



Penggunaan Matriks dalam pembuatan Tetris
Pada game tetris, terdapat blok-blok yang akan kita susun secara horizontal ataupun vertikal blok-blok tersebut dinamakan dengan grid. Jumlah tiap baris grid tergantung pada si pembuat tetris, kalo contoh yang kami gunakan berjumlah 15 grid.Grid tersebut pada pemrograman kita buat dengan menggunakan matriks berdimensi 2.
Contoh :
___________________
o o o o
o o o o
o o o o
__________________
Sebagai contoh gambar diatas adalah matriks ukuran 4x3 (4 kolom, 3 baris).Begitu pula pada tetris juga memiliki ukuran kolom x baris (m x n). Pada kolom 1 baris 1, memiliki index[0,0]. Pada kolom 1 baris 2, memiliki indexnya[0,1]. Pada kolom 1 baris 3, memiliki index[0,2]. Pada kolom 2 baris 1, itu indexnya[1,0]. Pada kolom 2 baris 2, itu indexnya[1,1] dan s seterusnya. Di sini kami anggap susunannya terlihat seperti pada matriks dibawah ini :
[0,0] [0,1] [0,2] [0,3]
[1,0] [1,1] [1,2] [1,3]
[2,0] [2,1] [2,2] [2,3]
Baris paling atas pada tetris  (baris 1) memiliki index [0,n] sampai [0,n+1]. Sehingga dapat kita anggap ukuran layar tetris [m,n]. Setiap ada blok yang turun atau berjatuhan kita definisikan sebagai, m+1 dan setiap bergeser kekanan n+1 dan setiap kekiri n-1
Pada permainan tetris ini apabila blok yang berjatuhan telah melampaui batas dari layar tetris [m,n] maka permainan akan berakhir (game over) sehingga apabila ada baris yang penuh (sesuai dengan syarat) maka baris tersebut akan dihapus.











         5.)Analisa pada Game Tic Tic Toe


Teknikal                 
             Perkembangan teknologi dalam dunia komputer semakin hari semakin lebih maju, komputer yang dulunya berfungsi sebagai alat hitung dan pengolah data, seiring perkembangan teknologi komputer saat ini tidak hanya bertindak sebagai mesin yang hanya disuruh namun mampu berfikir memberikan respon bagi pengguna, sehingga muncul istilah ArtificialIntellegence (AI) atau Kecerdasan Buatan. Methohe Minimax merupakan salah satu contoh dari method yang digunakan dalam kecerdasan buatan, minimax adalah suatu algoritmayang menggunakan teknik pencarian Depth-First Search dengan kedalaman terbatas. Adapun media yangcocok untuk penerapan algoritma minimax adalah permainan Tic-Tac-Toe, beberapa alasan mengapa Tic-Tac-Toe digunakan sebagai media penerapan kecerdasan buatan antara lain Tic-Tac-Toe sangat mudahmenentukan ukuran kesuksesan atau kegagalan, sangat mungkin untuk dibandingkan dengan kemampuan manusia, mudah dimainkan.

             Permainan tic-tac-toe merupakan permainan berjenis board-game berukuran 3x3. Pemain harus mengisi sel-sel, sehingga karakter yang dimasukkan pemain tersebut dapat membentuk suatu garis lurus horizontal, vertikal, ataupun juga diagonal. Permainan ini biasanya dimainkan oleh 2 orang pemain, tapi pada versi permainan komputer, pemain lawan dapat digantikan oleh komputer. Hasil permainan berupa menang, kalah, ataupun seri.


              Algoritma minimax merupakan basis dari semua permainan berbasis AI. 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. Algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. 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 pada algorima minimax digunakan sebuah fungsi heurisitic untuk mengevaluasi nilai sebagainilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih. 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 heuristicyang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer.

Garis besar algoritma minimax secara umum
"If ada langkah kemenangan Then pilih langkah tersebut.
Else Ifl awan mempunyai 2 spot terisi dalam satu garis dengan spot ketiga masih kosong Then tutup langkah tersebut (isi spot kosong ketiga tersebut).
Else melangkah ke state yang mempunyai kemungkinan menang tertinggi (berdasarkan nilai heuristic yang dibangkitkan)"

Algoritma umum diatas untuk permainan tic-tac-toe
"Mencari langkah dengan nilai maksimum
If langkah tersebut merupakan langkah kemenangan Then pilih lagkah tersebut.
Else
Foreach kemungkinan langkah yang ada
Cari langkah lawan yang bernilai minimum.
Return nilai dari langkah tersebut.
Pilih langkah yang bernilai maksimum darilangkah-langkah tersebut. "

Analisa Algoritma
         
Analisis dalam kasus ini, pada permainan tic-tac-toe menggunakan algoritma minimax, dimana AI akan menelusuri semua kemugkinan langkah yang akan dilakukan oleh pemain. SehinggaAI akan selalu mengetahui kemungkinan pemain untuk menang dan memblok semua langkah kemenangan pemain.
Dengan demikian permainan akan selalu seri apabila pemain cukup teliti dalam menentukan langkah. Namun jika pemain melakukan langkah yang salah, maka AI akan langsung menggunakan kesempatan tersebut untuk mengambil langkah yang akan mengarahkannya ke hasil akhir berupa kemenangan atau seri.

Berikut adalah langkah atau cara memainkan permainan tic–tac-toedengan metode minimax.
                                     








Kesimpulan
         Penerapan algoritma minimax cukup bagus dan cocok untuk pengambilan
keputusan oleh AI, terutama dalam permainan player.  Algoritma minimax menggunakan konsep Dept First Search dalam pembentukan pohon solusi. Pohon solusi dibentuk dari awal permainan sampai akhir permainan. Semakin akurat fungsi dari heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI. Dengan menggunakan algoritma minimax untuk AI dalam permainan tic-tac-toe, pemain kemungkinan sangat kecil untuk menang melawan AI tersebut.



Sumber :
Munir, Rinaldi.2006. “Strategi Algoritmik”. Program Studi Informatika, Institut Teknologi Bandung. Kevin McGee, 2005. “Advance Game Programming : AI”.
Khoirush Sholih, 2010. Jurnal Implementasi Teori Minimax pada Tic Tac Toe. Teknik Informatika. Institut Teknologi Bandung.
Wikimedia Foundation, Inc. “Depht First Search”. http://en.wikipedia.org/wiki/DFS_search_algorithm.
 Birch, Chad (2010), Understanding Pac-Man Ghost Behaviour (http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior)
 Pittman, jamey (2010), Pac-Man Dossier (http://home.comcast.net/~jpittman2/pacman/pacmandossier.html)
Nugroho Chandra, Timotius (2010),  Aplikasi Algoritma Greedy untuk Pergerakan Musuhpada Pac-Man, Institut Teknologi Bandung, Bandung .
http://en.wikipedia.org/wiki/Football_Manager_2014
http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2012-2013/Makalah2012/Makalah-IF3051-2012-072.pdf





Kamis, 14 April 2016

Pengantar Teknologi Game

Game Engine
Game Engine adalah suatu software yang digunakan untuk membuat game. Fungsi utama dari Game Engine adalah sebagai renderer grafik 2D maupun 3D,  physics engine, pengatur audio, scripting, animasi game, AI (Artificial Intelligence), networking, streaming, pengaturan memori, localization support, dan pengaturan grafik. Satu Game Engine bisa untuk membuat berbagai tipe game, dan bisa memudahkan “port”  games ke console lain, Game Engine juga merupakan  sebuah sistem yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada video game konsol dan komputer pribadi. Proses pengembangan game sering dihemat oleh di menggunakan kembali sebagian besar / mengadaptasi mesin permainan yang sama untuk membuat game yang berbeda.
Dalam pengembangan game, bagian-bagian yang berperan antara lain :
1.           Game Designer –> Format dan Behaviour Game
2.           Artist –> Model-model, Textures, Animation
3.           Level Designer –> Space dan Environment Game
4.           Audio Designer –> SoundEffect
5.           Programmer –> Coding
6.           Lain-lain –> Production, Management, Marketing

SEJARAH GAME ENGINE

Sebelum (Game Engine) mesin permainan, permainan yang biasanya ditulis sebagai entitas tunggal: game untuk Atari 2600, misalnya, harus dirancang dari bawah ke atas untuk memanfaatkan optimal hardware layar tampilan ini rutin-core hari ini disebut kernel oleh retro pengembang. Platform lain telah kelonggaran lebih, tetapi bahkan ketika layar itu bukan masalah, kendala memori biasanya menyabotase upaya untuk menciptakan desain data-berat yang mesin kebutuhan. Bahkan pada platform menampung lebih, sangat kecil dapat digunakan kembali antara permainan. Kemajuan pesat hardware arcade-ujung tombak dari pasar-berarti bahwa sebagian besar kode harus dibuang setelah itu pula, sebagai generasi kemudian akan menggunakan desain permainan game yang sama sekali berbeda yang mengambil keuntungan dari sumber daya tambahan. Jadi desain paling permainan melalui 1980 dirancang melalui ruleset-keras dikodekan dengan sejumlah kecil data tingkat dan grafis.
Generasi pertama dari mesin grafis pihak ketiga atau renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai mesin) didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware dari Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Realitas Lab adalah tercepat dari tiga dan adalah yang pertama diperoleh dalam langkah agresif oleh Microsoft. Tim RenderMorphics Pegawai Negeri Keondjian, Kate Seekings dan Doug Rabson kemudian bergabung dengan proyek Microsoft yang berubah Realita Lab ke Direct3D sebelum Keondjian dan Rabson kiri untuk memulai perusahaan lain middleware Qube Software. Renderware akhirnya dibeli oleh EA (Electronic Arts) tetapi dikesampingkan oleh raksasa permainan.
Istilah “Game Engine (Mesin Permainan)”  muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti penembak orang pertama (FPS). (Lihat juga:. mesin first-person shooter) tersebut adalah popularitas Id Doom Software dan game Quake, daripada bekerja dari awal, pengembang lain berlisensi bagian inti dari perangkat lunak dan desain grafis mereka sendiri, karakter, senjata dan tingkat -The “permainan isi ” atau “aset permainan.” Pemisahan aturan permainan spesifik dan data dari konsep-konsep dasar seperti deteksi tabrakan dan entitas permainan berarti bahwa tim bisa tumbuh dan mengkhususkan.
Kemudian permainan, seperti Quake III Arena dan 1998 Epic’s Unreal Games dirancang dengan pendekatan ini dalam pikiran, dengan mesin dan konten dikembangkan secara terpisah. Praktek lisensi teknologi tersebut telah terbukti menjadi aliran pendapatan yang berguna tambahan untuk beberapa pengembang game, sebagai lisensi satu untuk mesin game high-end komersial dapat berkisar dari US $ 10.000 untuk jutaan dolar, dan jumlah lisensi dapat mencapai beberapa lusin perusahaan, seperti terlihat dengan Unreal Engine. Paling tidak, mesin dapat digunakan kembali membuat sekuel game berkembang lebih cepat dan mudah, yang merupakan keunggulan yang berharga dalam industri video game yang kompetitif.
Mesin permainan modern adalah beberapa aplikasi yang paling kompleks yang ditulis, sering menampilkan puluhan sistem tersetel berinteraksi untuk memastikan pengalaman pengguna yang tepat dikendalikan. Evolusi terus mesin permainan telah menciptakan sebuah pemisahan yang kuat antara rendering, scripting, karya seni, dan desain tingkat. Sekarang umum, misalnya, untuk tim pengembangan game khas untuk memiliki beberapa kali banyak seniman sebagai programmer yang sebenarnya.
Permainan penembak orang-pertama tetap menjadi pengguna utama dari mesin permainan pihak ketiga, tetapi mereka sekarang juga digunakan dalam genre lain. Sebagai contoh, RPG The Elder Scrolls III: Morrowind dan MMORPG Dark Age of Camelot didasarkan pada mesin Gamebryo, dan MMORPG Lineage II didasarkan pada Unreal Engine. Game mesin digunakan untuk game awalnya dikembangkan untuk rumah konsol juga, misalnya, mesin RenderWare digunakan dalam Grand Theft Auto dan waralaba Burnout.
Threading adalah mengambil lebih penting karena sistem multi-core modern (misalnya Cell) dan tuntutan meningkat pada realisme. Benang Khas melibatkan rendering, streaming, audio, dan fisika. Permainan Balapan yang biasanya berada di garis depan threading dengan mesin fisika berjalan di sebuah thread terpisah jauh sebelum subsistem inti lainnya dipindahkan, sebagian karena rendering dan tugas terkait perlu update hanya pada 30-60 Hz. Sebagai contoh, di PlayStation 3, fisika berlari di Need For Speed ​​pada 100 Hz versus Forza Motorsport 2 pada 360 Hz.
Meskipun istilah ini pertama kali digunakan pada 1990-an, ada sistem sebelumnya beberapa tahun 1980-an yang juga dianggap permainan mesin, seperti Sierra’s Adventure Game Interpreter (AGI) dan sistem SCI, LucasArts ‘SCUMM sistem dan Insentif Software mesin Freescape . Tidak seperti kebanyakan mesin permainan modern, mesin permainan ini tidak pernah digunakan dalam produk pihak ketiga (kecuali untuk sistem SCUMM yang dilisensikan dan digunakan oleh humongous Entertainment).

Berikut beberapa tipe dari game engine

Roll-your-own game engine

Banyak perusahaan game kecil menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source karena lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari  sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.

Mostly-ready game engines

Engine ini biasanya menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.

Point-and-click engines

Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget.  Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.


Software pembuat game terbaik saat ini
Cry Engine

           Cry Engine adalah salah satu Game Engine yang dikeluarkan oleh German, Crytek. Game engine ini juga sempat menghebohkan dunia game pada tahun 2004. Beberapa contoh game yang dibuat dengan menggunakan software ini adalah Crysis, Crysis War Head, Crysis 2, FarCry, Alion : Tower of Eternity, dan masih banyak lagi.
Keunggulan dari Cry Engine ini sendiri adalah tidak perlu menggunakan spek yang dewa untuk menjalankan game-game yang dibuat dengan software ini, dan pencahayaannya juga sangat bagus

 Anvil Engine
          Ubisoft menjanjikan kita sebuah game dengan pencahayaan bervolume, lebih banyak interaksi interaktif dengan lingkungan, sistem musim dan cuaca, dan AI yang cerdas dalam Anvil Engine 2.0.

 Unreal Engine
            Sejak 1998, GE keluaran Epic Games pertama digunakan untuk game Unreal, dan dilanjutkan oleh game bernuansa Stealth Deus Ex (2000). Generasi pertama Game Engine ini menunjukkan dunia yang gelap dan kelam. Beruntunglah kita para PCGamer, karena dapat merasakan game-game dari Unreal Engine  dengan Framerate yang lebih stabil dibandingkan di console. Tetapi, Unreal Engine 3 mengalami revolusi yang membuatnya menjadi GE yang menghasilkan Framerate stabil, Kualitas Grafis yang mantap, Dynamic Shadows, HDRR (High Dynamic Range Rendering), Depth of Field, dan penggunaan DX 11 secara maksimal. Semua game dengan Engine ini memang mengagumkan, dan nyaris semua bertema kelam, karena GE ini memang mengutamakan di Shadows.
Contoh Game yang dibuat dengan software ini adalah Homefront, GRAW, Batman Arkham City ,Diablo dan banyak lagi

 IW Engine
             Infinity Wizard Engine,  Call Of Duty yang pertama dibuat dengan ID Tech Engine, developer membuat sebuah GE tanpa nama resmi ini, yang diadaptasi dari ID Tech 3. Kelebihan utama GE ini adalah animasi dan pencahayaan yang fenomenal, juga dengan AI kompleks yang cerdas, Depth of Field, dan “dynamic bullet penetration”.

 Frosbite Engine 
             Game Engine ini adalah saingan IW Engine, karena Grafik yang ditampilkan dalam Engine ini sangatlah bagus. Contoh game yang dibuat dengan engine ini sendiri seperti Battlefield 3, Need For Speed The Run, Dll. Namun game engine ini tidak mendukung dengan DX 9, dan juga Windows XP. Tetapi dapat dimaklumi, karena engine ini menggunakan DX 11 secara maksimal

 Avalance Engine
            Game utama dari GE ini adalah Just Cause 2. Pertama kali memainkan Just Cause 2, kita akan disuguhi sebuah pulau tropis bernama Panau yang sangat luas, dan berbagai jenis kendaraan yang bisa kita kendarai (helikopter, pesawat jet, parasut, motor, perahu). Efek Ledakan yang dihasilkan oleh GE ini juga memukau, dengan grafis yang cukup bagus, motion bluring yang smooth, dan AI yang cerdas. Engine game ini lebih mengutamakan game aksi yang penuh ledakan, tembakan, dan kendaraan-kendaraan unik yang dapat kita kendarai. Sayangnya generasi kedua dari engine ini tidak suport dengan DX 9 dan Windows XP

 ID Tech Engine
            GE ini dibuat untuk game HoverTank 3d. Lalu berlanjut menghasilkan game FPS pertama Catacomb 3d, tapi karena kurang terkenal, dibuatlah Wolfenstein 3d.  id Tech juga menghasilkan Game-game FPS Old School Quake series dan Doom Series, dengan Engine yang telah dimodifikasi. GE ini memiliki 5 generasi, dengan adanya FPS hebat hasil GE ini di setiap jamannya. Generasi terakhirnya adalah id Tech 5, yang menghasilkan game open-world post-apocalyptic bergenre FPS-Racing, RAGE.
Keunggulan dari Game Engine ini adalah bisa membuat MegaTexture, yaitu texture game yang bisa mencapai resolusi 128.000 x 128.000 pixel ! Dan juga dunia dinamis dengan Terrain Editor yang sederhana tetapi kompleks. GE ini juga memungkinkan pembuatan hanya satu jenis texture yang bisa dipakai untuk PC maupun console, yang sangat memudahkan port antar platform. Keunggulan lain adalah Soft-Edged Shadows, HDRR, dan beberapa fitur standar Game Engine. 

 Creation Engine
           Creation Engine memang dibuat khusus untuk Skyrim, karena keunggulan utamanya, yaitu, Random Dungeon membuat kita tidak bosan menjelajahi semua Dungeon di Skyrim, mencari-cari senjata dewa maupun menyelesaikan quest, Radiant AI, yang membuat semua NPC memiliki sifat unik, Dynamic Lightning, Draw Distance Render yang jauuuuh, membuat kita bisa menikmati luasnya Skyrim, dan kemampuan untuk membuat Flora yang detail. grafik yang dihasilkan juga istimewa.
Dengan keunggulan yang sekian banyaknya, membuat Skyrim begitu adiktif dan tidak terlupakan, sayang, karena terlalu luas dunianya, banyak bug menyiksa yang dihasilkan .

 RAGE Engine 
             Bukan Engine game RAGE melainkan RAGE (Rockstar Advanced Game Engine), dibuat Rockstar San Diego tahun 2004, dan dimulai dari game Bully.
Pembuatan game-game dengan Engine ini dibantu dengan Euphoria, yang membuat animasi tokoh semakin realistis. Euphoria ini juga yang merupakan software 3d utama untuk membuat Sequel game Max Payne 3
Keunggulan dari GE ini adalah kemungkinan memuat game open-world tanpa loading (seperti GTA IV, yang memungkinkan kita memasuki kios-kios burger tanpa loading) yang sangat luas, AI yang kompleks, Draw Distance Render yang cukup jauh, juga sirkulasi Cuaca yang realistis.
Dengan bantuan Euphoria, pergerakan AI yang tidak “robot” dan animasi-animasi realistis lainnya juga menjadi nilai plus GE ini. 

 HPL Engine 
             Dan yang terakhir yaitu HPL Engine, nama game engine ini adalah inisial dari orang tersebut. Dari penjelasan singkat barusan, bisa ditebak bahwa game-game hasil dari GE ini adalah game horror. Game Engine ini dibuat oleh developer Indie Frictional Games, yang menghususkan dalam pembuatan First Person Survival Horror. HPL adalah GE cross-platform (PC, Mac, Linux) yang kompatibel dengan OpenGL, OpenAL, dan Newton Game Dynamics.
Fitur utama Game Engine ini  adalah interaksi objek yang sangat detail dengan penggunaan mouse dan keyboard. Dengan kata lain, game-game hasil dari GE ini memiliki physics yang detail. Keistimewaan lainnya adalah GE ini mendukung SSAO (Screen Space Ambient Occlusion) dan Deferred Shading. Walaupun keistimewaannya tidak terlalu banyak, spesifikasi komputer yang dibutuhkan untuk menjalankan game-game hasil GE ini cukup tinggi (tergantung resolusi layar).
Kelemahannya yang cukup fatal tersebut bisa dan harus dimaklumi, karena pembuat HPL Engine generasi pertama kurang dari 10 orang ! Dan pembuat HPL Engine 2 kurang dari 20 ! Dengan angka sesedikit itu, dan bisa membuat game engine yang menghasilkan game epik Amnesia The Dark Descent.

Peran pertama dalam pengembangan game adalah Game designer

        Designer game adalah orang yang bertugas untuk membuat alur cerita dalam sebuah game. Dengan itu, tentunya kita tidak akan cepat bosan ketika bermain game karena kita akan terbawa oleh alur cerita.

Bagian-bagian pada designer game:
1. Lead designer adalah orang yang bertanggung jawab atas semua kinerja team nya. Dia juga memastikan komunikasi tim berjalan dengan baik dan mengambil keputusan.
2. Game mechanic designer adalah orang yang mendesain dan menyeimbangkan mekanika alur cerita pada sebuah game.
3. Level designer or environment designer adalah orang yang bertanggung jawab dalam pembuatan misi game, level game, dan lingkungan sekitar pada game.
4. Writer adalah orang yang bekerja untuk memahami cerita dari permainan, dialog, komentar, dan cerita cuplikan game.
Itulah bagian-bagian dari designer.
Biasanya para designer game kebanyakan mengambil cerita dari karya novel, film dan lain-lain yang diadaptasikan ke sebuah game, contoh: game wall-e
source :

https://en.wikipedia.org/wiki/Game_engine
http://rossiearyani.blogspot.co.id/2013/06/sejarah-game-engine.html
http://gudangdariilmu.blogspot.co.id/2015/07/10-software-pembuat-game-terbaik.html
http://entokjantan030.blogspot.com/2011/03/tugas-designer-game-dalam-pembuatan.html