Lihat dulu

Selasa, 03 Mei 2016

Analisis dan Algoritma Jenis-Jenis Game


Game Hayday




Hasil analisis saya, game hayday menggunakan algoritma dynamic programming.
Apa algoritma dynamic programming?
Programming solusi optimalnya dapat diperoleh dari banyak rangkaian keputusan yang mungkin menghasilkan.
Satu cara untuk memecahkan masalah-masalah, yang mana ini tidak mungkin untuk membuat sebuah rangkaian dari langkah-langkah keputusan yang dapat dilakukan mengacu (mengarah) pada rangkaian keputusan optimal adalah untuk mencoba semua kemungkinan rangkaian-rangkaian keputusan. Dynamic programming seringkali secara spontan mengurangi jumlah pembilangan dengan menghindari pembilangan dari beberapa rangkaian keputusan yang tidak memungkinkan menjadi optimal.
Di dalam dynamic programming hubungan-hubungan keputusan optimal didapat dengan membuat prinsip optimalitas secara explisit. Pernyataan prinsip itu merupakan rangkaian keputusan optimal yang memiliki sesuatu yang dinyatakan dengan initial dan keputusan, dalam mengambil keputusan harus menyusun suatu keputusan optimal dengan memperhatikan hasil pernyataan dari keputusan pertama. Di dalam dynamic programming, banyak rangkaian keputusan yang mungkin menghasilkan. Tetapi, rangkaian yang berisi sub-sub rangkaian optimal tidak dapat optimal jika prinsip berpengaruh pada optimasi dan pasti tidak akan menghasilkan.
Pada penyelesaian persoalan dengan metode ini:
terdapat sejumlah berhingga pilihan yang mungkin,
solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya,
kita menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.
Dua pendekatan yang digunakan dalam Dynamic Progamming adalah maju (forward atau up-down) dan mundur (backward atau bottom-up).
Aplikasi Game Hayday
Game Hayday mungkin dapat dibuat dengan Unity3D sebagai design untuk membuat karakter. Ini merupakan salah satu game engine populer yang banyak digunakan. Untuk membuat gamenya tersebut bisa menggunakan script C#, UnityScript, atau javascript.
Pengertian :
Script C#
adalah bahasa pemrograman yang diciptakan oleh Microsoft (dikembangkan dibawah kepemimpinan Anders Hejlsberg yang notabene juga telah menciptakan berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan Borland Delphi). Bahasa C# juga telah di standarisasi secara internasional oleh ECMA.Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services.Kunci dari bahasa pemrograman yang bersifat Object Oriented adalah encapsulation, inheritance, dan polymorphism. Secara sederhana, istilah-istilah tersebut bisa didefinisikan sebagai berikut (definisi dan penjelasan lebih lanjut akan di uraikan pada bab-bab selanjutnya). encapsulation, dimana semua fungsi ditempatkan dalam satu paket (single package). Inheritance, adalah suatu cara yang terstruktur dari suatu kode-kode pemrograman dan fungsi untuk menjadi sebuat program baru dan berbentuk suatu paket. Polymorphism, adalah kemampuan untuk mengadaptasi apa yang diperlukan untuk dikerjakan. Sifat-sifat tersebut di atas, telah di miliki oleh C# sehingga bahasa C# merupakan bahasa yang bersifat Object Oriented.
Pengertian JavaScript
JavaScript adalah bahasa pemograman web yang bersifat Client Side Programming Language. Client Side Programming Language adalah tipe bahasa pemograman yang pemrosesannya dilakukan oleh client. Aplikasi client yang dimaksud merujuk kepada web browser seperti Google Chrome dan Mozilla Firefox.Jenis bahasa pemograman Client Side berbeda dengan bahasa pemograman Server Side seperti PHP, dimana untuk server side seluruh kode program dijalankan di sisi server.Kini JavaScript menggunakan library seperti jQuery. Library ini memudahkan kita membuat program JavaScript untuk semua web browser, dan membuat fitur-fitur canggih yang sebelumnya membutuhkan ribuan baris kode program menjadi sederhana.
Kesimpulan :
Untuk game hayday tidak mungkin menggunakan bahasa pemrograman serta aplikasi yang kurang dalam grafis dan script nya, seperti blender untuk design serta strawberry prolog untuk membuat script programnya. Game ini banyak kondisi yang memungkinkan bagi pengguna. Dari algoritma yang dirancang diperlukan aplikasi dan Bahasa pemrograman yang tinggi dalam menyelesaikan segala kondisi.


