PENGIMPLEMENTASIAN JAVA DENGAN GOLDEN-T GAME ENGINE DALAM PEMBUATAN ROLE PLAYING GAME
“ SATRIA GARUDA”
Disusun sebagai salah satu syarat kelulusan Jenjang Diploma Tiga dan gelar Ahli Madya
Jurusan Teknik Informatika
Disusun oleh:
YUSAN MEDHIEKA PUTRA 07.01.2460
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER A M I K O M YOGYAKARTA
NASKAH PUBLIKASI
TUGAS AKHIR
PENGIMPLEMENTASIAN JAVA DENGAN GOLDEN-T GAME ENGINE DALAM PEMBUATAN ROLE PLAYING GAME
“ SATRIA GARUDA” disusun oleh
YUSAN MEDHIEKA PUTRA N.I.M 07.01.2460
Telah disetujui oleh Dosen Pembimbing Tugas Akhir Pada Tanggal 10 Mei 2010
Dosen Pembimbing,
HANIF AL-FATTA, M.KOM NIK 190302096
Ketua Jurusan Teknik Informatika
Sudarmawan, MT NIK. 190302035
IMPLEMENTION OF JAVA AND GOLDEN-T GAME ENGINE IN MAKING ROLE PLAYING GAME
“ SATRIA GARUDA”
IMPLEMENTASI JAVA DENGAN GOLDEN – T GAME ENGINE DALAM PEMBUATAN ROLE PLAYING GAME
“ SATRIA GARUDA”
Yusan Medhieka Putra Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
Role playing game is a game where there is an imaginary character and created a story line. Players control the actions of the characters in the game, to reach the goal with atuaran - existing rules and requirements - requirements / quest that must be met, using an engine, programmers will be easier to build an RPG game.
In this final project created a game that implements the Java engine to make GTGE and Garuda Satria game with RPG type game, with a character named Garudea a duty to eradicate demons and monsters who control the State Askaban, Garudea also have to practice to improve its ability to be able to defeat devil, robbers ,monsters ,demons and palace guards.
By using GTGE engine is expected to produce a game with the type Playimg Role Game, and facilitate in making the Games RPG programmers that can be used for entertainment and recreation facilities for those who play the games created.
1. PENDAHULUAN
Perkembangan komputer saat ini sangatlah pesat , hampir semua bidang pekerjaan dan aktifitas manusia sudah menggunakan komputer, bukan hanya sebagai alat untuk menyelesaikan pekerjaan saja , dewasa ini komputer juga dimanfaatkan untuk sarana entertainment dan hiburan, salah satunya adalah Game.
Perkembangan game juga mengikuti perkembangan komputer yang sangat pesat, game menjadi salah satu sarana hiburan dan sarana rekreasi yang menjadi favorit masyarakat luas, game telah digemari berbagai kalangan baik anak – anak , remaja maupun orang tua, sehingga muncul beberapa tipe game baik yang bersifat entertainment maupun edukatif.
Salah satu tipe game yang digemari saat ini adalah game yang bertipe Role ( RPG), dimana pemain bisa mengontrol satu atau lebih karakter yang ada dalam game, selain itu dalam permainan ini pemain akan melakukan peningkatan kemampuan statistic karakter seperti kekuatan, kekuatan magis, keterampilan menggunakan pedang dan sejenisnya serta mengumpulkan barang-barang seperti baju besi , obat, ramuan dan sebagainya, serta pemain akan dibawa masuk ke dunia khayalan yang ada di dalam game RPG tersebut.
Golden-T Game Engine ( GTGE ) adalah engine / library JAVA yang digunakan dalam membangun sebuah game desktop, dengan engine ini memudahkan dalam pengembangan dan pembuatan game, termasuk dalam pengembangan dan pembuatan Role Playing Game.
2. Landasan Teori
Dalam penyusunan tugas akhir ini penulis menggunakan beberapa metode, adapun metode tersebut sebagai berikut:
• Metode Pengumpulan Data
Metode Kepustakaan
Pengumpulan data yang diperoleh dengan cara membaca dan mempelajari permasalahan yang ada dari buku – buku yang berhubungan dengan masalah yang dihadapi.
Pengumpulan gambar, sprites, musik dan suara dilakukan dengan cara mengambil data dari internet dan lain - lain.
• Analisa
Penentuan ruang lingkup masalah
Pembahasan Game ini berkaitan dalam pembuatan dan perancangan Demo Game RPG “Satria Garuda” yang terdiri dari beberapa quest/misi permainan dan dalam tiga level Game dengan tujuan hiburan.
Penentuan tujuan penelitian
Dalam tugas akhir ini akan dibahas bagaimana membangun sebuah Role Playing Game “ Satria Garuda” menggunanakan bahasa pemrograman Java dan engine GTGE.
Penentuan manfaat penelitian
1. Untuk diri saya pribadi:
• Menambah wawasan , pengetahuan, dan kemampuan diri dalam mengembangkan aplikasi Game dengan Java.
2. Untuk Orang lain:
Dapat dijadikan sarana hiburan bagi semua orang yang memainkan game ini.
3. Hasil Penelitian
Langkah – langkah membuat game
Awal mula membuat game dengan GTGE adalah mensubclass Game class (Game class berada di package com.golden.gamedev), atau dengan kata lain setiap game merupakan turunan dari Game class. Setiap turunan Game class wajib
melaksanakan 3 tugas, yakni :
• Contoh kode sederhana pada java
public class Hello {
* My first java program */
public static void main (String[] args){
// menampilkan string “Hello world” pada layar System.out.println(“Hello world!”);
} }
• Inisialisasi Variabel Game
file :: YourGame.java // GTGE API
import com.golden.gamedev.Game; // Java Foundation Classes (JFC) import java.awt.Graphics2D;
public class YourGame extends Game {
public void initResources() { // initialization of game variables }
public void update(long elapsedTime) { // updating the game variables }
public void render(Graphics2D g) { // rendering to the screen }
}
• Menampilkan Mode Windowed
public static void main(String[] args) {
game.setup(new YourGame(), new Dimension(640,480), false); game.start();
} }
• Menampilkan Mode Fullscreen
public static void main(String[] args) {
GameLoader game = new GameLoader();
game.setup(new YourGame(), new Dimension(640,480), true); game.start();
} }
class :: GameLoader
Syntax:
public void setup(Game game, Dimension d, boolean fullscreen); public void start();
dimana :
game = objek game (subclass dari Game class) d = ukuran game
fullscreen = gunakan mode fullscreen atau tidak (windowed mode)
Misal:
menginisialisasi YourGame.java dengan ukuran 640x480, mode fullscreen GameLoader game = new GameLoader();
game.setup(new YourGame(), new Dimension(640,480), true); game.start();
• Menampilkan Mode Applet
file :: YourGameApplet.java
// GTGE
import com.golden.gamedev.Game; import com.golden.gamedev.GameLoader;
public class YourGameApplet extends GameLoader { protected Game createAppletGame() {
return new YourGame(); }
}
Untuk melekatkan game ke halaman html Anda, tambahkan applet tag berikut file :: webpage (.html,.php,...) Syntax: <applet code="YourGameApplet.class" archive="[your_game_lib],[GTGE_lib]" width="[width]" height="[height]"> </applet> dimana :
your_game_lib = jar dari game (.jar) GTGE_lib = pustaka GTGE (.jar) width = lebar game
height = tinggi game
Misalnya menampilkan YourGame.java ke halaman html dengan ukuran 640x480 menggunakan
<html> <applet code="YourGameApplet.class" archive="yourgamearchive.jar,golden_0_2_0.jar" width="640" height="480"> </applet> </html> 4. Design Aplikasi
Untuk memudahkan dalam dalam pembuatan dan pengimplementasian / coding ,
terlebih dahulu dibuat model menggunakan UML ( Unified Model Language ) ,
sehingga interaksi yang ada pada system bisa terlihat , dan perrmasalahan yang komplek menjadi sederhana, dan mendapat banyak pandangan tentang program yang akan dibangun.
Diagram Use Case
Diagram ini menggambarkan interaksi antara pengguna dengan system, dalam hal ini adalah player dan game, diagram Use Case game Satria Garuda sebagai berikut.
( Gambar 4.1 : Use Case Diagram )
Dari diagram diatas dapat dilihat aktivitas yang bisa dilakukan player sebagai berikut.
• Mulai bermain.
• Setting Game • Melihat menu Game • Melihat Instruksi Game. Diagram Activity.
Diagram Aktivitas memudahkan kita dalam memahami langkah – langkah aliran kerja, diagram ini memodelkan langkah kerja ( workflow ),dari use
case sehingga dapat diketahui siapa yang bertanggung jawab atas masing – masing aktivitas dan obyek – obyek yang digunakan dalam aliran kerja, secara garis besar project ini memiliki alur kerja seperti di
bawah ini.
( Gambar 4.1: Activity Diagram)
Berdasarkan diagram diatas Berjalannya Game Satria Garuda diawali dengan masuk mainform, kemudian player akan diminta memilih akan langsung bermain atau mensetting game/ SETTING GAME terlebih dahulu
atau tidak, setelah itu akan masuk ke form permainan dan player akan diberikan pilihan untuk NEW GAME untuk bermain dengan permainan yang
baru, atau LOAD GAME untuk melanjutkan game yang tersimpan, setelah masuk permainan pemain bisa melihat statistik karakter, keluar permainan, maupun menyimpan game permainan.
equence Diagram
ambarkan tentang fungsionalitas dari masing – masing
Sequence Diagram Pada Use Case Play S
Diagram ini mengg
Use Case dan interaksi yang terjadi antar obyek dalam system, fungsionalitas pada project ini yang akan digambarkan dengan sequence diagram adalah sebagai berikut:
( Gambar 4.1 Sequence Diagram Untuk Use Case Play )
Diagram diatas menjelaskan pada saat pemain menjalankan aplikasi GameLoader akan memanggil GameEngine, Game Engine berfungsi untuk menginisialisasi game object, yang ada pada Game, Ketika
pertama kali dijalankan GameEngine akan mengarahkan ke Game Object Title, kemudian game object title akan meminta Player untuk memilih option button , untuk masuk kedalam game Player meilih option Game Mode, setelah pilihan dilakukan Title akan mengirimkan message ke GameEngine yang kemudian akan diinisialisasi sebagai GAMEMODE,
maka GameEngine akan menjalankan Game obyek PanelGame sebagai GAMEMODE.
Sequence Diagram Menjalankan Karakter Pada Use Case
( Gambar 4.1: Seq Mengendalikan Karakter
uence Diagram Menjalankan Karakter Pada Use
iagram diatas menjelaskan ketika Player telah memilih GAMEMODE
Sequence Diagram Untuk Karakter Menyerang Pada Use Case Mengendalikan Karakter)
D
pada GameEngine, kemudian akan diinisilaisasi dan dijalankan game obyek PanelGame, ketika Even Keyboard terjadi, PanelGame sebagai GameObject akan menginisialisasi tombol keyboard apa yang akan ditekan, setelah itu game obyek akan mengirimkan message kepada Main_Aktor tentang event keyboard yang terjadi, kemudian methode isOccupied(int TileX,int TileY) pada GameMap akan dicek oleh Main_Aktor apakah arah event yang diberikan Player dapat dilewati oleh Karakter jika bisa maka Main_Aktor akan menjalankan method walkTo( int dir,int vert, int horiz);
( Gambar 2.1: Diagram Sequence Untuk Karakter Menyerang pada Use Case Mengendalikan Karakter).
Diagram diatas merupakan aktifitas karakter ketika player memilih option GAMEMODE pada GameEngine, maka GameEngine akan menjalankan GameObyek PanelGame, ketika Player memberikan event keyboard Spasi PanelGame akan megirim Message kepada Main_Aktor untuk mendapatkan posisi koordinat X dan Y Main_Aktor, kemudian PanelGame akan menambahkan Kelas Senjata_hero yang merupakan turunan dari kelas Sprite kedalam SpriteGroup SenjataHeroGroup.
Sequence Diagram Untuk Use Case Melihat Menu
Ketika GameLoader menjalankan GameEngine yang akan menginisialisasi GameObyek = TITLE, dan menjalankan Title class yang merupakan GameObyek.
Sequence Diagram Pada Use Case Setting
( Gambar 2.1 : Diagram sequence untuk Use Case Setting )
Game loader akan memanggil GameEngine dan mengarahkan ke GameObyek Title, ketika player memilih button option setting maka GameEngine akan menginisialisasi GameObyek Setting, GameObject Setting kemudian memberikan input button setting suara , setting show fps, dan button option back, ketika option button back dipilih GameEngine akan menginisialisasi GameObyek title.
( Gambar 2.1: Sequence Diagram Untuk Use Case Melihat Instruksi Game).
GameLoader akan menjalankan GameEngine, dan GameEngine akan menginisialisasi GameObyek Title, ketika player memilih option Instruksi, maka Title akan mengirim message option kepada GameEngine dan menginisialisasi GameObject Instruksi, dan ketika tombol kembali pada GameObject Instruksi dipilih GameEngine akan menginisalisasi GameObject Title.
Diagram Class
Diagram Class, menggambarkan hubungan/ relasi dan interaksi yang yang terjadi antar class yang ada pada game Satria Garuda, diagram ini membantu programmer untuk mendapatkan struktur system sebelum
menuliskan kode program, diagram class dalam game Satria Garuda sebagai berikut:
Antarmuka Aplikasi
Hasil dari pengimplemantasian akan dilakukan pengujian, tampilan awal pada saat game dijalankan adalah sebagai berikut:
( Gambar2.1: Tampilan Awal Game Satria Garuda ) Dalam tampilan awal player akan diberikan beberapa pilihan menu , yaitu :
1. Permainan Baru, menu ini digunakan untuk masuk ke dalam Game Mode dengan atribut pemain yang baru.
2. Lanjutkan permainan , menu ini digunakan untuk masuk ke game mode dengan atribut pemain yang telah disimpan, pemain akan melanjutkan permainan yang pernah dimainkan.
3. Pengaturan, digunakan untuk megatur suara, apakan akan dihidupkan atau dimatikan, dan menu untuk mengaktifkan atau menonaktifkan FPS.
4. Cara Bermain, menu ini digunakan untuk menjalankan mode instruksi, sehingga pemain tahu cara memainkan game, dan
controller yang digunakan.
UJICOBA APLIKASI
Setelah komponen-komponen diimplementasikan dan diuji secara individual. Pengujian lebih lanjut dilakukan untuk memastikan perilaku yang benar dan tidak ada konflik penggunaan sumber daya bersama. Berikut adalah hasil dari pengujian game
Tabel Pengujian Game
No Fungsi Hasil uji
1 Masuk GameLoader Berhasil
2 Dialog Karakter Berhasil
3 Mengambil Bonus Berhasil
4 Healt Point bertambah atau berkurang Berhasil
5 Skill bertambah Berhasil
6 Jumlah Panah Bertambah Berhasil
7 Bertarung Berhasil
8 Next level Berhasil
9 Game over Berhasil
10 Bergerak ke kanan ( tombol → ) Berhasil
11 Bergerak ke kiri ( tombol ←) Berhasil 12 Bergerak ke atas ( tombol ↑) Berhasil 13 Bergerak ke bawah ( tombol ↓) Berhasil 14 Mengeluarkan panah ( tombol space ) Berhasil
KESIMPULAN
Berdasarkan perencanaan , perancangan dan implementasi yang dilakukan dapat diambil kesimpulan sebagai berikut.
• Dalam pembuatan game Satria Garuda , cerita merupakan unsur yang harus disiapkan sebelum melakukan implementasi, karena dalam game RPG alur cerita yang membangun sebuah game sehingga game menjadi menarik , dan quest – quest yang ada dalam game menjadi bervariasi.
• Pemakain Golden T Game Engine yang berisi fungsi – fungsi siap pakai memudahkan programer dalam implementasi, karena programer tidak perlu membuat method sendiri untuk memutar suara, mengatur sprite, dan fungsi – fungsi dalam pembuatan game yang lain.
Saran
Game ini masih bisa dikembangkan lebih jauh lagi, karena pembuatan game ini masih dalam bentuk Role Playing Game yang sederhana, untuk pengembangan game ini lebih lanjut dapat ditambahkan sebagai berikut.
Penambahan fasilitas untuk multiplayer sehingga permainan akan lebih
menarik karena melibat orang banyak dalam permainan, karena untuk saat ini dalam GTGE belum tersedia fungsi untuk multiplyer, untuk pengembangan
game selanjutnya GTGE bisa dipadukan dengan engine yang lain yang sudah memiliki fasilitas untuk multiplayer.
DAFTAR PUSTAKA
Avestro, Joyce.2007.JENI Pengenalan Pemrograman1.JARDIKNAS
Avestro, Joyce.2007,JENI Pengenalan Pemrograman 2.JARDIKNAS
Hariyanto,Bambang.2004.Rekayasa System Berorientasi Obyek.Bandung:Informatika
Tuerah Paulus (2004). “Powerful Game Engine”.
From http://goldenstudios.or.id/products/GTGE/index.php (diakses tanggal 05 April 2010)
Soliq.2006.Pemodelan Sistem Informasi Berorientasi Objek dengan UML.Surabaya:Graha Ilmu