Algorithma Collision Detection Sederhana

Dalam pembuatan game akan sering digunakan collision detection yang digunakan untuk memberikan interaksi antara object dengan object yang lain. Seperti ketika tembakan mengenai musuh, ketika pesawat saling bertabrakan, atau ketika object mengenai pos point, dan lain sebagainya.

Kemudian karena berhubungan dengan object, biasanya collission detection akan dibutuhkan untuk mendeteksi tiap object yang terdapat dalam game, sehingga diperlukan algorithma yang seefektif mungkin agar game tidak terlalu memakan memori untuk deteksi object yang bersinggungan saja.


Collision detection yang paling sederhana adalah dengan mendeteksi area persegi masing-masing object. Seperti ditunjukkan dalam gambar di atas dan pseudocode dibawah ini, masing-masing object dihitung berdasarkan area persegi yang bersinggungan. Sehingga meskipun nilai pixel memiliki nilai alpha 0, namun jika masih terdapat pada area persegi object, maka masih dianggap bersinggungan.

if(bx1<axo || bxo<ax1 || by1<ayo || byo<ay1){ 
 //not collide 
} 

Implementasi tutorial singkat dalam posting ini dapat dilihat dalam video tutorial pembuatan puzzle game dengan Java Greenfoot berikut:


Dalam blog ini penulis tidak menyediakan source code langsung. Karena dalam video sudah ditunjukkan implementasi collision detection pada fungsi checkCollision. Dan juga hasil interaksinya pada object, serta contoh interaksi collision detection yang berkesinambungan.

Komentar



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Game TicTacToe dengan Greenfoot

Algorithma Julianday dengan Java

Balapan Santai Kediri-Malang tiap Hari Senin Pagi

Jasa Penjadwalan Semester, UTS dan UAS Perguruan Tinggi menggunakan Google Sheet

Kaidah Baku untuk Konsistensi Data (PT, Tbk, Pty., & Ltd.)

Besar Pajak Tahunan Honda Versa 2016 di Tahun 2022

Ketika Pengelola Basis Data Terabaikan

Menyikapi Ucapan AI Pejabat

Menyembunyikan Failed Load Images di Blogger