GAMES DEADLY MATCH
 
Deadly match merupakan game perjalan melawan musuh (AI) yang terinspirasi dalam sebuah tokoh jepang yaitu avatar dan ozai dimana kedua tokoh tersebut diperankan dalam game ini, konsep permainan dalam game ini sangatlah sederhana, yaitu dimana user diminta melawan AI sebagai musuh, musuh yang dihadapi dalam game ini dapata berupa avatar(eng) maupun sebaliknya ozai. Game ini merupakan game perjalan seperti cerita pada avatar itu sendiri.
Dimana didalam game ini sendiri terdapat beberapa point tujuan yang harus dihadapi oleh pemain, pertama perin diminta mencapai check point 1 yaitu tempat atau rumah dari Negara tanah dan yang kedua merupakan check point 2 yaitu merupakan tempat dari Negara air dan yang terakhir merupakan tempat dari negra api.
Didalam perjalanan tersebut pemain dihadapkan oleh banyak rintangan sepeti serangan dari musuh (AI), musuh (AI) tersebut dapat mengetahui pergerakan pemain atau posisi dimana pemain berada. Berdasarkan koordinat RX dan RY yang terdapat dalam listing program tersebut.
Jika pemain dapat melewati rintangan tersebut dan telah sampai pada ceheck point tersebut user dapat menekan tombol x untuk ememasuki check point tersebut. Apabila sudah memasuki check point tersebut user dihadapkan dalam sebuh pertandingan melawan musuh (AI) dan diharapak pemain tersebut dapat memenangi pertandingan agar dapat melanjutkan perjalan.

Pemain juga dapat memilih karekter sesuai keinginan apabila user tersebut ingin langsung memainkanya pun dapat dilakukan dengan menekan tombol new game, yaitu tombol dimana pemain menjadi avatar(eng) secara default.
Pada halaman utama terdapat beberapa tombol diantaranya terdapat tombol start, yaitu tombol yang digunakan untuk masuk kedalam home screen permainan utama dimana di dalam home screen permaianan tersebut terdapat menu popup new game, merupakan menu yang digunakan untuk memulai permainan dengan default pemaian yaitu avatar(eng), kemudian terdapat menu karakter yaitu menu yang digunakan untuk memilih karekter avatar(eng) atau ozai.
Pada popup tersebut juga terdapat menu rules dan exit, menu rules yaitu menu yang berisikan cara bermain dan peraturan permaianan, sedangkan menu exit yaitu menu yang digunakan untuk mengakhiri permaianan.
Apabila user telah memasuki check point tersebut didalam check point itu sendiri terdapat menu new game yaitu menu yang digunakan untuk memulai permainan dan menu exit yaitu menu yang digunakan untuk mengakhiri permaianan.
RULES
Peraturan permainan DEADLY MATCH sagatlah sederhana.
Pemain dihadapkan pada musuh untuk mencapai check point dan apabila mengenai musuh akan mati.
Setelah masuk kedalam check point pemain dihadapkan pada musuh di setiap levelnya sesuai check point tersebut
Jika pemain memenangkan pertarungan tersebut maka peain dapat melanjutkan permainan
Jika pein tidak memenangkan pertarungan tersebut maka pemain tidak dapat melanjutkan pertandingan tersebut
GOALS
Goals untuk menyelesaikan permainan DEADLY MATCH terbagi menjadi dua bagian, pertama pemain diharuskan mencapai check point yang di tentukan setelah pemain mencapai check point yang ditentukan maka pemain dihadapkan pada lawan untuk bertarung, jika pemain memenangkan pertarungan tersebut maka pemain dapat melanjutkan pertarungan tersebut.
KONSEP AI
AI (Artificial Intelligence) adalah salah satu bagian ilmu komputer yang membuat agar mesin/komputer dapat melakukan pekerjaan seperti layaknya dan sebaik yang dilakukan oleh manusia. Permainan ini berbasis Artificial Intelligence (kecerdasan buatan).
Konsep AI pada game ini adalah dengan menggunakan Algoritma Backtracking. Algoritma runut balik (back tracking) merupakan algoritma yang digunakan untuk mencari solusi persoalan secara lebih praktis daripada menggunakan algoritma brute force. Algoritma ini akan mencari solusi berdasarkan ruang solusi yang ada secara sistematis namun tidak semua ruang solusi akan diperiksa, hanya pencarian yang mengarah kepada solusi yang akan diproses.
Algoritma Runut Balik berbasis DFS (Depth First Search) sehingga aturan pencariannya akan mengikut kepada aturan pencarian DFS yaitu dengan mencari solusi dari akar ke daun (dalam pohon ruang solusi) dengan pencarian ke dalam. Simpul-simpul yang sudah dilahirkan (diperiksa) dinamakan simpul hidup (live node). Simpul hidup yang sedang diperluas dinamakan simpul-E atau Expand Node.
Selain itu AI yang digunakan dalam pemrograman ini juga menggunakan Algoritma Greedy,algoritma tersebut merupakan algoritma yang membentuk solusi langkah per langkah. Pada setiap langkah tersebut akan dipilih keputusan yang paling optimal [3]. Keputusan tersebut tidak perlu memperhatikan keputusan selanjutnya yang akan diambil, dan keputusan tersebut tidak dapat diubah lagi pada langkah selanjutnya.
Prinsip utama algoritma greedy adalah “take what you can get now!”. Maksud dari prinsip tersebut adalah sebagai berikut: Pada setiap langkah dalam algoritma greedy, kita ambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya. Kita namakan solusi tersebut dengan optimum lokal. Kemudian saat pengambilan nilai optimum lokal pada setiap langkah, diharapkan tercapai optimum global, yaitu tercapainya solusi optimum yang melibatkan keseluruhan langkah dari awal sampai akhir.



