Sunday, April 28, 2013

CX Framework: S40 FT Game Framework


Saya sedang mencoba mengembangkan framework untuk membuat game di S40 FT. Framework ini rangkuman dari dua game yang pernah dibuat oleh Cengek Studio sebelumnya, seperti Litter Chaos (unpublished) dan The Same Thing.

Kesulitan yang kami didapat waktu membuat game J2ME adalah masih belum tahu mana yang harus menjadi tampilan, controller dari gamenya, dan utility keperluan mempercantik game.

CX Framework ini nggak ngebikin semuanya dari scratch ya, cuma pakai fitur-fitur game enginenya dari javax.microedition.* , terus disesuaikan dengan kebutuhan saya supaya enak developing kode nya.

Di CX Framework ini saya mendesainnya terdiri dari beberapa package

  1. Manager. Mengelola flow dari kelas-kelas dan setting utama. Terdiri dari:
    1. GameManager. Pengelola flow view
    2. GameSetting. Pengelola setting dari game
  2. Screens. Untuk mengelola tampilan. Misalnya menu, help, dan game itu sendiri. Terdiri dari kelas:
    1. Screens
  3. Util. Kelas-kelas penunjang. Terdiri dari kelas:
    1. CharFonts, kelas untuk load karakter dan menulis teks.
    2. GameSound, kelas untuk play suara
    3. ImageUtil, kelas untuk load gambar.
    4. RMS, kelas data-data penyimpanan.
    5. SpriteText, kelas untuk membuat teks berbentuk sprite.
  4. Sprites. Terdiri dari kelas:
    1. CXSprite. Extends dari Sprite javax.microedition.lcdui.game.Sprite, tapi ada tambahan isTouched (deteksi dipegang)
Nah, kemudian pengguna tinggal memakainya sendiri. Disarankan pengguna juga punya package-package sendiri yang terdiri dari:
  1. main. Buat si midlet.
  2. screens. Menampung screen-screen punya developer.
  3. sprites. objek-objeknya.
  4. Dan jangan lupa folder res, buat gambar-gambar, dan ada file gambar-gambar font dalam satu folder dengan yang saya sarankan pakai MWT Font Maker

Gimana kerjanya?

  1. Midlet inisialisasi dan panggil game manager
  2. Game manager inisialisasi dan panggil screen
  3. Screen inisialisasi dan panggil sprites buat gamenya, pakai-pakai util, dan sebagainya.
Jadi developer nggak usah susah payah pusing lagi:
  1. Cara masukkin gambar ke atas canvas, cukup dengan CXSprite (sebenarnya Sprite seh, ditambah dikit doang, haha)
  2. Cara deteksi sentuhan (pakai bounding box)
  3. Bikin tulisan bentuknya sprite
  4. Cara bikin tulisan yang muncul per huruf.

Versi yang sekarang kayaknya udah bisa buat graphic novel-novelan. Masih belum full sih fiturnya, tapi lumayan lah.

Implementasi CX Framework

Pengembangan ke depan

Yang baru diulik sampai ke membuat teks. Kayaknya yang pengen di tambah lagi buat kelas UI, biar gampang bikin tombol-tombol, gauge, input teks yang sederhana buat game. Kode-kode dari kelas yang lain juga masih berantakan karena belum disentuh. 

Satu kelas yang jadi impian saya, kelas animation! Karena masih susah payah waktu bikin animation juga. Will be coming soon..

Prioritas ke depan kayaknya sprite, animasi, rms, sama sound.

Enjoy!

No comments:

Post a Comment

Comment is caring :)