Zetcil: Game Mechanic Framework For Unity Game Engine


Technomedialabs - Zetcil Framework adalah library script C# yang berfungsi untuk mempercepat proses pengembangan game berbasis Unity. Framework ini merupakan hasil integrasi Kancil Code, IMedia9 SDK, dan IMedia9. KIT dan beberapa script lain dari berbagai sumber berlisensi Creative Common (CC).

Zetcil Framework dikembangkan dengan menerapkan konsep MVC (Model, View, Controller) yang merupakan konsep dalam pemrograman aplikasi berbasis web. Secara garis besar, framework ini  memetakan semua mekanisme umum dalam game dan memecahnya menjadi kelas-kelas modular yang dapat saling berinteraksi tanpa harus melakukan pemrograman ulang pada setiap scriptnya.

Zetcil Framework ditujukan bagi anda yang ingin membangun game berbasis Unity namun tidak memiliki keterampilan programmer. Meski demikian, sangat disarankan agar Anda memahami konsep pola desain, analisis mekanik game, dan pemecahan masalah sebelum menggunakannya.

Pengembangan framework ini dimulai dengan memecah tujuh genre game paling populer. Genre permainan ini adalah First Person Shooter (FPS), Game Bermain Peran Peran (ARPG), Side Scrolling / Platformer, Top Down Shooter (TDS), Strategi Waktu Nyata (RTS), Arena Pertempuran Mobile (MOBA), dan Augmented Reality (AR ) BattleCard.

Hasilnya adalah mekanik permainan dapat dipecah menjadi dua bagian utama, yaitu General Game Mechanic dan Customized Game Mechanic . General Game Mechanic adalah fungsi gim yang dapat ditemukan di hampir setiap jenis gim seperti bilah kesehatan, pengumpulan skor, gerakan, pemotretan dll.

Sedangkan Customized Game Mechanic , yang merupakan mekanik yang jarang ditemukan dan biasanya merupakan gim unik karakteristik, misalnya, gerakan katapel pada Angry Bird atau mengetuk Flappy Bird. Lalu kami memecah kedua jenis mekanika game ini menjadi beberapa elemen kecil yang fungsinya lebih spesifik.



A. Data Model & Behavior
Elemen ini adalah kumpulan data dasar atau variabel yang terkait dengan kemajuan dalam game seperti integer, float, string, atau boolean. Data ini juga memiliki perilaku sendiri sesuai dengan kebutuhannya. Misalnya, elemen pengatur waktu harus dilengkapi dengan metode perilaku kenaikan / penurunan atau bilangan bulat harus dilengkapi dengan fungsi tambah atau kurangi.

B. Game Logic Controller
Elemen ini adalah kumpulan logika pemrograman dasar. Misalnya, periksa nilai variabel dan lakukan fungsi-fungsi lain yang diperlukan, perulangan array data, membaca teks file atau konfigurasi xml, memutar file suara / video, atau fungsi untuk mengatur adegan dalam game.

C. User Interaction
Elemen ini adalah kumpulan fungsi yang terkait dengan interaksi input dengan pengguna. Misalnya, fungsi untuk mendeteksi tombol keyboard apa yang ditekan, deteksi gerakan untuk input seluler seperti ketuk, geser, putar, dan cubit, atau deteksi suara.

D. Collision Handler
Elemen ini adalah kumpulan fungsi khusus untuk mendeteksi tabrakan antara dua atau lebih sprite / jerat. Fungsi ini terkait langsung dengan komponen utama di Unity dan akan memeriksa perhitungan Rigidbody dan Collider untuk game 2D dan 3D.

E. Visual Presentation
Elemen ini adalah kumpulan fungsi yang mengelola aspek visual game. Misalnya, menampilkan berbagai elemen UI yang terintegrasi dengan datanya sendiri, mengelola gerakan Kamera sesuai genre, atau menambahkan efek khusus dalam game yang dipicu oleh input atau tabrakan pengguna.

F. Special Behavior & Data Communication
Elemen ini adalah kumpulan fungsi khusus yang berisi desain mekanik game baru atau modifikasi untuk paket pihak ketiga, seperti Vuforia, Mesin Foton atau OS Spasial. Elemen ini harus memiliki variabel atau metode publik yang dapat diintegrasikan dan berkomunikasi dengan elemen lain.

Secara singkat, cara kerja Zetcil dapat dilihat pada diagram berikut:


Zetcil menggunakan elemen Model Data dan Perilaku sebagai input utama. Elemen ini juga dapat dimasukkan ke dalam elemen Interaksi Pengguna dan elemen Game Logic Controller atau langsung menampilkan nilai dalam grup Presentasi Visual. Sementara itu, Game Logic Controller akan mengintegrasikan data lain dari Collision Handler atau Perilaku Khusus dan elemen Komunikasi Data, dan menunjukkannya masing-masing ke Presentasi Visual.

Author: Rickman Roedavan
Share on Google Plus

About Technology Multimedia

TechnomediaLabs adalah media online dengan beragam konten seputar teknologi informasi, industri kreatif, multimedia interaktif, transmedia storytelling, dan beragam pengetahuan lainnya yang dibahas dalam bahasa yang sederhana, lugas, dan inspiratif.