Game Hay Day









Sebagai pengguna game Hay Day, game ini memiliki kelebihan dan kekurangan.
Kelebihan dalam Game Hay Day :
Tidak mudah bosan. Karena permainan ini memiliki level yang banyak
Setiap level menyajikan menu baru yang menantang dan semakin variatif pertaniannya.
Game ini dapat dimainkan kapan saja.
Ada notification jika yang diproduksi siap di panen, baik tanaman maupun hasil ternak.
Mendekorasi dan menata ladang sesuai keinginan.
Mengumpulkan barang untuk mendukung dan meningkatkan penyimpanan, serta memanage pelanggan yang datang saat akan membeli hasil pertanian.
Dapat bonus yang dihasilkan dari roda putar, peti yang akan mucul di sekitar ladang, dan peningkatan atau pengumpulan item.
Kekurangan dalam Game Hay Day :
Lupa waktu, karena penasaran dengan setiap peningkatan.
Lama menunggu hasil panen, jika memiliki lahan yang sempit.
Bahan baku yang dibutuhkan untuk toko, pertanian, dan peternakan sulit untuk dikumpulkan. Sehingga harus membeli dengan harga yang cukup mahal.
Sejauh ini game Hay Day menjadi favorit untuk mengisi waktu luang. Fitur-fitur yang ditawarkan semakin variatif, jika ada perintah upgrade.


Game Checkers




Checkers adalah permainan yang memakai strategi abstrak dan dimainkan oleh orang pemain dengan melakukan langkah diagonal terhadap token dan bertujuan untuk menghabiskan token lawan dengan cara melangkahinya.
Dalam permainan checkers ini digunakan algoritma minimax yang merupakan basis dari semua permainan berbasis AI. Algoritma Minimax merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Dengan itu, kita dapat mengetahui, pada titik tertentu permainan, langkah-langkah yang mungkin berikutnya. Permainan tersebut berbagi karakteristik yang sama, yakni “permainan dengan penuh informasi”. Setiap pemain mengetahui semua langkah-langkah yang mungkin dari pemain lawannya. Algoritma ini mulai dikembangkan dari teori game zero-sum. Teori ini mendeskripsikan situasi dimana jika terdapat pemain yang mengalami pendapatan, pemain lain akan mengalami kehilangan dengan nilai yang sama dari pendapatan tersebut, dan sebaliknya. Jumlah pendapatan dari pemain yang dikurangi dengan jumlah kehilangan akan berjumlah nol.
Jika pemain dapat melewati rintangan tersebut dan telah sampai pada ceheck point tersebut user dapat menekan tombol x untuk ememasuki check point tersebut. Apabila sudah memasuki check point tersebut user dihadapkan dalam sebuh pertandingan melawan musuh (AI) dan diharapak pemain tersebut dapat memenangi pertandingan agar dapat melanjutkan perjalan.

