Porting Game/Apps dari Cocos2d-x ke Tizen

Cocos2d-x merupakan game framework Open-Source yang menggunakan pemrograman dengan bahasa C++. Cocos2d-x dipilih developer karena memiliki performa yang cukup baik dan gratis. Hasil Aplikasi/Game yang dibuat dengan Cocos2d-x dapat ditargetkan ke berbagai platform, seperti IOS, Tizen, Android, dll. Pada artikel kali ini, kita akan membahas mengenai cara porting game dari Cocos2d-x ke Tizen. Kita akan menggunakan project cpp-tests untuk contoh porting ke platform Tizen yang telah disediakan oleh Cocos2d-x.  TPK yang dihasilkan dari tutorial ini, dapat langsung di publish ke Tizen Store. Selain itu, tersedia banyak resource yang dapat dijadikan referensi dalam membangun sebuah game.

Baca juga: Indonesia Next Apps 4.0 – Tizen Smartphone Challenge

Berikut langkah-langkah untuk melakukan porting dari Cocos2d-x ke Tizen:

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Software yang akan Digunakan

Software yang diperlukan untuk mengembangkan game di platform Tizen adalah:

  • Tizen Studio 1.2 with IDE instaler (size: 472 – 480 MB)
  • Java Development Kit 8 (JDK) (size: 191 – 227 MB)
  • Cocos2D-x v.3.15.1 (size: 356 MB)

 

Tizen Studio 1.2 with IDE instaler

Silakan buka laman Tizen Studio 1.2 with IDE instaler, kemudian unduh dan instal Tizen Studio 1.2 with IDE instaler.

Setelah berhasil diinstal, kemudian buka aplikasi Package Manager. Setelah itu, Anda lakukan instal Native app development (IDE).

Agar dapat membuat tipe Samsung Certificate maka Anda perlu menginstal Samsung Certificate Extension.

Samsung Certificate Extension memungkinkan developer untuk menjalankan aplikasi Tizen di perangkat Samsung sesuai dengan certificate policy.


Java Development Kit 8 (JDK)

Buka laman Java SE Development Kit 8 Downloads, kemudian unduh dan instal JDK-8u144. Jangan lupa mencentang “Accept License Agreement” sebagai syarat untuk mengunduh JDK-8u144.

Cocos2D-x v.3.15.1

Buka laman Cocos2D-x Download, kemudian unduh dan extract Cocos2d-x v.3.15.1

Dari Cocos2d-x di atas, kami melakukan perbaikan dengan mengganti variable PATH_MAX (yang disupport Tizen SDK) menjadi FILENAME_MAX (yang disupport Tizen Studio) pada script util.h.

Cocos2d-x yang sudah kami perbaiki, dapat diunduh pada link berikut: cocos2d-x-3.15.1d.zip.

 

Menyiapkan Certificate

Pastikan komputer Anda sudah terhubung dengan internet. Certificate digunakan untuk membuat package TPK sehingga package tersebut dapat diinstal pada device atau di distribusikan di Tizen Store.

Pertama-tama buka Tizen Studio, kemudian klik menu Tools, lalu pilih Certificate Manager untuk membuat certificate.

Kemudian buat Profile baru dengan klik icon Plus “+.

Setiap Profile memiliki Author Certificate dan Distributor Certificate. Author Certificate berisi tentang identitas developer, sedangkan Distributor Certificate berisi tentang device unique id untuk menargetkan device mana saja yang boleh menginstal aplikasi/game.

Setelah itu, pilih tipe certificate profile, lalu pilih Samsung.

Jika ingin membuat TPK yang dapat berjalan di device, maka Anda harus menggunakan tipe certificate dari Samsung.

Tips: jika tampilan seperti di atas tidak muncul, berarti Anda belum/gagal menginstal Samsung Certificate Extension di Package Manager.

Setelah memilih tipe Certificate Profile, kemudian pilih tipe device Mobile/Wearable. Setelah itu, klik Next untuk melanjutkan ke tahap berikutnya.

Kemudian buat Profile baru dengan nama profile Default . Setelah itu, klik Next.

Setelah itu, membuat Author Certificate dengan centang Create new certificate, kemudian klik Next. Pada tab Author Certificate, isilah kolom tersebut dengan data yang benar.

Setelah mengisi data lengkap pada kolom, kemudian klik tombol Finish.

Untuk mendapatkan Author Account, Anda harus login dengan Samsung Account. Klik OK untuk menampilkan jendela login Samsung Account, kemudian isi user dan password Samsung Account dengan benar.

Setelah Anda berhasil login maka Author certificate telah sukses dibuat. Klik Next untuk melanjutkan ke tahap selanjutnya.

