anjing gembala

rabu, 10 oktober 2012

prewords

game ini terkenal sejak diluncurkannya via penerbit maxikom, sempat searching di google dan hunting juga ke salah 1 (satu) toko buku di bilangan jakarta pusat pada tahun 2010 (kalo ga salah ya).

coba cek di link berikut:

wireless tool kit

untuk dapat menjalankan file ini, diperlukan Wireless Tool Kit. sekumpulan simulator HandPhone yang dapat menjalankan file executable J2ME atau yang biasa kita kenal dengan file berEkstensi JAR.

Wireless Tool Kit
si penulis buku tampaknya mendukung gerakan OpenSource dengan memberikan full SourceCode yang dapat dipraktekkan untuk membuat game ini, coding dapat dilakukan via lingkungan NetBeans. berikut versi lingkungan yang saya gunakan:

interactive development environment

NetBeans juga merupakan editor java yang mendukung OpenSource, setelah dilirik oleh perusahaan terkemuka Oracle, Inc. mereka banyak mengembangkan fitur yang ada. banyak kontroversi mengenai migrasi ke lisensi ini.
NetBeans I used..

unified modeling language

pada sesi kali ini saya tidak akan membahas tentang coding mengenai game ini, sebab jika kita googling; sudah banyak yang mengangkat tema coding tersebut. di sini saya hanya mengupas scenario yang saya ilustrasikan dengan diagram via UML (unified modeling language). oh ya, jujur aja: dari sini deh saya mengenal dan memperdalam bahasa permodelan yang sangat membantu itu. (cerita kenapa saya sangat tertarik dengan modeling, ya dari sini awalnya..)

menurut saya ini adalah bahasa yang memanusiakan coding yang selama ini dianggap sebagai mistis oleh kalangan programmer, dengan bahasa permodelan ini saya merasa menjadi (lebih) manusia. (trus, selama ini apa? robot?). =D
how to launch this game..

lihat kan bagaimana UML mengIlustrasikan seseorang yang ingin memainkan game ini? ia dapat mengakses via interface sebuah device mobile tertentu, nanti saya akan memberikan beberapa device di mana game ini sudah diImplementasikan. (sayangnya untuk android os kita memerlukan emulator untuk menjalan J2ME di sana, tapi di blackberry game ini bisa running ko..)

file atau artifact JAR mirip dengan EXE yang kita kenal
UML juga memperlakukan MIDlet atau file main (utama) sebagai aktor, karena MIDlet ini merealisasikan interface tersebut. pernah di salah satu artikel yang saya tulis bahwa aktor itu terdiri dari 2 (dua) jenis: human dan non-human. (ingat kan?)
some of devices I have tried this one out..

di atas dapat dilihat beberapa instansi atau objek dari mobile device yang pernah saya trial untuk mengImplementasikan game ini, dan semuanya: trust me, it works! oh ya, di sana ada note: bahwa device harus memiliki dukungan fitur CLDC 1.0 dan MIDP 2.0 (inget deh jamannya java mobile..)

yang sangat disayangkan adalah: betapa teknologi itu berkembang sedemikian pesat, baru aja mo seriusin J2ME ini. eh, dah kluar lagi yang namanya robot ijo: android! it was so sad.. =(

 jika kita terbiasa dengan lingkungan java, tentu mengenal file dengan ekstensi JAR dan JAD. coba searching mengenai ke 2 (dua) tipe tersebut adalah:
  • JAR: Java Archive (ini lebih mirip executable file) dan
  • JAD: Java Application Descriptor (bagi saya ini adalah installer-nya).
untuk beberapa device tertentu ke 2 (dua) file ini harus disertakan, di sebagian yang lain cukup file JAR-nya saja. sayangnya saya tidak dapat menyebutkan merk dari device apa saja; mungkin teman-teman dapat googling mengenai spesifikasi terperinci dari device. saran saya agar lebih aman: copy saja ke 2 (dua) file tersebut, toh konsumsi kapasitas ruang tidak terlalu banyak.

demikian, beberapa latang belakang yang saya ceritakan sebelum kita memasuki game itu sendiri. dah bisa dimulai ya?

entering scenario

splash screen

berikut SplashScreen jika kita mulai menjalankan melalui Wireless Tool Kit:
SplashScreen dari game
familiar bukan? =)