PENERAPAN AI PADA GAME CHECKERS
Dalam permainan checkers ini digunakan algoritma minimax yang merupakan basis dari semua permainan berbasis AI. Algoritma Minimax merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Dengan itu, kita dapat mengetahui, pada titik tertentu permainan, langkah-langkah yang mungkin berikutnya. Permainan tersebut berbagi karakteristik yang sama, yakni “permainan dengan penuh informasi”. Setiap pemain mengetahui semua langkah-langkah yang mungkin dari pemain lawannya. Algoritma ini mulai dikembangkan dari teori game zero-sum. Teori ini mendeskripsikan situasi dimana jika terdapat pemain yang mengalami pendapatan, pemain lain akan mengalami kehilangan dengan nilai yang sama dari pendapatan tersebut, dan sebaliknya. Jumlah pendapatan dari pemain yang dikurangi dengan jumlah kehilangan akan berjumlah nol.
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.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.
Penerapan algoritma Minimax dalam checkers dibuat berdasarkan prosedur Minimax untuk mendapatkan langkah terbaik dari posisi yang ada. Setiap posisi memiliki nilai yang dapat dihasilkan dari langkah terbaik, dengan berasumsi bahwa AI akan selalu mencoba memaksimalkan nilai, ketika lawan akan mencoba untuk meminimalkannya.Ketika prosedur minimax mencapai akar pada pohon pencarian (posisi saat tersebut), akan menghasilkan langkah terbaik dengan asumsi lawan akan menggunakan kriteria evaluasi yang sama. Beberapa versi program yang dibuat kebanyakan telah menerapkan algoritma pemotongan alpha-beta.Terdapat dua macam metode, yang disebut rote learning. Metode tersebut memiliki penyimpan untuk setiap posisi yang ditemui selama permainan dengan tidak menghilangkan nilai yang ditentukan oleh prosedur Minimax. Hasilnya adalah jika terdapat posisi yang pernah ditenukan sebelumnya, akan dimunculkan sebagai posisi terminal pada pohon pencarian. Sehingga, pencarian akan semakin mudah karena nilai posisi diambil dari hasil pencarian yang telah dilakukan sebelumnya. Satu masalah awal yang ditemukan adalah program tidak mendukung untuk melangkah langsung menuju kemenangan.
Pertama kali dilakukan oleh Arthur Samuel dalam melakukan pembuatan program untuk mempelajari permainan checkers. Prah program yang dibuat berdasarkan prosedur Minimax untuk mendapatkan langkah terbaik dari posisi yang ada. Setiap posisi memiliki nilai yang dapat dihasilkan dari langkah terbaik, dengan berasumsi bahwa AI akan selalu mencoba memaksimalkan nilai, ketika lawan akan mencoba untuk meminimalkannya. Ketika prosedur minimax mencapai akar pada pohon pencarian (posisi saat tersebut), akan menghasilkan langkah terbaik dengan asumsi lawan akan menggunakan kriteria evaluasi yang sama. Beberapa versi program yang dibuat Samuel juga telah menerapkan algoritma pemotonganalpha-beta.
Samuel menggunakan dua macam metode, yang disebut rote learning. Metode tersebut memiliki penyimpan untuk setiap posisi yang ditemui selama permainan dengan tidak menghilangkan nilai yang ditentukan oleh prosedur Minimax. Hasilnya adalah jika terdapat posisi yang pernah ditenukan sebelumnya, akan dimunculkan sebagai posisi terminal pada pohon pencarian. Sehingga, pencarian akan semakin mudah karena nilai posisi diambil dari hasil pencarian yang telah dilakukan sebelumnya. Satu masalah awal yang ditemukan adalah program tidak mendukung untuk melangkah langsung menuju kemenangan. Samuel memberikan pengarahan dengan mengurangi sedikit nilai posisi setiap tahap (disebut ply) pada analisis Minimax. Jika program berhadapan dengan pilihan posisi dengan nilai yang hanya dibedakan oleh ply, maka program akan secara otomatis melangkah pada pilihan yang paling menguntungkan. Samuel mencoba permainan ini berkali-kali dengan melawan berbagi versi sebelumnya dan melakukan backup pada setiap langkah.




