Blogging for sharing, sekedar berbagi ilmu dan pengalaman

Membuat Aplikasi Android Serasa Native di Unity menggunakan MaterialUI

November 07, 2017 Posted by Ahmad Saifuddin Azhar , No comments


Mungkin artikel saya kali ini lebih cocok ditujukan bagi kalian game developer yang sudah biasa menggunakan tool Unity untuk membuat game namun ingin membuat aplikasi native Android tanpa ingin belajar lagi alias memanfaatkan skill yang sudah ada.

Artikel ini saya tulis karena saya kebetulan saya mendapatkan pekerjaan membuat sebuah aplikasi Android namun skill Android programming saya masih pas-pasan alias butuh belajar lagi. Karena tuntutan waktu akhirnya saya mencoba browsing tentang membuat aplikasi menggunakan Unity. Pencarian saya berujung di sebuah plugin unity MaterialUI yang dapat diunduh di asset store https://www.assetstore.unity3d.com/en/#!/content/51870 dengan harga $50.00. Setelah melihat-lihat review akhirnya saya putuskan menggunakan MaterialUI sebagai framework aplikasi saya.

Plugin MaterialUI ini cukup lengkap, terdiri dari berbagai komponen dasar UI dengan desain Material seperti pada gambar di bawah ini


Semua komponen berbasis UnityUI atau sebagai child dari Canvas, jadi lebih integrate dengan UI bawaan Unity. Berikut ini beberapa contoh UI yang disediakan oleh MaterialUI

Material button, berbagai jenis button dengan template Material, lengkap dengan animasi ketika di klik.

Unity Android Material UI Button
Material Button

Checkbox yang tersedia dengan template disable, enable, dan colored

Unity Android Material UI Checkbox
Checkbox

Ada juga element slider 

MaterialUI Unity slider
MaterialUI Unity slider

Tidak ketinggalan switch

MaterialUI Switch
MaterialUI Switch

Dan yang paling penting adalah inputfield, dimana inputfield ini bener-bener mirip sama aslinya lengkap dengan animasinya

MaterialUI Inputfield
MaterialUI Inputfield

Yang paling keren dari MaterialUI ini adalah date dan time picker

MaterialUI Time Picker
MaterialUI Time Picker

MaterialUI Date Picker
MaterialUI Date Picker

Selain UI diatas masih banyak berbagai element yang ada pada MaterialUI yang bisa dibilang sudah cukup lengkap seperti Dialog manager, Toast manager, berbagai icon dsb. Mungkin gambar di bawah bisa mendeskripsikan apa saja yang ada dalam plugin MaterialUI ini.

MaterialUI sample scenes
MaterialUI sample scenes


Salah satu kekurangan dari MaterialUI ini adalah tidak adanya sistem mirip activity, jadi kita harus membuat sendiri secara manual mulai proses load activity, animasi transisi dsb.

Issue terbesar dari MaterialUI (mungkin issue classic Unity UI) adalah pada performance. Lambatnya performance tidak terlalu terasa jika hanya sekedar klik-klik di satu scene atau satu Activity. Tapi begitu Activity baru di load dan animasi transisi di jalankan baru kerasa performance jatuh, terutama jika di dalam UI terdapat banyak Text.

Akhirnya kesimpulannya adalah tergantung bagaimana kebutuhan Anda. Jika memang aplikasi yang dibuat adalah aplikasi simple yang hanya terdiri dari beberapa scene activity dimana flow aplikasi tidak terlalu sering gonta-ganti activity maka MaterialUI cocok digunakan daripada upgrade skill anda dengan belajar Android native programming. Tapi jika Anda membuat aplikasi yang cukup komplek dengan berbagai macam Activity dan berbagai macam custom UI maka sepertinya MaterialUI ini kurang cocok karena seiring aplikasi bertambah komplek performance juga bertambah jatuh. 

Mungkin sekian dari saya, jika ada kekurangan mohon maaf. Tetap semangat dan terus berkarya ^_^



Monster Age, Pengalaman Ikut Project Game Karya Anak Bangsa Buatan Surabaya

November 03, 2017 Posted by Ahmad Saifuddin Azhar No comments

Preview Monster Age
Preview Monster Age

Kayaknya sudah lama banget blog ini g keurus. Dipikir-pikir sepertinya sudah setahun blog ini hampir gak kesentuh sama sekali. Kemarin setelah ngbrol-ngobrol sama mas pemilik blog www.afietadi.web.id tiba-tiba jadi pengen nulis lagi dikit-dikit.
Langsung aja kali ini saya pengen share tentang salah satu project saya yang sebenarnya sudah dibuat sekitar 1,5 tahun yang lali. Project ini dibuat oleh studio Artlogic Games di Surabaya, dimana waktu itu saya bergabung dengan Artlogic sebagai programmer. Project ini dikerjakan oleh tim inti sebanyak 8 orang meskipun dalam credit nya ditulis lebih dari 8 orang karena beberapa orang hanya ikut sebagian project kemudian out. Project dikerjakan selama kurang lebih satu tahun sampai bisa jadi Monster Age yang full polish.

Monster Age ini adalah game Monster Collecting. Secara singkat flow dari game ini kurang lebih mirip-mirip game Pokemon dimana kita sebagai pemain dituntut mencari monster, menaikkan level monster, kemudian bertarung. Ketika level sudah tinggi monster bisa di evolve atau bahkan di fusion. Adapun secara gameplay game ini bertype turn based battle dimana player dan musuh saling menyerang secara bergantian. Setiap Monster memeliki elemen masing masing. Adapun elemen yang ada di universe Monster Age ini adalah Fire, Water, Earth, Thunder, Dark, Light. Setiap elemen memiliki keunikan sendiri dan memiliki kelebihan dan kelemahan masing-masing.


Isu terbesar yang saya hadapi adalah tentang performa. Inilah satu pelajaran yang sangat berharga dimana untuk membuat game terutama game mobile harus sangat sangat diperhatikan sejak awal bagaimana performa game tersebut jika di run di device. Hindari sering berpindah scene karena ketika pindah scene sistem harus me-load ulang semua yang ada di dalam scene dimana ini memerlukan cost performance yang cukup tinggi. Gunakan berbagai metode untuk menghindari pindah scene, misal menu dalam bentuk dialog dsb. Gunakan juga berbagai metode peningkatan performa seperti yang ditulis disini https://unity3d.com/learn/tutorials/topics/performance-optimization

Oke langsung aja ini adalah official trailer dari Monster Age.


Ini adlah tampilan Main Menu dari Monster Age

Main Menu Monster Age


Ini adalah tampilan set formation, dimana disini kita bisa menentikan monster apa yang akan kita pakai di pertempuran

Formation Monster Age


Ketika akan bertarung ada informasi tentang Gameplay dan musuh apa yang akan kita hadapi di permainan.

Chapter Monster Age

Dan ini adalah tampilan gameplay dari Monster Age

Gameplay Monster Age

Gameplay Monster Age

Dan ini adalah salah satu fitur yang saya suka, Hatchery. Dimana di menu ini kita dapat menetaskan telur sehingga kita memperoleh monster. Adapun apa monster yang di dapat adalah random, jadi ada rasa harap-harap cemas deh

Hatchery Monster Age

Mungkin sekian review saya, mungkin bagi yang sudah baca atau mau bertanya langsung aja tinggalin jejak di komentar. Sekian dari saya tetap semangat dan terus berkarya ^_^