Selanjutnya membuat Distributor Certificate, dengan cara centang Create a new distributor certificate. Klik Next untuk melanjutkan ke tahap selanjutnya. Pada tab Distributor Certificate, Isilah password dengan minimal 8 karakter, kemudian masukkan Device Unique ID. Jika Anda sudah menghubungkan dengan device, maka secara otomatis akan muncul daftar Device Unique ID seperti di bawah ini:

Tujuan memasukkan Device Unique ID (DUID) yaitu untuk memberi prioritas kepada Aplikasi/Game agar dapat diinstal ke device Tizen. Anda juga dapat memasukkan beberapa DUID sekaligus.

Setelah selesai membuat Distributor Certificate, kemudian klik Finish.

Kemudian muncul pemberitahuan jika profile yang baru digunakan memiliki status aktif dan siap digunakan. Setelah itu, klik OK.

Profile telah sukses dibuat, klik Close untuk mengakhiri.

Import Sample Project dan Library cocos2d-x

Framework cocos2d-x yang telah diunduh, di dalamnya sudah terdapat beberapa contoh dan library cocos2d-x yang support di berbagai platform. Pastikan Anda sudah mengekstrak file tersebut.

Kemudian buka hasil extract Cocos2d-x-3.15.1d dengan tampilan isi sebagai berikut:

Kemudian kembali ke Tizen Studio, klik menu File, lalu pilih Import…

Kemudian akan muncul jendela Import, lalu pilih Existing Project into Workspace. Setelah itu, klik Next untuk melanjutkan tahap selanjutnya.

Kemudian pada jendela Import, klik Browse… dan buka folder hasil extract Cocos2d-x yang telah diunduh. Setelah semua list muncul, klik tombol Deselect All, lalu centang cpp-tests ([path extract]\cocos2d-x-3.15.1d\tests\cpp-tests\proj.tizen) dan libcocos2dx ([path extract]\cocos2d-x-3.15.1d\build\tizen). Setelah itu, klik Finish.

Selain project Contoh (cpp-tests), di dalam Cocos2d-x juga terdapat contoh project Hello World dan Project Kosongan (cpp-empty-test).

 Kemudian pada jendela Project Explorer, akan muncul dua folder, yaitu cpp-test dan libcocos2dx. Cpp-test adalah contoh project yang memiliki beberapa contoh sourcecode, sedangkan libcocos2dx adalah library yang berisi game framework cocos2dx.

 

Menyiapkan Library Cocos2dx

Berikut langkah-langkah dalam menyiapkan library Cocos2d-x. Cara ini nantinya digunakan untuk membuat TPK agar dapat berjalan pada device.

Klik kanan pada libcocos2dx di tab Project Explorer, kemudian pilih Build Configurations > Set Active > Release.

Kemudian atur Konfigurasi dengan cara klik kanan pada libcocos2dx di tab Project Explorer. Setelah itu, pilih Properties. Lalu muncul jendela Properties for libcocos2dx, selanjutnya buka C/C++ Build > Tizen Settings. Keterangan pada panel Tizen Settings, sesuaikan dengan gambar di bawah ini:

Jika ingin TPK dapat berjalan di device maka arsitekturnya harus arm, sedangkan jika ingin berjalan di emulator, arsitekturnya harus x86.

Pada Toolchain, jika memlilih LLVM maka compilernya menggunakan clang, sedangkan jika menggunakan GCC maka compilernya menggunakan i386-linux-gnueabli-gcc. Kedua compiler tersebut memiliki kelebihan masing-masing. LLVM lebih cepat dan lebih sedikit penggunaan memory, sedangkan GCC lebih banyak support target.

Setelah itu, build konfigurasi dengan cara klik kanan pada libcocos2dx di tab Project Explorer, lalu pilih Build Configurations > Build Selected… Kemudian akan muncul jendela sebagai berikut:

Kemudian centang Release, lalu jangan lupa centang Clean dan Build. Setelah itu, klik OK. Anda dapat melihat proses tersebut pada tab Progress. Proses ini membutuhkan waktu yang cukup lama. Anda dapat melihat lebih detail prosesnya di tab Console. Untuk menampilkan tab Console, Anda dapat lakukan dengan cara pilih menu Window > Show View > Console. Jika build sudah selesai maka tampilan pada Console akan seperti di bawah ini:

Kemudian akan muncul folder baru di dalam libcocos2dx dengan nama Release.

Build library Cocos2d-x telah berhasil dan Anda dapat melanjutkan ke tahap berikutnya.

 

Menyiapkan Contoh Project

Tahap ini hampir sama seperti proses menyiapkan library. Namun, kali ini kita hanya fokus pada file project cpp-tests pada tab Project Explorer. Kita juga harus mengaktifkan mode Release pada Build Configurations dengan cara klik kanan pada cpp-tests di tab Project Explorer. Kemudian pilih Build Configurations > Set Active > Release seperti gambar di bawah ini:

Kemudian buka properties pada cpp-tests dengan cara klik kanan pada cpp-tests di tab Project Explorer, lalu pilih Properties. Selanjutnya, muncul jendela Properties for cpp-tests. Setelah itu, buka C/C++ Build, lalu pilih Tizen Settings. Atur konfigurasi seperti di bawah ini:

Pada jendela Properties for cpp-tests buka Others, kemudian klik Project Preferences, lalu  centang libcocos2dx. Setelah itu, klik OK untuk menyelesaikan konfigurasi.

Setelah itu, Rebuild dengan cara klik kanan pada cpp-tests di tab Project Explorer, lalu pilih Build Configurations > Build Selected…. Kemudian akan muncul jendela seperti berikut:

Pastikan Anda sudah mencentang Release, Clean, dan Build. Kemudian klik OK untuk membuat proses build. Proses ini cukup memakan waktu lama, tetapi tidak selama ketika build libcocos2dx. Anda dapat melihat pada tab Console untuk proses lebih detailnya. Tunggu sampai proses build selesai.

Jika berhasil maka akan muncul folder baru dalam project cpp-tests dengan nama Release.

  Tips: Jika muncul error “cannot find -lcocos2dx” maka cek kembali pada konfigurasi di library dan di project. Pastikan kedua konfigurasi tersebut sama.

 

Membuat Package TPK dan Menguji Aplikasi/Game

Sebelum membuat package, Anda harus mengatur konfigurasi di tizen-manifest.xml  dengan klik dua kali atau dengan klik kanan pada tizen-manifest.xml, kemudian Open With > Tizen Manifest Editor. Kemudian akan muncul Editor untuk Tizen Manifest nya.

Atur Application ID, Package, Version, Label sesuai dengan game Anda. Sebaiknya untuk API Version diisi versi 2.4.

Kemudian pada tab Features, tambahkan informasi jika game Anda sudah support ke semua ukuran layar dengan cara klik icon Plus, lalu tambahkan screen.size.all (jika game Anda support semua resolusi).

Jika game Anda memiliki ukuran resolusi tertentu, Anda dapat mengganti atau menambahkan ukuran resolusi tersebut. Pada tab Privilages, cek apakah menggunakan API tambahan di aplikasi atau game Anda.

Kemudian langkah terakhir, membuat package TPK dengan cara klik kanan pada cpp-tests, lalu klik Build Signed Package.

 

Tunggu proses selesai, jika berhasil maka akan muncul notifikasi bahwa TPK sudah berhasil dibuat.  File tersebut dapat dicari di dalam folder Release.

 

File ini adalah file yang akan disubmit ke Tizen Store.

File TPK yang dibuild dengan release maka targetnya dipakai untuk device dan bukan untuk dijalankan di emulator. Jika Anda tidak memiliki device Tizen, Anda dapat menggunakan remote device.

 Anda dapat melihat letak file TPK tersebut dengan cara klik kanan pada file TPK, kemudian pilih Properties. Setelah muncul jendela Properties for org.tizen.cpp-tests-1.0.0-arm.tpk, lalu  lihat info di Location pada Resource.

Ketika menghubungkan USB device ke komputer, pastikan device Anda terdeteksi pada panel Connection Explorer.

Ketika akan menjalankan pada device, cukup klik kanan pada project cpp-tests, kemudian klik Run As, lalu pilih Tizen Native Application.

Berikut ini adalah contoh salah satu dari 71 contoh pada project cpp-test yang dijalankan di device Samsung Tizen Z2:

Di project cpp-tests terdapat 71 contoh yang dapat Anda pelajari sebagai referensi, baik itu 2D, 3D, partikel, networking, dll.

 

Pengembangan Lanjut

Developer dapat submit aplikasi atau game mereka di Tizen Store sehingga bisa dinikmati oleh pengguna device berbasis sistem Operasi Tizen. Developer juga dapat memiliki Account Store secara gratis dengan langsung mengunjungi link http://seller.tizenstore.com atau Anda dapat melihat pada artikel Membuat Akun Tizen Store dan Publish ke Tizen Store (Gratis).

Berikut link referensi untuk memudahkan Anda dalam mengembangkan game:

Bagi developer yang tertantang ingin membuat Game/Aplikasi Tizen, Anda bisa mengikuti Indonesia Next Apps 4.0 – Tizen Smartphone Challenge dan disediakan pula Device Tizen di beberapa kota di Indonesia bagi developer yang ingin melakukan testing. Lebih lanjut, silakan kunjungi link berikut: Samsung Tizen Local Community Officer

 

Materi ini merupakan pembaruan dari materi sebelumnya:

Referensi:


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.