TIC TAC TOE
 





Konsep penelitian yang sedang populer dikalangan peneliti AI (Kecerdasan Buatan) adalah tentang permaianan. Salah satu permainan sederhana yang akan dibahas dalam makalah ini adalah permainan TIC TAC TOE.
Permainan TIC TAC TOE merupakan permainan sederhana yang dimainkan pada papan berukuran 3x3. Pada awal permainan, papan dikosongkan, lalu kedua pemainnya, dinamakan X dan O aan menempatkan biji bijinya keatas papan satu persatu sesuai dengan urutan jalannya masing masing. Pemain yang berhasil menempatkan tiga bijinya dalam satu garis, vertikal, horizontal ataupun diagonal pertama kali dialah pemenangnya. Permainan dinyatakan seri jika kedua pemain tidak ada yang berhasil menyusun 3 bijinya secara berurutan padahal papan telah penuh.
KONSEP PERMAINAN TIC TAC TOE

1. Desain Sistem
2. Pendefinisian Awal
a. Pemain yang ikut dalam permainan tic tac toe
b. representasi pohon, menyederhanakan dan merumuskan masalah.
c. representasi minimax tree, dengan cara pengambilan langkah yang bergantian (bergiliran).
d. Hasil/skor akhir
e. salah satu cara yang umum digunakan dalam pembentukan Artificial Intelligence sebuah game adalah menganalisis secara langsung terlebih dahulu game tree menggunakan metode algoritma minimax atau variasinya. Game tree tic tac toe dapat dicari dan dianalisis dengan mudah dengan menghilangkan point-point yang tidak diperlukan, namun permainan lain yang lebih besar seperti catur sangat susah untuk dianalisis secara langsung. Sehingga Artificial Intelligence untuk permainan seperti itu lebih cenderung ke analisis parsial dengan membagi game tree menjadi sejumlah game tree yang lebih kecil. Salah satu cara untuk menciptakan Artificial Intelligence yang sesuai adalah dengan menganalisa seluruh game tree
IMPLEMENTASI
Dalam permainan TIC TAC TOE diperlukan beberapa strategi untuk dapat memenangkan permainan, dalam hal ini lawan yang harus dikalahkan adalah mesin atau komputer. Kita harus memiliki strategi untuk tiap konfigurasi papan. Karena papan yang dimainkan berukuran 3X3 atau dengan kata lain terdapat 9 buah kotak, yang setiap kotaknya dapat diisi dengan “X” atau “O” ataupun kosong. Total konfigurasi yang mungkin adalah 3 pangkat 9 yaitu 19683.
Pada tahap pertama, konfigurasi yang valid harus diperkirakan dengan baik. Pemain pertama “X” yang memulai terlebih dahulu, jumlah X dan O pada papan dan pada satu waktu harus sama. Sedangkan untuk peman kedua atau “O”, harus ada X terlebih dahulu yang jalan sebelumnya.
PENGATURAN SKOR
Kedua pemain yang secara bergantian saling melangkah akan menghasilkan dua buah populasi sebagai inisialisasi. Satu populasi untuk pemain X dan datu lagi untuk pemain O. Perbedaan antara pemain ‘X’ dan ‘O’ adalah pada pemain ‘X’ akan bertujuan untuk memenangkan permainan, karena memulai langkah terlebih dahulu. Dengan memulai terlebih dahulu, peluang untuk mendapatkan skor seri, adalah kecil. Sebaliknya, pemain ‘O’ akan berusaha untuk menahan pemain ‘X’ agar tidak memenangkan permainan, sehingga jika permainan berakhir seri, pemain ‘O’ menganggap sukses, apalagi jika berhasil memenangkannya. Berdasarkan tabel diatas, sebagi contoh, apabila pemain ‘X’ memiliki catatan 11-5-4 setelah 30 kali permainan, maka fitnes yang didapat adalah 49, sedangkan untuk ‘O’ adalah 65.
KESIMPULAN
Penggunaan konsep algoritma genetika yang baik yang dimasukan kedalam komputer pada permainan ini, diharapkan akan menghasilkan suatu strategi yang optimal dan efektif dalam memenangkan permainan TIC TAC TOE ini.


