Beranda > Tugas Kuliah > Game Pacman

Game Pacman

Adi Nugraha Y 50414234 3ia03
Rabu, 12 Juli 2017

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

  1. Membuat game yang dapat mengasah otak.
  2. 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.

Gambar 1 : Tampilan Microsoft Visual Basic 10

Langkah kedua menyiapkan beberapa hal yang diperlukan dalam pembuatan pacman, diantaranya sebagai berikut:

Icon Paman 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 2 : Gambar Icon Pacman 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 3 : 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:

Gambar 4 : 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 :

Gambar 5

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 :

Gambar 6

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 :

Gambar 7

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.

Gambar 8

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 :

Gambar 9

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 :

Gambar 10

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 :

Gambar 11

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 :

Gambar 12

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

Gambar 13

Setelah sukses cari file exe pada folder debug dalam project

Gambar 14

Cara Bermain Game Pacman

Gambar 15

Pada tampilan awal game tekan F2 untuk memuali permainan

Gambar 16

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


Link Project : https://drive.google.com/open?id=0B_1aWTJvIr-eZENSSTJOTUhxcHM

Tidak ada Komentar

Posting Komentar

Cancel Reply
>
Drawing codeSyalalala!