Porting Game/Apps dari Cocos2d-x ke Tizen

Ariska Hidayat 15 Agustus 2016

Porting Game/Apps dari Cocos2d-x ke Tizen
Cocos2d-x merupakan keluarga dari varian cocos2d yang bersifat open-sources. Cocos2d-x dapat untuk membuat game atau apps dengan multiplatform. bahasa yang disupport Lua, C++ dan Javascripts. selain itu juga, tools ini jgua sudah  digunakan ribuan developer.

Baca juga: Mengenal Sistem Operasi Tizen

Pada tutorial kali ini kita akan membahas tentang cara Porting Game/App dari Coco2d-x ke Tizen. Game yang digunakan di tutorial ini adalah game yang telah Kamu buat di Coco2d-x.

Tujuan tutorial ini adalah untuk memperkenalkan kemudahan porting game/app Coco2d-x ke Tizen dan siap untuk  di publish ke Tizen Store. Beberapa hal akan dijelaskan secara bertahap sehingga mudah dipahami.
Sebelum memulai tutorial ini, Kamu harus menyiapkan koneksi Internet yang cukup.

Instal Software yang akan Digunakan

Berikut ini software yang diperlukan untuk mengembangkan Tizen Wearable Device:
  • Cocos2D-x v.3.12
  • Java Development Kit 8 (JDK)
  • Tizen 2.4 SDK with IDE 
Tizen 2.4 SDK with IDE 
Buka laman Tizen 2.4 Rev8 SDK Download ,Download dan instal Tizen 2.4 SDK with IDE installer.
download tizen ide
Setelah berhasil diinstal, kemudian buka aplikasi Update Manager-2.4
install native app development
Lakukan pengintalan Native app development (IDE).
install samsung certificate extension

Kemudian scroll ke bawah dan lakukan penginstalan Samsung Certificate Extension.

Java Development Kit 8 (JDK)

Buka laman Java SE Development Kit 8 Downloads. Kemudian download dan instal JDK-8u101. Jangan lupa untuk centang "Accept License Agreement" sebelum download.
install java se
Cocos2D-x v.3.12
Buka laman Cocos2D Download, kemudian Downlaod dan Extract Cocos2d-x v.312.
download cocos2d-x

Menyiapkan Certificate

Pastikan komputer anda sudah terhubung dengan internet. Certificate digunakan untuk membuat package tpk/wgt sehingga package tersebut dapat install di device atau di distribusikan di Tizen Store. Pertama-tama buka Tizen IDE, kemudian Klik Icon Register Certificate untuk membuat certificate. jika icon tersebut tidak ada, kemungkinan anda belum menginstal Samsung Certificate Extension di Update Manager-2.4.
icon register sertificate
Tahap pertama, Pilih Device Tipe Mobile. setelah itu buat profile baru dengan klik New seperti contoh dibawah ini:
samsung tizen certificate
Misal dengan nama profil Cocos. kemudian klik OK.
Generate a new security profile
Kemudian membuat Author Certificate dengan klik Create new certificate.
klik create new certificate for author certificate
Setelah itu akan muncul jendela Author Certificate, isilah kolom tersebut dengan data yang benar.
author certificate
Setelah mengisi lengkap data pada kolom, kemudian klik tombol Request.
sign in to samsung account
Untuk mendapatkan author account, kamu harus login dengan Samsung account. klik OK untuk menampilkan jendela login Samsung Account. Kemudian isi user dan password Samsung Account  dengan benar.
author certificate success to created
Author certificate telah sukses dibuat, Kemudian klik OK untuk melanjutkan tahap selanjutnya.
create new certificate distributor
klik Create new certificate untuk membuat distributor certificate  baru. Kemudian akan muncul jendela Distributor Certificate. Jika sudah menghubungkan dengan device, maka akan muncul daftar id device di sebelah kanan. Tetapi jika tidak menggunakan device maka abaikan langkah ini.
add id device
Isi Password dan klik tombol  Add pada kolom koneksi device jika menggunakan device. Jika tidak muncul periksa koneksi usb dengan device atau instal kembali usb driver.
klik button request
Kalau id device sudah ditambahkan, kemudian klik Request untuk mendapatkan distributor certificate.
sign in to samsung account
untuk mendapatkan distributor account, kamu harus login dengan Samsung account. klik OK untuk menampilkan jendela login Samsung Account. Kemudian isi user dan password Samsung Account  dengan benar.
distributor certificate success to created
Distributor certificate telah sukses dibuat. klik OK untuk melanjutkan
klik oke to activate profile
Kemudian klik OK untuk mengaktifkan profile yang telah dibuat.

