PERANCANGAN GAME “DIANO DIZZY” BERBASIS JAVA J2SE
Naskah Publikasi
diajukan oleh Fajar Ari Wibowo 07.11.1685
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2011
DESIGNING GAME ”DIANO DIZZY“ JAVA-BASED J2SE
PERANCANGAN GAME “DIANO DIZZY” BERBASIS JAVA J2SE
Fajar Ari Wibowo Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Very rapid technological developments of today caused the need for greater technology. Including one of which is a gaming technology. Game is a combination of graphics, sounds, and animations that can be enjoyed by everyone. Gaming technology is currently developing that has been capable of displaying a variety of stories and interesting effects to be played as a fun entertainment media to relaxation people are too busy by the work that is less time for entertainment. Thus the drafters wanted to design a game entitled "Diano Dizzy" suitable for all ages. According to the type of computer games (Game Genres) "Diano Dizzy" included in this type of adventure game. Game "Diano Dizzy" also has some features such as game instructions, see the high score, change the setting of the level of play, and others that facilitate in making the game. This game made using Java J2SE with NetBeans 6.9 and use Library GTGE a free license (Open Source). Keywords : 2D games, java, library GTGE, J2SE
1.
Pendahuluan Seiring berkembangnya Teknologi Informasi dan Komunikasi yang pesat saat ini,
teknologi game luar biasa dirasakan perkembangannya oleh masyarakat. Game dapat digunakan sebagai media hiburan dan bahkan dalam dunia pendidikan. Game merupakan salah satu industri besar di dunia saat ini. Perkembangan game begitu pesat dengan jenis yang beragam, mulai dari game yang hanya dapat dimainkan oleh satu orang saja, hingga yang dapat dimainkan oleh beberapa orang sekaligus. Game yang paling digemari saat ini adalah game online, dimana user dapat berinteraksi dengan semua pemain lain melalui koneksi internet. Teknologi game yang berkembang saat ini telah mampu menampilkan berbagai macam cerita, grafis dan efek yang menarik untuk dimainkan. Begitu banyaknya game saat ini diperlukan sebagai media hiburan yang menyenangkan untuk relaksasi pelajar maupun orang-orang yang disibukkan oleh pekerjaan sehingga waktu untuk hiburan dirasa kurang. Berdasarkan hal di atas tersebut, penulis ingin membuat sebuah game yang menarik menggunakan bahasa pemrograman java dengan NetBeans 6.9 dan library GTGE (Golden T Game Engine) yang merupakan sebuah 2D Game Library / Game SDK (Software Development Kit) untuk membuat game yang berkualitas. Game yang dibuat penulis merupakan game yang berbasis J2SE (Java 2 Standart Edition) atau game yang dijalankan di desktop. Game ini menceritakan tentang tokoh utama yang mencari jalan keluar, dan untuk mencari pintu keluar itu user dituntut untuk berpikir logis agar bisa menyelesaikan misi di tiap levelnya. Sesuai dengan topik yang telah dipaparkan di atas, maka penyusun mengambil judul : “Perancangan Game Diano Dizzy Berbasis Java J2SE”. Judul game Diano Dizzy berasal dari kata Diano dan Dizzy. Diano merupakan nama dari tokoh utama dari game ini. Sedangkan Dizzy merupakan bahasa Inggris yang diterjemahkan dalam bahasa Indonesia berarti pusing. Jadi, game “Diano Dizzy” berarti sebuah tokoh bernama Diano yang pusing (dizzy) dalam mencari pintu keluar. Itulah alasan penyusun mengambil judul game tersebut.
2.
Landasan Teori
2. 1. Java Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Java adalah bahasa pemrograman berorientasi-objek yang serbaguna. Bahasa ini menyediakan sejumlah perluasan yang didukung pengembangan aplikasi GUI, dan juga pengembangan aplikasi client/server terhadap jaringan lokal (LAN) atau jaringan luas (WAN). Java merupakan kumpulan bentuk dan sifat-sifat yang telah dikenal pada bahasa-bahasa pemrograman seperti C, C++, Objective-C, Smaltalk, dan Common Lisp. Dari Objective-C, Java memakai konsep antarmuka dari Smalltalk, Java meminjam model ekstensibilitas sewaktu pengesekusian, pengeksekusian
secara
bersamaan
manajemen memori dinamis, dan beberapa (multithreading)/terhadap
hal-hal
ini,
Java
menambahkan keamanan, paradigma pemrograman yang sederhana, dan banyak lagi. 2. 2. Golden T Game Studio (GTGE) Golden T Game Engine (GTGE) merupakan sebuah 2D Game Library / Game SDK (Software Development Kit) untuk membuat game yang berkualitas. GTGE merupakan kumpulan
fungsi
bahasa
pemrograman
Java
(pustaka
Java),
artinya
pemrograman Java dapat digunakan untuk membuat game dengan GTGE.
Gambar 2.1 GTGE Framework
1
http://www.goldenstudios.or.id/products/GTGE/tutorials/
1
bahasa
GTGE merupakan suatu pustakan lapisan tingkat tinggi (High Level Interface), artinya programer tidak usah memikirkan perintah tingkat rendah lagi ( yang berhubungan dengan hardaware). GTGE mencoba menutupi (namun tidak mengunci ) fungsi tingkat rendah tersebut dengan menempatkan programmer pada lapisan paling baik agar programmer dapat membuat game dengan senyaman mungkin. Singkatnya GTGE merupakan kumpulan fungsi-fungsi siap pakai untuk membuat game, seperti untuk penggambaran ke layar, polling keyboard dan mouse, pemanggilan suara atau musik, dll. Fungsi-fungsi inilah yang disebut dengan GameEngine. GTGE membuat class berdasarkan fungsi-fungsi tertentu (membuat class untuk fungsi grafis), dan mengelompokkan class-class yang berkarakteristik sama (misalnya class-class engine) ke dalam sebuah package. Seperti skema/ruang lingkup GTGE Library.
Gambar 2.2 GTGE Library Setelah melihat ruang lingkup GTGE diatas, dapat menyimpulkan bahwa terdapat 3 package utama dalam GTGE : 1. Package com.golden.gamedev Package ini berisi kumpulan class inti.
Gambar 2.3 Package Fondasi
2. Package com.golden.gamedev.engine Package ini berisi class-class engine GTGE.
Gambar 2.4 Engine Package 3. Package com.golden.gamedev.object Package ini berisi class-class objek game.
Gambar 2.5 Game Objeck Package 2. 3. Jenis-Jenis Game 1. Game Berdasarkan View Screen a. Game Applet b. Game Window c.
Game Full Screen
2. Game Berdasarkan View Platform a. Arcade Games b. PC Games c.
Console Games
d. Handheld Games e. Mobile Games 3. Game Berdasarkan Jenis Permainan (Game Genres) a. Action
b. Adventure c.
Educational
d. Fighting e. Racing f.
Role-Playing Game (RPG)
g. Shooter h. Sports i.
3.
Strategy
Analisis
3. 1. Analisis Kebutuhan Sistem Pada analisis kebutuhan sistem akan dibagi menjadi 2 bagian diantaranya sebagai berikut : 1. Analisis kebutuhan sistem fungsional a. Sistem harus dapat melakukan entri nama dari pengguna sebagai inisial. b. Sistem harus dapat melakukan penghitungan point dari setiap level. c.
Sistem harus dapat mengaktifkan sound dan mematikkan sound.
d. Sistem harus dapat menjalankan level yang dipilih oleh pemain. 2. Analisis kebutuhan sistem non fungsional a. Perangkat Lunak 1) Microsoft Windows XP sebagai sistem operasinya. 2) Java untuk bahasa pemrograman. 3) GTGE sebagai engine game agar game dapat berjalan. 4) XML untuk melakukan penyimpanan data. 5) Program-program lain yang mendukung sistem. b. Perangkat Keras Minimum recommended 1) Pentium 4 1 Ghz – 2.5 Ghz 2) Memory 512 Mb. 3) VGA On Board. 4) Sound tersedia c.
Pengguna
3. 2. Perancangan Sistem 1. Use Case Diagram
Dari hasil analisa jalannya proses game “Diano Dizzy” ini memiliki satu pengguna. Satu pengguna tersebut memiliki beberapa peranan yang terbagi menjadi 7 buah case yang setiap case mempunyai fungsinya sendiri.
Gambar 3.1 Use Case Diagram
2. Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Gambar 3.2 Activity Diagram
4.
Hasil dan Pembahasan
4. 1. Pembuatan Karakter 2
Untuk pembuatan desain sprite digunakan aplikasi online dengan situs internet. Di situs tersebut terdapat pilihan gaya rambut, tambahan rambut, kostum, jubah, dekorasi, ornamen dan bonus yang dapat dirangkai menjadi sebuah sprite yang diinginkan.
Gambar 4.1 Karakter Utama (Diano)
Gambar 4.2 Karakter Musuh
4. 2. Pengaturan Gerak Sprite
Gambar 4.3 Sprite public static final int[]animation = new int[][] { { 10, 11, 10, 9 }, // right animation { 4, 5, 4, 3 }, // left animation { 1, 2, 1, 0 }, // up animation { 7, 8, 7, 6 } }; // down animation
4. 3. Pembuatan Map/Peta Pembuatan peta dilakukan melalui program NetBeans dengan cara menjalankan file MapBuilder.java yang terdapat di package diano. Setelah menjalankan file
2
http://www.famitsu.com/freegame/tool/chibi/index1.html
MapBuilder.java maka akan muncul tampilan untuk membuat map seperti pada gambar 12 di bawah ini.
Gambar 4.4 MapBuilder 4. 4. Hasil Karya Game 1. Game Setting Pada saat game pertama kali dijalankan maka akan muncul sebuah window yang di dalamnya terdapat pengaturan tampilan fullscreen dan bufferstrategy.
Gambar 4.5 Game Setting 2. Loading GTGE Gambar di bawah adalah loading game yang muncul setelah tombol OK dipilih. Tampilan ini sebagai penanda game “Diano Dizzy” menggunakan framework dari GTGE.
Gambar 4.6 Loading GTGE 3. Menu Utama Pada menu utama terdapat 7 pilihan menu diantaranya start game, story, controls, options, high scores, credits dan quit game.
Gambar 4.7 Menu Utama
4. Menu Story Menu story menampilkan cerita yang berkaitan dengan game “Diano Dizzy”. Di dalam game ini diceritakan seseorang yang bernama Diano yang pusing menemukan pintu keluar yang tersembunyi. Pemain diharapakan membantu Diano dalam berpetualang.
Gambar 4.8 Menu Story 5. Menu Controls Di dalam menu control terdapat 3 buah tampilan, yaitu sebagai berikut :
Gambar 4.9 Menu Controls 1
Gambar 4.10 Menu Controls 2
Gambar 4.11 Menu Controls 3 6. Menu Options Menu options digunakan untuk mengatur sound dan memilih level pada saat bermain game. Sound dapat diaktifkan maupun dimatikan. Pemain juga dapat memilih level easy, normal atau hard.
Gambar 4.12 Menu Options 7. Menu High Scores Menu high score menampilkan 10 posisi teratas berdasarkan poin yang diperoleh pemain saat memainkan game.
Gambar 4.13 Menu High Score 8. Menu Credits Menu credit menampilkan info pembuat game “Diano Dizzy”.
Gambar 4.14 Menu Credits 9. Gambaran Setiap Level Game “Diano Dizzy” memiliki 10 level. Setiap level memiliki tingkat kesulitan yang berbeda, mulai dari waktu yang diberikan untuk menyelesaikan tiap level dan jumlah musuh yang terdapat dalam map/peta
Gambar 4.15 Gambaran Setiap Level
4. 5. Instalasi Pembuatan game “Diano Dizzy” menggunakan fasilitas serta library GTGE, maka game ini bersifat open source dan multiplatform (dapat berjalan di semua sistem operasi). Dengan mengeksekusi file dengan ekstensi .jar seperti pada gambar 24 game
“Diano Dizzy” akan langsung berjalan. File yang dieksekusi berupa file dengan ekstensi .jar,
ini membuktikan bahwa game ini dibuat
dengan menggunakan bahasa
pemrograman java.
Gambar 4.16 diano.jar 4. 6. Pengujian Pengujian game dilakukan untuk meminimalkan kesalahan yang ada pada game tersebut. Dengan melakukan pengujian akan membuat game lebih sempurna walaupun terkadang pada saat pengujian tidak ditemukan sedikitpun. Tabel 4.1 Hasil Pengujian No.
Fungsi
Status
Game setting 1.
a. Fullscreen
Berjalan baik
b. Bufferstrategy
Berjalan baik
Menu utama a. Menu start game
Berjalan baik
b. Menu story
Berjalan baik
c.
Berjalan baik
Menu controls
d. Menu options 2.
3.
Pengaturan sound
Berjalan baik
Pengaturan level
Berjalan baik
e. Menu high scores
Berjalan baik
f.
Menu credits
Berjalan baik
g. Menu quit game
Berjalan baik
Fungsi level 1 - 10
Berjalan baik
5.
Penutup
5.1
Kesimpulan Berdasarkan analisis, perencanaan, implementasi dan pembahasan yang yang
telah dilakukan dalam pembuatan game “Diano Dizzy”, dapat diambil kesimpulan sebagai berikut :
1. Game “Diano Dizzy” dapat berjalan di semua sistem operasi karena java merupakan multiplatform. 2. Game “Diano Dizzy” dapat berjalan dalam pilihan fullscreen atau mode windowed, tergantung si pengguna. 3. Game “Diano Dizzy” dapat dijadikan sarana hiburan bagi anak-anak maupun orang dewasa. 4. Pemanfaatan library GTGE sangatlah efektif untuk membangun sebuah game 2 dimensi berbasiskan java.
5.2
Saran Terdapat beberapa hal mungkin dapat dijadikan refrensi untuk pengembangan
aplikasi game tersebut : 1. Game yang telah dibangun masih belum sempurna, dalam hal ini belum adanya fitur save dan load untuk menyimpan hasil dari permainan maka ketika user berhenti di level tertentu, user harus memulai kembali dari awal permainan. Diharapkan
kedepan
ada
yang
mampu
memberikan
perbaikan
untuk
penambahan fitur save dan load. 2. Game ini masih single player, penulis mengharapkan di masa depan dapat dikembangkan menjadi multiplayer sehingga akan menjadi lebih ramai dan asyik. 3. Game ini masih menggunakan teknologi 2 dimensi, diharapkan kedepan dapat dikembangkan dalam bentuk game 3 dimensi yang mampu menambah game ini menjadi lebih hidup dan nyata.
DAFTAR PUSTAKA
Anonim. _____. _____, http://www.famitsu.com/freegame/tool/chibi/index1.html, diakses 23 Januari 2011. Anonim. _____. Index of / products / GTGE / tutorials, http://www.goldenstudios.or.id/products/GTGE/tutorials/, diakses tanggal 10 Januari 2011. Fowler, M. 2005. UML Distilled Edisi 3, Panduan Singkat Bahasa Pemodelan Objek Standar. Yogyakarta : Andi Offset. Leonardo, Ian. 2003. Pemrograman Java 2D. Jakarta : PT Elexmedia
Komputindo.