PLANTS VS ZOMBIE



Game Plants vs zombies adalah sebuah game pertarungan antara Zombie-zombie dan Plants(Tanaman-tanaman). Game ini seperti sebuah game yang  membentuk pertahanan agar musuh (zombie)  tidak bisa masuk ke markas (rumah) kita untuk memakan otak manusia.
1. Genre
Genre game ini adalah Tower Defense game. User menggunakan mouse dalam bermain game ini. Dalam bermain game ini user harus mengatur strategi dalam memilih dan menanam tanaman-tanaman yang disediakan untuk dapat memenangkan level-level yang ada. Terkadang user juga harus cukup cepat dalam menanam tanaman karena musuh yang datang cukup banyak dan membutuhkan tanaman yang berbeda – beda untuk mengalahkannya.
2. Tantangan
Tantangan dalam bermain game ini adalah mempertahankan halaman rumah yang diserang oleh zombies yang datang. User harus melawan zombies tersebut agar tidak masuk ke rumah user.
3. Gameplay
Sistem permainan game ini bertipe strategi. User menentukan ingin membawa tanaman-tanaman untuk melawan zombies yang akan menyerang. Setiap tanaman dan zombies memiliki keunikan masing-masing.Beberapa zombies memiliki kelemahan terhadap tanaman tertentu, sehingga user harus dapat mengatur strateginya dengan baik. Tanaman-tanaman yang tersedia juga memiliki keunggulan dan kelemahan yang berbeda-beda. Disamping itu, setiap tanaman juga memiliki harg yang perlu dibayarkan oleh user ketika ingin menanam tanaman tersebut. Pada bagian inilah game ini menghindari terjadinya the dominant strategy problem dan near dominance options. Harga setiap tanaman disesuaikan dengan kemampuannya sehingga mewujudkan keseimbangan terhadap nilai dar setiap tanaman yang tersedia.
4. Interface
Interface game ini sangat menarik karena pada tampilan menu disertai objek-objek gambar sesuai dengan tema game ini. Contohnya seperti menggunakan gambar batu nisan untuk tombol adventure, mini-games, puzzle, dan survival. Selain itu juga menggunakan metafora yang baik untuk tombol shop, zen garden, dan almanac.
5. Rules
Rules game ini adalah membatasi jumlah tanaman yang dapat dibawa oleh user. Selain itu jumlah kolom yang tersedia untuk menanam tanaman juga dibatasi. Terdapat juga beberapa tanaman yang hanya dapat ditanam pada kondisi tertentu.
6. Fitur
Salah satu fitur game ini yang paling utama adalah memberitahu user jenis-jenis zombies yang akan menyerang rumah user pada setiap level sebelum user mulai bermain. Hal ini membuat user perlu memikirkan strategi yang terbaik untuk melawan zombies tersebut.
7. Level design
Level design game ini dibuat dengan variasi kondisi waktu dan lahan.
Level yang berdasarkan waktu yaitu pada saat siang dan malam hari, hal ini berpengaruh terhadap tanaman-tanaman yang lebih berguna saat kondisi siang atau malam hari. Level yang berdasarkan lahan yaitu halaman depan (hanya tanah rumput), halaman belakang (terdapat kolam), dan atap rumah (harus menggunakan pot). Setiap level akan mempengaruhi tanaman-tanaman yang akan dibawa user.
Mode-mode dalam Game Plants Versus Zombie : 
Seperti yang kita lihat pada gambar diatas, Game ini terdiri dari 4 Mode, yaitu
1.      Adventure : pada mode ini kita bermain untuk melawan zombie. Game ini terdiri dari banyak level. Semakin tinggi level yang kita mainkan memiliki tingkat kesulitan tertentu. Final dari game ini adalah melawan Boss dari para zombie. Selain itu, kita juga akan mendapatkan kejutan setelah kita menyelesaikannya mode ini.
2.      Mini – Games : Games ini dapat kita mainkan apabila kunci dari game ini telah terbuka yakni sebuah kado yang kita dapatkan pada Adventure mode yang bertuliskan bahwa mode ini telah dapat dimainkan. Pada mode Mini Games, terdapat 20  game mini yang dapat kita mainkan dan apabila kita memenangkan game ini, kita akan mendapatkan throphy dan diminta untuk mengumpulkannya hingga lengkap 20.
3.      Puzzle : mode ini tidak dapat dimainkan apabila kita belum mendapatkan izin atau menyelesaikan Adventure Mode. Pada game ini terdapat 2 jenis.
a.      Vasebreaker : disini kita diminta untuk menyerang zombie-zombi dengan memecahkan vas yang bias saja berisi zombie atau tanaman-tanaman yang dapat membunuh zombie-zombie tersebut.