Import Sample Project dan Library cocos2dx

Didalam Framework cocos2d-x yang telah didownload sudah terdapat beberapa contoh dan library cocos2dx yang support beberapa platform. Pastikan anda sudah mengextract file tersebut.
Kemudian Buka hasil extract Cocos2d-x-3.12 dan copy path folder tersebut
extract
Kemudian kembali ke Tizen IDE, klik menu File dan pilih Import...
import
Kemudian akan muncul jendela Import.
open project
Pilih Existing Projects into Workspace. dan kemudian klik tombol Next. kemudian pastekan path folder hasil extract Cocos2dx ke kolom Select root diractory dan kemudian klik Browse.. Kemudian akan muncul daftar list project.
select project
Klik tombol Deselect All dan kemudian centang cpp-tests ([path extract]\cocos2d-x-3.12\tests\cpp-tests\proj.tizen) dan centang libcocos2dx (path extract\cocos2d-x-3.12\build\tizen). Setelah itu klik Finnish.
success to import
Project dan library cocos2d sudah siap di deploy.

Menyiapkan Library Cocos2dx

Karena target supaya dapat berjalan dengan baik di device tizen maka kita perlu mengubah mengaktifkan build mode Release.Langkah tersebut dengan cara klik kanan pada libcocos2dx di tab project Explorer kemudian pilih Build Configurations > Set Active > Release. seperti gambar dibawah ini:
set release
Kemudian buka properties pada libcocos2dx dengan cara klik kanan pada libcocos2dx di tab project Explorer kemudian pilih Properties. Kemudian muncul jendela Properties for libcocos2dx. kemudian buka C/C++ Build > Tizen Settings
tizen setting for libcocos2dx
Pastikan menggunakan Architecture ARMv7-a dan Toolchain Name GCC-4.9 (dafault) dan kemudian klik OK.
Setelah itu build konfigurasi dengan cara klik kanan pada libcocos2dx di tab project Explorer kemudian pilih Build Configurations > Build Selected.... Kemudian akan muncul jendela sebagai berikut:
 
rebuild to libcocos2d
Pastikan sudah mencentang Release dan kemudian klik OK. jangan lupa Clean dan Build juga tercentang.
Jika anda mengalami error "unknown build rule 'build_long_target'" seperti gambar dibawah ini:
error build long target
Maka anda harus melakukan langkah dibawah ini dan jika tidak ada error diatas, maka anda abaikan langkah dibawah ini dan lanjutkan ke halaman berikutnya.
Langkah pertama untuk mengatasi masalah diatas adalah dengan membuka file build.ninja di folder Release.
build ninja
Ubahlah kata "build_long_target" menjadi "long_build_target" pada baris ke 119. Pengeditan menjadi seperti dibawah ini:
edit build ninja
Jangan lupa untuk menyimpan perubahan dengan tekan CTRL+S. Setelah itu buka kembali Properties dengan cara klik kanan pada libcocos2dx di tab project Explorer kemudian pilih Properties. Pada tree C/C++ Build dan buka tab Builder Settings. maka tampilan sebagai berikut:
uncek generate make files
Hilangkan centang pada Generate Makefiles automatically. Kemudian klik OK. setelah itu lakukanlah  build konfigurasi ulang dengan cara klik kanan pada libcocos2dx di tab project Explorer kemudian pilih Build Configurations > Build Selected....
Kemudian akan muncul jendela Clean and Rebuild Configurations.  pastikan yang tercentang  adalah Release, Clean, dan Build.
rebuild to libcocos2d
Kemudian klik OK. kemudian anda dapat melihat progress  dari proses tersebut.
progress
Proses ini cukup memakan waktu cukup lama, anda dapat melihat lebih detail posesnya di tab Console.
console
Proses berakhir jika Build Selesai dengan tampilan pada Console seperti dibawah ini:
build finnish
maka build library cocos2dx berhasil. dan kamu dapat melanjutkan ke tahap berikutnya.

Menyiapkan Contoh Project