setelah kita tau latar belakang mengenai game ini, bagaimana membuatnya, instalasi ke device; kali ini kita akan langsung mengupas satu per satu.

launching game


ditawarkan 2 (dua) pilihan MIDlet..
game diawali dengan tampilnya SplashScreen pada device setelah kita menjalankan MIDlet yang kita bahas pada sesi sebelumnya. SplashScreen ini muncul untuk memberikan respon ketika kita mengklik MIDlet Anjing tersebut:
what MIDlet would you like to launch?
scenario kebutuhan yang dapat kita tangkap dari sini adalah: 2 (dua) pilihan, apakah user ingin memainkan game dengan mengklik MIDlet Anjing atau hanya ingin melihat profile dari game.

ilustrated by an activity diagram
garis fork dan join pada activity diagram mengilustrasikan bahwa seseorang memiliki 2 (dua) kemungkinan aktifitas yang dapat ia lakukan, masing-masing subActivity memiliki aktifitasnya sendiri-sendiri dan akan kita kupas juga nanti satu per satu; demikian jika diilustrasikan kembali dengan diagram aktifitas.

launching MIDlet anjing

tentu saja kita akan memilih dari MIDlet Anjing terlebih dahulu, karena MIDlet Anjing berperan untuk merealisasikan kebutuhan user memainkan game.
these are what possibles..
beberapa kemungkinan yang akan terjadi adalah:
  • user dapat bermain,
  • atau hanya sekedar melihat score yang ada,
  • mungkin melihat petunjuk, dan terakhir
  • malah memilih keluar dari game.

you'll see this by mobile overview
terlihat pada gambar, untuk memainkan game dapat dipilih sub menu permainan baru. game dibangun dengan asumsi bahwa game belum pernah dimainkan sebelumnya. hm.. nanti kita akan mengupas lebih detail untuk mode permainan pada sesi yang bersangkutan, ada konsep yang unik juga di scenario ini. sabar ya.. =)

mode: permainan baru


it shows at first

tada..
inilah saat yang dinantikan, bermain game! scenario-nya cukup sederhana: giring seluruh domba ke kandang dan kamu akan memenangkan pertandingan. cukup sederhana bukan?

game controls



tidak semua device memiliki control pad
bagaimana dengan cara menjalankannya? pertanyaan yang bagus! caranya cukup mudah dan sangat sederhana sekali, seperti control pada game umumnya. untuk game dengan scenario tingkat tinggi, kita dapat memilih tombol yang akan kita jadikan sebagai control.

the clues


this is the clue
dapat dilihat pada submenu petunjuk bahwa tujuan atau goal dari game ini adalah dengan menggiring seluruh domba yang ada masuk ke dalam kandang. sbenarnya jika dikembangkan, game ini mungkin memiliki banyak scenario permainan yang lebih dari ini. tentu saja dengan konswekensi: perancangan yang lebih rumit! =D
selalu ada kemungkinan untuk kembali ke menu sebelumnya
pada sebagian device, sudah ada yang memiliki tombol back (atau esc pada keyboard di personal computer). gunanya untuk kembali dari submenu tertentu, jika user ingin membatalkan scenario yang dia pilih.

the best of all



no body's perfect
karena game belum dimainkan oleh siapapun, tentu saja tidak akan ada score tercepat yang akan ditampilkan. cobalah untuk memainkan hingga tamat, score akan muncul. score diperoleh dari waktu overlap selama menjalankan permainan.
tujuannya agar user dapat melihat score dan selalu harus bisa kembali
hm.. kalau dipikir-pikir, ternyata tidak mudah ya untuk membuat game. apalagi biasanya setelah semua dapat diVisualisasikan, selalu ada godaan untuk pengembangan; walaupun sebenarnya godaan itu harus dilawan! bikin sesuatu itu rampung terlebih dahulu, dengan sendirinya pengembangan akan mengikuti.

mode: lanjutkan permainan

