GAME PACMAN
ADI NUGRAHA YUNANDA 50414234, AGUNG SOFYAN 50414489,
HIRZI KARAMI 55414006, NUR TAUFIK HIDAYAT 58414190
Jurusan Teknik Informatika, Fakultas Teknologi
Industri
Universitas Gunadarma
PENDAHULUAN
Perkembangan
teknologi komputer pada saat ini sangat pesat, dimana yang telah kita ketahui
dalam instansi pemerintahan maupun swasta, lebih mengutamakan menggunakan
teknologi komputer dalam menyelesaikan pekerjaannya, dan juga bagi para pelajar
atau mahasiswa/i serta dosen dalam mempermudahkan proses belajar mengajar .
Salah
satu perkembangan teknologi saat ini yang digemari oleh masyarakat luas yaitu
permainan (Games). Game merupakan sebuah alat untuk bermain dan refreshing yang
sangat berkembang akhir-akhir ini dalam lingkungan masyarakat. Saat ini game
telah berkembang menjadi sebuah alat ataupun media yang bisa digunakan sebagai
sarana belajar.
Permainan
yang dimaksud dalam 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.
Game
menjadi salah satu pilihan utama untuk mengisi waktu senggang setelah
berakifitas. Banyak game yang bermanfaat namun ada juga beberapa game yang
tidak layak dimainkan karena faktor kekerasan, pornografi, dan hal lain yang
berbau negatif, tentu keuntungan dan kerugian bermain game kembali terletak
pada orang memainkannya.
Oleh
karena itu kami sebagai penulis termotivasi mencoba membuat game yang bisa
bermanfaat bagi kita semua, yang juga sangat menarik, sarana informasi, nyaman
untuk dimainkan, serta cocok untuk segala umur. Dalam permasalahan diatas kami
sebagai penulis tertarik mengambil judul tugas akhir yaitu “Membuat Game PACMAN
Menggunakan Visual Basic”. Adapun tujuan pembuatan game pacman ini yaitu
·
Membuat game yang dapat mengasah otak.
·
Untuk memenuhi tugas mata kuliah
Softskill.
Terdapat
beberapa langkah dalam pembuatan game pacman. Langkah pertama, penulis
menentukn game engine yang ingin dipakai untuk membuat game. Langkah kedua,
menyiapkan gambar labirin, icon pacman beserta ghost dan suara. Langkah ketiga
yaitu membuat game itu sendiri.
PEMBAHASAN
Sekilas Tentang Visual Basic
Bill
Gates, pendiri Microsoft, memulai bisnis perangkat lunak dengan mengembangkan
interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia ubah agar dapat
berjalan di atas IBM PC dengan sistem operasi DOS. Perkembangan berikutnya
ialah diluncurkannya BASICA (basic-advanced) untuk DOS. Setelah BASICA,
Microsoft meluncurkan Microsoft QuickBasic dan Microsoft Basic (dikenal juga
sebagai Basic Compiler).
Visual
Basic adalah pengembangan dari bahasa komputer BASIC (Beginner’s All-purpose
Symbolic Instruction Code). Bahasa BASIC diciptakan oleh Professor John Kemeny
dan Thomas Eugene Kurtz dari Perguruan Tinggi Dartmouth pada pertengahan tahun
1960-an. Bahasa program tersebut tersusun mirip dengan bahasa Inggris yang
biasa digunakan oleh para programer untuk menulis program-program komputer
sederhana yang berfungsi sebagai pembelajaran bagi konsep dasar pemrograman
komputer.
Sejak
saat itu, banyak versi BASIC yang dikembangkan untuk digunakan pada berbagai
platform komputer, seperti Microsoft QBASIC, QUICKBASIC, GWBASIC, IBM BASICA,
Apple BASIC dan lain-lain.
Apple
BASIC dikembangkan oleh Steve Wozniak, mantan karyawan Hewlett Packard dan
teman dekat Steve Jobs (pendiri Apple Inc.). Steve Jobs pernah bekerja dengan
Wozniak sebelumnya (mereka membuat game arcade “Breakout” untuk Atari). Mereka
mengumpulkan uang dan bersama-sama merakit PC, dan pada tanggal 1 April 1976
mereka secara resmi mendirikan perusahaan komputer Apple. Popularitas dan
pemakaian BASIC yang luas dengan berbagai jenis komputer turut berperan dalam
mengembangkan dan memperbaiki bahasa itu sendiri, dan akhirnya berujung pada
lahirnya Visual Basic yang berbasis GUI (Graphic User Interface) bersamaan
dengan Microsoft Windows. Pemrograman Visual Basic begitu mudah bagi pemula dan
programer musiman karena ia menghemat waktu pemrograman dengan tersedianya
komponen-komponen siap pakai.
Hingga
akhirnya Visual Basic juga telah berkembang menjadi beberapa versi, sampai yang
terbaru, yaitu Visual Basic 2010. Bagaimanapun juga Visual Basic 6.0 tetap
menjadi versi yang paling populer karena mudah dalam membuat programnya dan ia
tidak menghabiskan banyak memori.
Sejarah
BASIC di tangan Microsoft sebagai bahasa yang diinterpretasi (BASICA) dan juga
bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan sebagai
gabungan keduanya. Programmer yang menggunakan Visual Basic bisa memilih kode
bahasa pemrograman yang dikompilasi atau kode yang harus bahasa pemrograman
yang diinterpretasikan sebagai hasil porting dari kode VB. Sayangnya, meskipun
sudah terkompilasi jadi bahasa mesin, DLL bernama MSVBVMxx.DLL tetap
dibutuhkan. Namun karakteristik bahasa terkompilasi tetap muncul (ia lebih
cepat dari kalau kita pakai mode terinterpretasi).
Game Pacman
Pac-Man
adalah sebuah permainan arkade yang dikembangkan Namco dan diterbitkan Midway;
dirilis di Jepang pada 22 Mei 1980. Awalnya dirilis di arkade saja, Pac-Man
yang masih populer hingga kini telah dirilis pula dalam platform lainnya
seperti Game Boy dan SNES. Perancang permainan ini adalah Toru Iwatani, yang
merupakan karyawan Namco.
Pemain
harus mengontrol tokoh berwarna kuning bernama Pac-Man dan membawanya
mengelilingi lorong berlika-liku sambil "memakan" titik-titik kecil
dan benda-benda khusus lainnya. Pada saat yang sama, terdapat empat
"hantu" yang berkeliling di lorong tersebut yang bertugas menangkap
Pac-Man. Sang pemain dapat menyelesaikan satu level (tingkat) jika berhasil
memakan seluruh titik dan benda khusus.
Pac-Man
kini dianggap sebagai salah satu permainan video klasik serta merupakan salah
satu ikon tahun 1980-an. Salah satu alasan kesuksesannya adalah bentuk
permainannya yang dapat digemari baik pria maupun wanita dibandingkan dengan
permainan arkade lainnya sebelum Pac-Man seperti Space Invaders dan Defender
yang merupakan permainan tembak-tembakan.
Pembuatan Game
Langkah
pertama, penulis menentukan aplikasi yang ingin dipakai untuk membuat game
pacman. Dalam hal ini, penulis menggunakan Microsoft Visual Basic 10.
Tampilan
Microsoft Visual Basic 10
Langkah
kedua menyiapkan beberapa hal yang diperlukan dalam pembuatan pacman, diantaranya
sebagai berikut:
Icon
pacman dan ghost
Untuk
mendapatkan icon pacman dan ghost, kami mendownload pada halaman web
http://www.tanduranilmu.id/2017/01/tutorial-programming-pemula-membuat.html
Gambar Icon Paman dan Ghost
Labirin(Area
Game Pacman)
Untuk
mendapatkan area pada game pacman, kami mendowload pada halaman web
http://www.tanduranilmu.id/2017/01/tutorial-programming-pemula-membuat.html
Gambar
Labirin
Suara
Dalam
game pacman ini terdapat suara, suara ini dibutukan dalam pacman ketika pacman berjalan,
memakan pil, kalah, menang, dan sirine pada saat pacman memakan pil besar.
Adapun file suara seperti pada gambar dibawah:
Suara
AI
pada Ghost
Pergerakan
para hantu ini dipengaruhi oleh kecerdasan buatan atau Artificial intelligence
(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. Kita ambil contoh dari keempat hantu itu, misalnya hantu yang berwarna
merah. Hantu merah ini memulai gerakannya diluar rumah hantu. Dan digambarkan
sebagai ancaman pertama yang muncul karena gerakannya hampir selalu di belakang
pemain, begitu juga untuk ketiga hantu yang lainnya, mereka memiliki
karakteristik masing-masing untuk mengejar target. Berikut merupakan tampilan
awal dari game Pacman :
Hantu
yang berwarna merah akan terus mengikuti targetnya, jika target ke kanan maka
hantu akan ke kanan, jika ke kiri maka dia juga ke kiri. Untuk hantu-hantu yang
lainnya juga memiliki kemampuan dan karakteristik yang berbeda, misalkan hantu
biru yang baru keluar dari rumah hantunya, dia ikut mengejar pemain, maka
dengan menggunakan kemampuan yang diprogramkan, dapat dilihat apakah saat
mengejar targetnya dia akan mendapat halangan (dinding labirin) atau tidak,
maka disinilah para hantu di berikan kecerdasan untuk mengambil sebuah
keputusan yang baik.
Cara
Kerja AI pada Game Pacman
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
karakter Pacman 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 diatas, 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 kiri Pacman,
namun musuh tidak bisa bergerak ke kanan
lagi karena terhalang dinding, setelah dicek, ternyata karakter musuh berada di
sebelah atas Pacman, maka sesuai dengan algoritma greedy 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[3]. Berikut tampilannya :
Solusi
yang telah dicapai oleh algoritma greedy hingga pada gambar 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 algoritma greedy cukup baik untuk mendapatkan hampiran-hampiran yang
mendekati solusi paling optimum tersebut[3].
Script AI Ghost
Private
Sub DoGhosts()
'------------------------------------------------------------------------------------------------------------------
' Purpose:
Handle all the ghosts in the game
'------------------------------------------------------------------------------------------------------------------
Dim
GhostMapX As Integer
Dim
GhostMapY As Integer
Dim
GhostX As Integer
Dim
GhostY As Integer
Dim GhostDir
As Integer
Dim
temp As String
Dim i As Integer
ReleaseGhostsTimer += 1
ReleaseGhostsTimer = ReleaseGhostsTimer
Mod 50
For i =
0 To 3
':: Fetch
coords ::
GhostMapX = Ghosts(i).GetMapX
GhostMapY = Ghosts(i).GetMapY
GhostX = Ghosts(i).GetX
GhostY = Ghosts(i).GetY
GhostDir = Ghosts(i).GetMoveDir()
'::
Release the ghosts one at a time ::
If Not Ghosts(i).IsActive Then
If
ReleaseGhostsTimer = 49 Then
ReleaseGhost = True
End
If
If
ReleaseGhost Then
If
Sync = 0 Then
GhostX = 204
GhostY = 222
GhostMapX = 14
GhostMapY = 11
Ghosts(i).SetMoveDir(Rnd() * 3)
Ghosts(i).SetActive(True)
ReleaseGhostsTimer = 0
ReleaseGhost = False
End
If
End
If
End
If
If
Sync = 0 Then
If
Not GotPowerPill Then
If
Ghosts(i).IsActive Then
If Ghosts(i).IsChaser Then
' Determine which axis needs the most attention: X or Y ...
' which one is the most out of alignment from pac's
coordinates
Dim DiffX As Integer
Dim DiffY As Integer
If PacX > GhostX Then
DiffX = PacX -
GhostX
Else
DiffX = GhostX - PacX
End If
If PacY > GhostY Then
DiffY = PacY -
GhostY
Else
DiffY = GhostY
- PacY
End If
' The axis that is further apart takes priority ...
If DiffX > DiffY Then
If GhostX > PacX Then
GhostDir =
1
Else
GhostDir =
0
End If
Else
If GhostY < PacY Then
GhostDir =
3
Else
GhostDir =
2
End If
End If
End If
End If
Else
':: Abort chase, move in the opposite direction --
pac has a power pill ::
Select
Case PacDir
Case 1
GhostDir = 1
Case 2
GhostDir = 0
Case 3
GhostDir = 3
Case 4
GhostDir = 2
End
Select
End
If
Membuat
file Exe
Pada menu vb10, pilih
Debug, pilih Build Pacman
Cara
Bermain Game Pacman
Pada tampilan awal game
tekan F2 untuk memuali permainan
Tekan
arah atas bawah kiri kanan untuk menggerakan pacman, misi pacman yaitu memakan
semua pil yang terdapat pada arena, pil dengan ukuran besar berfungsi sebagai
menjadikan pacman kebal terhadap ghost dan bisa memakan ghost. Pada game ini
terdapat 3 level, yaitu normal, menengah, dan yang terakhir waswas. Perbedaan
antara level terdapat pada kecepatan pergerakan pacman dan ghost, semakin
tinggi level, maka semakin cepat pacman dan ghost tersebut bergerak.
PENUTUP
Game pacman
dapat dibuat dengan aplikasi Microsoft visual basic. Pada aplikasi game ini
pemain dituntut untuk menghindari kejaran musuh dan memakan makanan yang
tersedia lalu bergerak ke finish untuk dapat memenangkan game ini hal ini
memicu pemain untuk dapat mengasah kecepatan berfikir dengan cermat dan tepat,
hal ini juga akan mengurangi dampak bahwa game pada awalnya yang hanya
berorientasi pada hiburan saja menjadi suatu sarana untuk mengasah otak.
Dalam pembuatan
aplikasi game ini masih banyak kekurangan dalam hal implementasi, baik dalam
segi tampilan permainan maupun fasilitas dalam permainan. Untuk pengembangan
lebih lanjut dapat dilakukan beberapa hal seperti penambahan mode permainan 2
player atau lebih.
DAFTAR PUSTAKA
http://igaph19.blogspot.com/2013/03/sekilas-mengenai-visual-basic.html
https://id.wikipedia.org/wiki/Pac-Man
http://abdanniputri.blogspot.co.id/2012/04/analisa-game-pacman.html
Tidak ada komentar:
Posting Komentar