LWJGL Java Game Dev

Memahami Sistem Koordinat Dalam Pembuatan Sebuah Game

May 18, 2019

Dalam membuat game jika kamu menggunakan game engine seperti libgdx, LITIEngine atau game engine yang lainya mungkin kamu tidak terlalu belajar bagaimana cara rendering engine nya bekerja.

Tulisan ini adalah lenjutan dari series game development LWJGL cek artikel sebelumnya membahas tentang game loop disini.

Dengan menggunakan LWJGL kita tidak bisa membuat game tanpa belajar bagaimana Rendering sebuah tampilan game itu bekerja. Karena LWJGL ini hanya menyediakan kita akses untuk low level api terhadap rendering yang ada di opengl.

Mungkin di awal ini akan membuat sedikit pusing untuk memahami bagaimana komputer memproses data untuk menjadi sebuah tampilan. Akan tetapi keuntunganya akan mendapatan keleluasaan dalam proses penglahan data nya nanti.

Pengantar tentang koordinat

Kamu perlu belajar terlebih dahulu sebuah fundamental paling dasar tentang sebuah proses komputer melukis pada layarnya. Mungkin disini nanti ada sedikit teori tentang matematika.

Baiklah sekarang masuk ke sebuah sistem koordinat. Jadi sebuah object dalam ruang itu memiliki posisi dimana dia berada. Nilai koordinat itu menjadi data yang diproses oleh komputer untuk menggambar dimana object itu berada.

Coba fikirkan sebuah map yang cukup familiar, dalam sebuah map sistem koordinat biasa ditentukan dalam dua nilai yaitu latitude dan longitude. Hanya dengan dua nilai koordinat itu kamu bisa tau persis dimana posisi itu berada pada map.

Tentu saja sistem koordinat yang digunakan untuk memposisikan object dalam bumi melalui map tidak cukup dengan dua koordinat itu, untuk memposisikan pesawat misalkan kamu butuh nilai koordinat altitude yang menentukan tinggi dan rendahnya posisi pesawat.

Namun idenya adalah dengan koordinat ini kamu bisa mengenali posisi akan suatu object. Sama dalam sebuah game, akan ada banyak object yang akan di tulis oleh komputer kedalam layar, untuk itu komputer perlu tau dimana dia harus menggambar object tersebut.

Para ahli matematika merumuskan bermacam - macam sistem koordinat, seperti (Cartesian, polar dll). Mari lihat beberapa macam koordinat yang biasa digunakan dalam penempatan object dalam sebuah game.

Koordinat Catesian

Salah satu sistem koordinat yang paling dasar adalah Catesian sistem koordinat ini hanya memiliki dua sumbu yang disebut dengan sumbu x dan sumbu y.

Cartesian Coordinate

Dalam sistem koordinat cartesian ini biasa digunakan untuk game 2D yang mana hanya memiliki 4 arah suatu object itu diposisian. Yaitu arah kanan kiri dan atas bawah.

Tapi meskipun disini kamu bisa mendefinisikan 4 arah tersebut pada suatu object, kamu hanya perlu menentukan dua macam nilai yang biasa disebut x dan y. Dalam hal ini konsepnya cukup simple saja.

Jika kamu ingin menentukan posisi keatas maka nilai yang perlu diubah adalah y jika nilainya lebih dari 0 maka dia ke atas begitu sebaliknya jika nilainya dibawah 0 misalnya -1 maka posisi akan kebawah.

Lalu untuk x juga sama jika nilainya di atas 0 misalkan 1maka posisi akan kekanan dan sebaliknya jika posisinya dibawah 0 maka posisi akan kekiri. Cukup simple bukan?

Salah satu hal yang juga perlu di perhatikan yaitu, posisi titik pusat dari sebuah koordinat itu dimulai. Dan juga sudut pandang yang di ambil. Sebagai contohnya kalau kamu berhadap - hadapan dengan teman mu maka kamu akan memiliki sudut pandang yang berbeda dengan teman didepanmu.

Kanan menurutmu yang sedang berhadap - hadapan dengan temanmu, akan menjadi berbeda. Untuk itu kamu bisa membalik nilai dari sistem koordinatini, di sesuaikan dengan sudut pandang yang dipilih. Maka jika di visualisasikan untuk koordinat itu bisa menjadi seperti berikut ini jika dibalik sudut pandangnya.

Cartesian Coordinate

Koordinat 3D Cartesian

Selanjutnya adalah sistem koordinate 3D, menggunakan sistem 3D Catesian Coordinate. Yang mana dalam hal ini kamu bisa menentukan sebuah posisi dari suatu object melalui 3 macam nilai yang biasa disebut (x, y dan z).

Cartesian Coordinate

Nah secara simplenya begini cara kerja kordinat 3D Catesian ini, jika dalam sudut pandang 2D kamu hanya memiliki 4 posisi yaitu kanan, kiri dan atas bawah. Akan tetapi kalau dalam bidang 3D, object akan memiliki 6 koordinat yaitu kanan, kiri , atas bawah dana maju mundur.

Untuk nilainya juga sama dengan yang cartesian yang sudut pandang 2D dimana dimulai dengan menentukan sudut pandang nya, dan dari setiap sumbunya dimulai dari titik 0 jika nilanya bertambah maka posisinya akan bergerak sesuai sudut pandang.

Cartesian Coordinate

Kira - kira gambar diatas menjadi contoh pemberian nilai untuk posisi koordinatnya. Yang perlu di pahami koordinat itu beda dengan gambar yang mana kalau sebuah gambar nanti akan memiliki lebih banyak titik koordinat yang selanjutanya akan diberikan volume sehingga membentuk sebuah object.

Mempelajari sistem koordinat ini menjadi salah satu fundamental yang cukup penting untuk menjadi modal mengembangkan aplikasi game. Yang mana nantinya pemahaman koordinat ini akan menjadi bahan utama untuk membuat interaksi dan penggerakan object pada game.

Untuk tutorial kali ini kita tidak terlalu membahas penulisan kode, akan kita lanjutkan pada part berikut nya yaitu tentang game rendering. Setelah kita paham peletakan posisi dari sebuah object maka selanutnya kita pelajari bagaimana cara kita mengammbar sebuah object berdasarkan koordinat.

Jangan lupa untuk join mailing list saya untuk mendapatkan update tulisan - tulisan terbaru saya tentang game development.

Subscribe to My Newsletter

Thank you for your interest in my blog. Sign up to my newsletter to stay current on the latest news and information me and to be the first to see new blog posts.