ada satu lagi mode yang akan muncul ketika kita memutuskan untuk bermain, yaitu: melanjutkan permainan. sebut saja scenario kemungkinan ini dapat terjadi ketika: ada interupsi tertentu; contoh: lagi asik bermain game tiba-tiba ada telepon dari ibu untuk disuruh beli air isi ulang. atau kita menunggu kabar dari seseorang yang janjinya akan mengirim sms ke kita. dan sebagainya..
bagaimana jika diIlustrasikan dengan notasi UML
terlihat game langsung mengHandle jika suatu saat ada interupsi pada saat permainan berlangsung, interupsi ini tidak akan menyebabkan game kembali ke awal permainan; tetapi game dalam keadaan paused dan masih dapat diteruskan kembali.
mode interupsi
oh ya, diingat bahwa pada J2ME sebenarnya tidak ada aplikasi yang benar-benar dapat dihentikan. yang terjadi sebenarnya adalah: state dalam keadaan paused. pertimbangannya adalah: bahwa J2ME memiliki daur hidup aplikasi berikut:
  • startApp(),
  • pauseApp(), dan terakhir
  • destroyApp().
hm.. break dulu ya? =D

masih di hari rabu, 10 oktober 2012

we're flashing out back for a while..

hi.. we're back! the batman has returned.
sudah banyak yang kita lalui ya? ok, selanjutnya: tentu saja MIDlet profile. seperti yang disebutkan di atas, ada 2 (dua) pilihan MIDlet yang memungkinkan untuk dipilih oleh user.

kita mulai paham bahwa kita masih berada di overview, di mana sesuatunya masih mungkin dapat terjadi. masih banyak yang tak terlihat dan kasat mata, dan masih banyak kemungkinan dapat timbul. anything can happen baby, you gotta believe that =)

mengutip dari Ally McBeal:
"satu-satunya tempat yang dapat membuatku bahagia adalah dunia yang kuciptakan sendiri.."

jadi seneng nulis nih, damai.

anything else? I really need it..
seperti yang terlihat di peta, tinggal 1 (satu) overView lagi yang harus kita kupas. setelah itu akan masuk ke dalam dan menyelam di dalamnya. tiba-tiba jadi pengen renang..

ijin pajang profile, tapi mo ijin dulu ma yang punya kasus. boleh dipajang atau ga nih? kalo ga, ya ditarik lagi ga masalah. menghormati kutipan mode: on.
look.. we're here baby
yang 1 (satu) ini sesi yang paling diminati, yaitu: sesi tebar pesona.

sesi tebar pesona itu.. =)
di pukul 21.56 wib, masih di hari rabu

besok kita akan mulai mengenal satu per satu aktor dan entitas yang akan memainkan peran masing-masing di game ini, bagaimana mereka berInteraksi satu sama lain dan berkomunikasi.

the perfect stranger..
untuk saat ini dirasa cukup, overview berkembang menjadi gurita yang besar dan rumit. berikut adalah contoh dari beberapa aktor dan entitas dalam bentuk class pada pemrograman java. kita akan mulai terbiasa nanti:

dapat dilihat sederhana dari luar dan cukup rumit di dalam, it's complicated! hm.. sbenarnya selalu tidak seRumit itu, karena 1 (satu) hal yang paling menarik dari project management adalah: ketika ia terurai menjadi bagian yang terkecil. (di situ daya tariknya)

bagi yang belum terbiasa mengenal photo keluarga di atas tidak perlu khawatir, banyak referensi mengenai keluarga J2ME ini. keluarga paling kecil kapasitasnya di library JDK dibanding anggota keluarga yang lain; sebut saja J2SE (Standard Edition) dan J2EE (Enterprise Edition).

jadi ga sabar ya? =D

Kamis, 11 Oktober 2012

sepertinya saya tidak akan menjelaskan secara terperinci masing-masing class yang terpampang di atas, kalau teman-teman ingin mencari referensi lebih dapat ditemukan dengan keyWord: CLDC dan MIDP. oh ya, untuk versi yang digunakan di sini adalah CLDC 1.0 dan MIDP 2.0
























Comments