Beberapa tahap awal hampir mirip seperti proses sebelumnya. tetapi untuk tahap ini kita hanya fokus pada file project cpp-tests pada tab Project Explorer. Kita juga harus mengatifkan mode Release pada Build Konfigurasi dengan cara klik kanan pada cpp-tests di tab project Explorer. Kemudian pilih Build Configurations > Set Active > Release. seperti gambar dibawah ini:
set release
Kemudian buka properties pada cpp-tests dengan cara klik kanan pada cpp-tests di tab project Explorer kemudian pilih Properties. Kemudian muncul jendela Properties for cpp-tests. kemudian buka C/C++ Build > Tizen Settings.
set properties
Buka Project Preferences, kemudian centang libcocos2dx dan klik OK.
set project preferences
Setelah itu build konfigurasi dengan cara klik kanan pada cpp-tests di tab project Explorer kemudian pilih Build Configurations > Build Selected.... Kemudian akan muncul jendela sebagai berikut:
rebuild
Pastikan sudah mencentang ReleaseClean dan Build. kemudian klik OK. Proses ini cukup memakan waktu yang lama. untuk lebih detailnya anda dapat membuka tab Console
console
Tunggu sampai proses build selesai.
build success
Kemudian langkah selanjutnya adalah membuat package.

Membuat Package tpk dan Menguji Aplikasi/Game di Device

Sebelum membuat package, anda harus mengatur konfigurasi di tizen-manifest.xml. Untuk memastikan data sudah benar,buka dengan klik kanan pada tizen-manifest.xml kemudian Open With > Tizen Manifest Editor
 
tizen manifest
Kemudian akan muncul Editor untuk Tizen Manifestnya.
overview
Atur Application ID, Package, Version, Label, sesuai dengan aplikasi/game anda. Sebaiknya untuk Api Version di isi 2.4.
Kemudian pada tab Features, tambahkan informasi jika game kamu sudah support ke semua ukuran layar.
feature
 Langkah tersebut dengan cara klik tombol Add kemudian cari screen.size.all.
Setelah itu pada tab Privilages, Cek apakah menggunakan API tambahan.
privilages
Jika menggunakan API tambahan, Cek juga Privilages. Kemudian langkah terakhir adalah membuat package tpk dengan cara klik kanan pada cpp-tests kemudian klik Build Package.
build package
jika berhasil, maka akan tercipta file dengan ekstensi tpk. Bebagai contoh pada org.tizen.cpp-tests-1.0.0-arm.tpk.
file tpk
Anda dapat melihat letak file tersebut dengan cara klik kanan pada file tpk kemudian pilih Propesties. Maka akan muncul jendela Properties for org.tizen.cpp-tests-1.0.0-arm.tpk.
location tpk
File ini adalah file yang akan disubmit ke Tizen Store.
file tpk ini tidak dapat dijalakan di emulator, anda harus menjalankan di device atau di remote device.  Itu disebabkan karena ada perbedaan arsitektur di emulator dan di device. Kemudian kembali ke Tizen IDE, ketika mencolokan usb dengan device pastikan device kamu terdeteksi sebagai contoh:
connection device
untuk menjalankan didevice, cukup klik kanan pada project cpp-tests kemudian klik Run As > Tizen Native Application.
Contoh hasil Screenshot di Samsung Z1:
screenshot 1
Adapun contoh berupa tiga dimensi.
screenshoot 2
jika anda terkendala dalam mengkoneksikan ke device atau ke remote device anda dapat mengunjungi Porting dari Unity ke Tizen. di sebagaian tahapnya sudah menjelaskan ke dua cara tersebut.

Pengembangan Lanjut

Developer juga dapat mesubmit aplikasi atau game  mereka di Tizen Store sehingga dapat dinikmati oleh pengguna device berbasis system operasi Tizen. Developer juga dapat memiliki Acount store secara gratis dan dapat langsung kunjungi: http://seller.tizenstore.com. Lebih lengkap cara submit aplikasi ke Tizen Store dapat dilihat pada artikel Mekanisme Publikasi Aplikasi Tizen di Tizen Store.
Untuk memudahkan dalam pengembangan game. ada beberapa link yang sekiranya bermanfaat:
  • Ebook Tizen Gratis Samsung menyediakan ebook gratis untuk developer.
  • Tutorial Cocos2dx Cocos menyediakan beberapa tutorial yang menarik.
  • Forum Dicoding Indonesia Sebuah forum untuk diskusi, berbagi informasi dan pengetahuan untuk developer.
  • Tizen Developer Indonesia Sebuah forum berbagi tentang pengetahuan, pengalaman atau informasi terbaru tentang Tizen. Jika kamu ada pertanyaan tentang Tizen jangan sungkan untuk bertanya pada forum tersebut.
Informasi juga buat developer yang tertantang untuk membuat Game/Aplikasi Tizen. kamu bisa ikuti Challenge Dicoding dan juga sudah tersedia Device Tizen untuk Testing di Berbagai Daerah. Untuk lebih lanjut, anda dapat kunjungi link dibawah ini:
*Tutorial ini memungkinkan akan ada update tanpa ada konfirmasi terlebih dahulu.
Gambar cover game diambil dari: http://www.cocos2d-x.org/games/1556