TAMPILAN
PROGRAM GAME "TANK"
Pada tampilan utama program terdapat beberapa tombol beserta fungsinya masing –
masing, yaitu :
1. Mulai
game : Fungsinya untuk masuk ke game yang kita ingin mainkan.
2.
Petunjuk : Fungsinya untuk melihat cara bermain dan hal” lain mengenai game.
3.
Tentang Pembuat Game: Fungsinya untuk melihat profil dari pembuat Game.
4.
Tambahan Program : Fungsinya untuk melihat program lain buatan Developer.
Tampilan
Menu Game
Tampilan
Saat Game Running pada Tahap 1 (saat memilih START)
Seperti
itulah tampilan pada saat kita memulai memainkan game dengan mengklik tombol
Start,berikut ini adalah keterangan dari masing” menu :
Menu Bar
:
1. Mulai
Baru : Berfungsi untuk memulai permainan baru dari awal.
2. About
: Berfungsi untuk melihat mengenai developer.
3. Exit :
Untuk keluar dari game.
Menu Pada
Layar Tampilan
• Button
1 : untuk membuka layar help (bantuan cara bermain)
• Button
2 : Level Amatiran
• Button
3 : Level Normal
• Button
4 : Level Medium
• Button
5 : Level Hard
Segitiga
bewarna merah putih adalah Player,sementara segitiga biru adalah musuh. Ketika
highscore kita meewati batas tertentu,yakni 10 maka kita akan memasuki tahap
berikutnya.
Tampilan
Saat Game Running pada Tahap 2
Pada
Tampilan diatas, ada beberapa menu yaitu :
1.
Pilihan => yang berisi menu pilihan new game dan exit
2. Level
=> berisi pilihan level
3.
Bantuan => berisi menu help
4. About
=> hal – hal mengenai game
Disebelah
Kiri,terdapat player yang melawan AI yang ada di sebelah kanan, mereka berdua
berlindung dibalik tembok,dan saling membak untuk mengalahkan.
Tampilan Saat Game Running pada Tahap 3
Pada
tahap ketiga,player bertarung satu lawan satu dengan AI, yang merupakan Boss
dari musuh. Player adalah tentara berbaju hijau yang bila menyerang akan
berubah menjadi baju hitam. AI adalah orang berbaju putih yang Nampak seperti
seorang samurai. Ketika player menang,itu berarti game ini berhasil
diselesaikan.
Cara
Bermain dan Aturan ( Rules)
Identifikasi
ruang permainan ini dilambangkan dengan sebuah layar utama dan beberapa layar
tambahan, dimana layar ini akan menjadi tempat dimana permainan berlangsung.
Pemain hanya terdiri dari Player dan Musuh (AI).
Aturan-aturan
pada game ini adalah
1.
Dimainkan oleh dua pemain. Dimana pemain pertama adalah player dan pemain kedua
adalah AI.
2. Player
harus menang di satu tahap untuk maju ke tahap berikutnya.
Pada
tahap 1 :
• Pemain
saling menembak untuk menjatuhkan lawan.
• Pemain
diberikan 2 macam senjata,yakni senjata biasa (tombol space) dan senjata khusus
(tombol q) dengan ketentuan
• Jika
menembak dengan senjata biasa maka score ditambah Satu
• Jika
menembak dengan senjata khusus maka score dikurangi Satu
• Player
akan kalah apabila terkena serangan (tembakan) dari musuh atau bertabrakan
dengan player lain.
• Score
dari player akan dihitung untuk menentukan high score.
Pada
tahap 2 :
• Player
dan AI saling menembak dalam jangka waktu yang disediakan
• Ketika
waktu habis akan dihitung sisa nyawa yang tersisa,dan nyawa yang paling banyak
yang menjadi pemenangnya.
Pada
tahap 3 :
• Player
dan AI berhadapan satu lawan satu dengan saling memukul,setiap pukulan berbeda
– beda efek yang ditimbulkannya,serangan
khusus mempunyai efek pengurang nyawa yang lebih banyak.
• Ketika
salah satu ada yang kehabisan nyawa,maka yang lainnya menjadi juara
• Ketika player menyelesaikan ketiga buah
tahap,maka player dinyatakan menang.
Tampilan
pada saat telah menyelesaikan 3 tahap
Konsep
AI (Algoritma)
Kecerdasan
buatan dalam game tank ini terletak pada ketika musuh mampu membaca pergerakan
player dengan menembakkan tembakan dengan tujuan untuk mengalahkan player. Disisi
lain player harus menghindari tembakan dan menambah score setinggi mungkin.
Taktik
permainan diperlukan player agar bias menghindari tembakan dan menembak musuh
dengan tepat untuk mendapatkan hasil skor yang maksimal. Kecerdasan buatan
merupakan studi yang mengupayakan komputer berfiki cerdas . Suatu proses yang
menggunakan alat bantu ( tools ) secara mekanik dapat melaksanakan serangkaian
kejadian dengan menggunakan pemikiran atau kecerdasan yang seperti dimiliki
oleh manusia.
Komputer
berpikir hanya dengan perhitungan, komputer tidak mempunyai intuisi yang
menggunakan perasaan. Sebagai gantinya, komputer mempunyai daya perhitungan
yang jauh lebih besar daripada manusia. Ketika diberikan sebuah posisi
tertentu, sama seperti manusia komputer juga melakukan perhitungan simulasi
permainan untuk valid moves yang tersedia. Komputer memperhitungkan apabila
koordinat dari posisi player memungkinkan player untuk ditembak ,maka AI akan
menembakkan senjatanya. Seperti itu lah cara kerja AI yang ada di gamenya.
Algoritma
yang digunakan dalame game ini adalah :
Algoritma
Brute force
Brute
force merupakan pendekatan langsung untuk memecahkan suatu masalah yang
biasanya didasarkan pada pernyataan masalah dan definisi konsep yang
dilibatkan. Algoritma brute force cenderung membabi buta,mencoba semua
kemungkinan,sederhana /simple. Karakteristik algoritma brute force :
1. Tidak
cerdas & tidak efisien (mangkus)
2. Karena
membutuhkan jumlah langkah yang besar
3. Lebih
cocok untuk masalah kecil
4. Karena
algoritma ini sederhana dan implementasinya mudah
5. Bisa
menyelesaikan semua masalah
6.
Walaupun tidak efisien,ada beberapa kasus yang hanya bisa diselesaikan dengan
metode ini,contohnya adalah mencari elemen terbesar pada suatu rangkaian angka.
Pada game
ini,penggunaan algoritma brute force digunakan pada saat penghitungan high
score,dimana untuk mendapatkan high score dilakukan perhitungan satu persatu
sesuai dengan nilai yang didapatkan dengan menembak jatuh lawan baik dengan
senjata biasa (+1 score) ataupun dengan senjata khusus (-1 score).
Algoritma
AI
Algoritma
Artificial Intelligence (AI) adalah sesuatu buatan/tiruan yang cerdas.
Cerdasnya yakni kepandaiannya dalam berfikir selayaknya seperti manusia dalam
menyelesaikan suatu masalah, mengambil keputusan dan melakukan tindakan. Pada
system ini pengetahuannya berasal dari pengetahuan manusia dan sumber
penambahan informasi lain seperti buku, dokumentasi, dan data-data refensi yang
mendukung pada basis pengetahuan AI.
Pembuatan
musuh yang bias menembak dan membaca pergerakan player pada game ini
menggunakan algoritma AI.
Forward
Chaining
Karena
dalam pengambilan keputusan tindakan digunakan aturan” berdasarkan timer yang
berjalan,maka algoritma forward chaining digunakan pada tahap 2.
Algoritma DFS
DFS berarti semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. Dalam penentuan pergerakan pemain pada Tahap 3 digunakan algoritma DFS untuk menentukan respon mana yang harus diambil oleh AI.
Algoritma DFS
DFS berarti semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. Dalam penentuan pergerakan pemain pada Tahap 3 digunakan algoritma DFS untuk menentukan respon mana yang harus diambil oleh AI.
Contoh Listing Program:
%==================================================================
%--------------------Dekalrasi
Variabel ----------------------------
%==================================================================
?-
G_wall1 is bitmap_image("gambar//tank3.bmp",_),
G_wall2 is bitmap_image("gambar//turquoise2.bmp",_),
G_wall3 is bitmap_image("gambar//white.bmp",_),
G_HighScore := 0, G_LastShipWay := 0,
G_player_color is brush("gambar//G_Cap.bmp"),
G_enemy_color:=brush(rgb(0,128,255)),
G_Red:=brush(rgb(255,100,100)),
G_waktu1:=11,
G_aksi_red:=0,
G_aksi_blue:=0,
G_level:=1,
G_life_red:=99,
G_life_blue:=99,
G_zero:=0,
G_Tentaranembak1 is bitmap_image("tembak\\Tentaranembak1.bmp",_),
G_Tentaranunduk1 is bitmap_image("tembak\\Tentaranunduk1.bmp",_),
G_Tentaraketembak1 is bitmap_image("tembak\\Tentaraketembak1.bmp",_),
G_Tentaranembak2 is bitmap_image("tembak\\Tentaranembak2.bmp",_),
G_Tentaranunduk2 is bitmap_image("tembak\\Tentaranunduk2.bmp",_),
G_Tentaraketembak2 is bitmap_image("tembak\\Tentaraketembak2.bmp",_),
G_Pelurubiru is bitmap_image("tembak\\pelurubiru.bmp",_),
G_Pelurumerah is bitmap_image("tembak\\pelurumerah.bmp",_),
G_Dorblue is bitmap_image("tembak\\dor_blue.bmp",_),
G_Dorred is bitmap_image("tembak\\dor_red.bmp",_),
G_Tembok is bitmap_image("tembak\\Tembok.bmp",_),
G_Timeup is bitmap_image("tembak\\timeup.bmp",_),
G_white is bitmap_image("tembak\\white.bmp",_),
G_timeblock is bitmap_image("tembak\\timeblock.bmp",_),
G_cleantime is bitmap_image("tembak\\cleantimeup.bmp",_),
G_background is bitmap_image("bruce\\latar1.bmp",_), G_char1 isbitmap_image("bruce\\char1.bmp",_),
G_char2 is bitmap_image("bruce\\char2.bmp",_),
G_char1pukul is bitmap_image("bruce\\char1-1.bmp",_), G_char1tendang is bitmap_image("bruce\\char1-2.bmp",_),
G_char2pukul is bitmap_image("bruce\\char2-1.bmp",_),G_char2tendang is bitmap_image("bruce\\char2-2.bmp",_),G_char1ulti is bitmap_image("bruce\\char1-3.bmp",_),
G_x1:=30,
G_y1:=350,
G_x1lawan:=680,
G_y1lawan:=355,
G_waktu:=40,
G_darah1:=320,
G_darah2:=300,
G_jarak:=0,
G_level:=1,
%==================================================================
%----------------------Window
Utama--------------------------------
%==================================================================
window(G_form1,_,win_func(_),"Yongki
Mayongga",150,50,1024,600).
win_func(paint):-
draw_bitmap(0,0,G_wall1,_,_),
button(_,_,mulai(_),"Mulai
Game",720,50,250,40),
button(_,_,help(_),"Petunjuk",720,100,250,40),
button(_,_,about(_),"Tentang
Pembuat Game",720,150,250,40),
button(_,_,other(_),"Tambahan
Program",720,200,250,40),
button(_,_,keluar0(_),"Keluar",720,250,250,40),
fail.
%==================================================================
%--------------------Fungsi
Dari Button----------------------------
%==================================================================
other(press):-
close_window(G_form1),
execute("INFIXTOPOSTFIX.exe").
keluar0(press):-
beep("sound//crow.wav"),
close_window(G_form1).
keluar(press):-
beep("sound//crow.wav"),
close_window(G_form9).
keluar1(press):-
beep("sound//crow.wav"),
close_window(G_form10).
about(press):-
message("Sekilas
Tentang Pembuat Game ", "Game Pengantar Kecerdasan Buatan - LabTI
\nUniversitas
Gunadarma\nPembuat: Yongki Mayongga\nKelas: 3IA06",i),
text_out(10, 10, "=========================="),
text_out(10, 30, "===Laboratorium
Informatika==="),
text_out(10, 50, "===Universitas
Gunadarma===="),
text_out(10, 70, "==========================="),
text_out(10, 90, "======Yongki
Mayongga======"),
text_out(10, 110, "======3IA06 /
57411570======"),
text_out(10, 125, "==========================").
help(press):-
message("Sekilas
Tentang Game ",
"\tGame
ini bertujuan untuk mengalahkan lawan
\tdengan
menembak dan menghancurkan lawan\n\tDapatkan Highscore tertinggi ^^.",i).
%==================================================================
%--------------------Fungsi
Button Mulai---------------------------
%==================================================================
%------------------------Window
Game-------------------------------
%==================================================================
mulai(press):-
window(G_form9,_,tembak(_),"Menu
Game",100, 100, 310, 310),
set_active_window(G_form9),
close_window(G_form1).
tembak(init):-
animate(_, _, fail(_), "video//bz.avi", 0, 0),
menu( normal, _, _, utama(_), "&Halaman Utama"),
menu( normal, _, _, start(_), "&Start"),
%menu(
pop_up, _, _, menu_level(_), "&Level"),
menu( normal, _, _, help(_), "&Help"),
menu( normal, _, _, keluar(_), "&Exit"),
fail.
menu_level(init):-
menu( normal, _, _, level_easy(_), "Tahap I"),
menu( normal, _, _, level_medium(_), "Tahap II"),
menu( normal, _, _, level_hard(_), "Final Stage"),
fail.
start(press):-
message("Cara
Bermain Game ",
"\tPilihlah
level yang diinginkan
\tdengan
menekan tombol 2,3,4,5
\ttekan 1
untuk melihat tombol",!),
level_easy(_),
fail.
help(press):-
message("Sekilas
Tentang Game ",
"\tGame
ini bertujuan untuk mengalahkan lawan
\tdengan
menembak dan menghancurkan lawan\n\t^^.",i).
utama(press):-
message("Back", "Kembali Ke Menu Utama",!),
close_window(G_form9),
window(G_form1,_,win_func(_),"Yongki
Mayongga",150,50,1024,600).
set_active_window(G_form1),
fail.
level_easy(press):-
close_window(G_form9),
window(G_form3,_,yongki(_),"Tank",100, 100, 490, 450).
set_active_window(G_form3).
Tidak ada komentar:
Posting Komentar