4.      Zombie : disini kita menjadi zombienya, dimana kita diminta untuk menyusun strategi agar dapat memakan memakan tanaman dan  memasuki markas.
Pada kedua mode ini kita dapat mengumpulkan throphy apabila menang dan melengkapinya.
5.      Survival : adalah mode pertarungan dimana kita akan mengatur strategi untuk mengalahkan zombie. Pada mode ini kita harus bertahan dengan serangan-serangan dari zombie-zombie di berbagai tempat dan waktu seperti pada Adventure Mode, misalnya diatap, kolam renang baik siang maupun malam hari. Plants vs. Zombies adalah permainan tower defense yang dibuat dan diluncurkan oleh PopCap Games untuk Microsoft Windows dan Mac OS X serta oleh induk perusahaannya, Electronic Arts untuk Android. Di dalam permainan ini, ada zombi yang menyerang rumah dan pemain harus menggunakan tanaman untuk menghadapi mereka. Permainan ini pertama kali diluncurkan pada tanggal 5 Mei 2009.  Versi iOS diluncurkan pada Februari 2010.  Versi Xbox Live Arcade diluncurkan pada tanggal 8 September 2010.  Ada juga versi Nintendo DS, Nintendo DSi, PS3 dan Android.  Versi Windows dan Mac mempunyai versi Game of the Year.
Saat bermain game ini kita diharuskan melawan para zombie – zombie yang bisa memakan apa saja termasuk otak kita. Semakin tinggi level yang kita mainkan, maka zombie yang menyerang akan semakin bervariasi sesuai dengan level dan tentunya akan menjadi sulit untuk dikalahkan. Selain itu tanaman-taman juga akan berkembang sesuai dengan kesulitan dari level yang kita mainkan. Jika suatu level telah terselesaikan maka sebuah bonus akan kita dapatkan yaitu tanaman baru, alat-alat baru. Selain itu, kita juga diharuskan untuk menyelesaikan Adventure Mode agar dapat memainkan mode-mode lainnya. Setiap game pasti punya kelebihan dan kekurangan, begitu juga dengan game yang satu ini. Kelebihan yang dimiliki oleh game ini yaitu, memiliki cerita yang menarik, kualitas gambar yang sangat baik, karakter dari tanaman dan zombie yang unik, serta banyak hal yang tak terduga dalam game ini sehingga permainan menjadi lebih hidup. Selain itu, banyak tingkatan yang menarik untuk bisa mengalahkan zombie-zombie, sehingga pemain secara tidak langsung dilatih untuk berfikir bagaimana strategi untuk mengalahkan musuh ini. Namun, disisi lain game ini memiliki kekurangan, seperti alur ceritanya yang singkat, game cenderung static.
 

Referensi :
BAB IX DYNAMIC PROGRAMMING (PEMROGRAMAN DINAMIS). Universitas Gunadarma