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).
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, manajemen memori dinamis, dan beberapa pengeksekusian secara bersamaan (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 bahasa pemrograman Java dapat digunakan untuk membuat game dengan GTGE.1
Gambar 2.1 GTGE Framework
1
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.
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. Strategy 3. 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.
4. Hasil dan Pembahasan 4. 1. Pembuatan Karakter
Untuk pembuatan desain sprite digunakan aplikasi online dengan situs internet.2 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
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.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
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
1. Game setting a. Fullscreen b. Bufferstrategy Berjalan baik Berjalan baik 2. Menu utama
a. Menu start game b. Menu story c. Menu controls d. Menu options
Pengaturan sound
Pengaturan level e. Menu high scores f. Menu credits g. Menu quit game
Berjalan baik Berjalan baik Berjalan baik Berjalan baik Berjalan baik Berjalan baik Berjalan baik Berjalan baik 3. 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.