Game API di Java Micro Edition


Sebentar lagi masa kuliah semester genap akan berakhir, saatnya untuk liburan panjang… Aku akui liburan panjang hingga bulan September mendatang menyebabkan hampir gaji tiga bulan menjadi ‘kosong’..  Tapi dari sisi lain, liburan ini berarti aku bisa berpesta ria dengan aneka kode program tanpa diganggu sedikit pun.  Bayangkan, waktu kerja kantoran dulu, jatah cuti hanya 12 hari selama setahun.. Dan sekarang, sebagai dosen, aku bisa cuti selama dua bulan!!!

Selama mengajar dua semester ini, aku lebih banyak menghabiskan waktu menulis materi di modul kuliah ketimbang menulis di blog.  Maklum, itu merupakan salah satu tugas seorang dosen..  Salah satu mata kuliah menarik yang harus aku ajarkan adalah pemograman mobile dengan Java Micro Edition..  Aku sudah sering bermain-main dengan Java Enterprise Edition & Java Standard Edition, tapi baru kali ini menyentuh JME..  Sebagai informasi, aplikasi Android juga diprogram dengan Java, tetapi bukan versi JME..  Aplikasi BlackBerry sendiri mendukung JME, tetapi juga punya pengembangan aplikasi berbasis Java-nya sendiri yang khas untuk BlackBerry.

Salah satu hal menarik yang dari JME adalah dukungan Game API bawaan.  Hal ini karena JME banyak dipakai untuk membuat aplikasi game, istilah gaulnya: “game java” sehingga ia disertai dengan peralatan yang sangat membantu dalam pembuatan game. Inti dari Game API di JME adalah class GameCanvas yang merupakan turunan dari class Canvas.

Class GameCanvas menyediakan method getGraphics() dan flushGraphics() untuk mendukung double buffering.  Programmer bisa mendapatkan sebuah Graphics dengan memanggil getGraphics(), kemudian menggambar dengan menggunakan context tersebut, baru setelah selesai menggambar dan ingin menampilkan ke layar, ia tinggal memanggil flushGraphics().

Class lain dalam Game API adalah class TiledLayer dan class Sprite.  Kedua class tersebut mewakili objek dalam game yang dapat digambar secara otomatis oleh class LayerManager.

Salah satu cara untuk memahami konsep Layer di Game API adalah dengan memanfaatkan Game Builder dari NetBeans IDE.  Game Builder bukanlah bagian dari spesifikasi JME, melainkan alat bantu yang ditawarkan oleh NetBeans IDE.  Versi terbaru dari NetBeans IDE, yaitu versi 7.0, dapat didownload di http://netbeans.org/community/releases/70/ .

Untuk membuat sebuah Game Builder baru, klik kanan pada nama package, kemudian pilih New, Game Builder…  Berikut ini adalah contoh tampilan sample Game Builder dari NetBeans:

Tampilan Game Builder

Tampilan Game Builder

Scenes mewakili apa yang akan ditampilkan di layar nantinya, terdiri atas satu atau lebih TiledLayer dan Sprite.

TiledLayer adalah sebuah layer yang terdiri atas kotak-kotak dimana setiap ‘kotak’ ini diisi dengan gambar tertentu.  Perancang game harus membuat sebuah file gambar yang merupakan gabungan dari seluruh elemen yang dapat di-isi-kan ke dalam TiledLayer tersebut.  Contoh file gambarnya seperti:

Contoh Gambar Untuk Game API

Contoh Gambar Untuk Game API

Game Builder menawarkan kemudahan untuk mengisi setiap kotak atau ’tile’ yang ada di gambar secara visual, seperti yang terlihat di gambar berikut:

Tiled Layer Editor

Tiled Layer Editor

Pembuat game dapat memisahkan setiap elemen interaksi yang berbeda ke dalam TiledLayer yang berbeda.  Misalnya sebuah TiledLayer untuk background game, dan sebuah TiledLayer lagi untuk mewakili bebatuan atau penghalang.  Dengan demikian, pada saat karakter utama bergerak, programmer dapat memanggil method collidesWith() untuk memeriksa apakah karakter bersinggungan dengan TiledLayer tertentu.

Karakter yang ada di game diwakili oleh class Sprite.  Game Builder menyediakan editor visual untuk merancang dan memutar animasi sebuah Sprite seperti pada contoh tampilan berikut ini:

Sprite Editor

Sprite Editor

Setelah selesai merancang TiledLayer dan Sprite, yang harus dilakukan berikutnya adalah menggambar mereka di layar dengan menggunakan method paint() dari LayerManager.  Jangan khawatir soal pergeseran layar karena programmer dapat memanggil method setViewWindow() milik LayerManager untuk mengkliping layar.

Berikut ini adalah contoh tampilan hasil game yang dibuat dengan Game Builder bila dijalankan menggunakan emulator bawaan JME:

Contoh Tampilan

Contoh Tampilan

Perihal Solid Snake
I'm nothing...

6 Responses to Game API di Java Micro Edition

  1. ivanhalim mengatakan:

    ini yang dicari2…kalau mau online kan gimana pak gamenya?gimana sistem kerja game online khususnya untuk mobile?

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: