Pada sebuah arsitektur game engine ada sebuah bagian yang namanya audio, kalo dari blog https://isetta.io/blogs/engine-architecture/ :
Berangkat dari situ, akhirnya saya coba-coba koding Windows API dan kemudian terciptalah sebuah aplikasi untuk mengunci volume, dan di samping itu, aplikasi ini juga terinspirasi dari https://github.com/troylar/quiet-on-the-set.Sabtu, 27 Januari 2024
Membuat aplikasi berukuran 17kb
Rabu, 17 Januari 2024
Ganti Nama
Setelah beberapa minggu memikirkan nama dari blog ini sekaligus github-nya, akhirnya saya menemukan nama yang tepat, yaitu rendertree. Nama ini terinspirasi dari nama kanal youtube ini:
Minggu, 07 Januari 2024
Memantau ukuran heap?
Pada suatu ketika ada sebuah kejadian unik yang saya alami, jadi pada waktu itu saya ingin membuat objek yang di alokasikan ketika terdeteksi oleh kamera dan jika tidak terdeteksi objek itu dihapus.
Nah, jadi pada waktu itu objek nya saya buat jangan banyak-banyak dulu, maksimal 4 lah. Jadi ukuran array nya 4, jadi yang unik disini adalah: kan ada 4 objek, nah yang 2 aman, yang 2 lainya, bermasalah, padahal setiap objek diperlakukan dengan perlakuan yang sama. Seperti ini kejadianya:
Tapi sebenarnya solusinya simpel, cuman yang sedikit unik ya kenapa hal itu bisa terjadi, terlepas apapun penyebabnya, kok bisa kaya gitu. Setelah semuanya selesai diperbaiki maka aplikasinya bisa kita lihat seperti ini:
Jadi aplikasi di atas mendemostrasikan bagaimana skema pengalokasian memori ketika objek terdeteksi kamera, kita dapat melihat jumlah objek, ukuran heap, dan jumlah vertices. Dan physics body itu adalah member variable dari objek persegi tersebut, persegi kan vertex nya ada 4? Nah, jadi itu vertices total setotal-totalnya, jadi misal objeknya ada 4, berarti 4 x 4.
Saya juga baru-baru ini melihat seorang indie game developer asal swedia yang memiliki kesamaan dengan proyek ini, yaitu menggunakan raylib dalam membuat game sekaligus engine-nya. Dia membagikan konsep yang sangat menarik dalam menyelesaikan persoalan manajemen memori yang kompleks untuk mengatur objek yang jumlahnya sangat banyak seperti ini:
Sedangkan pada proyek open source yang saya buat, yaitu pada contoh repository ini:
https://github.com/shadow-heap/dynamic-memory-allocation
Digunakan untuk mengatasi masalah FPS drop ketika objek yang memiliki physics body jumlahnya terlalu banyak. Jadi untuk saat ini masalah itu bisa di atasi sesimpel dengan mengalokasikan objek yang memiliki physics body hanya pada saat terlihat oleh kemera. Sedangkan untuk objek seperti koin, sejauh ini masih sangat hemat memory dan bahkan tidak berpengaruh terhadapat CPU komputer modern, seperti ini:
Tapi sayangnya untuk saat ini mekanisme pengalokasian memory itu masih perlu dikembangkan lagi, supaya objek dengan physics body yang tampil pada kamera nantinya dapat lebih banyak lagi.
Kenapa harus selalu bumbu kuning?
Sebagai seorang penggiat game engine dan belakang ini banyak yang membahas tentang bahasa safety dan tidak safety. Apakah sebaiknya kita ber...
-
Pada suatu ketika ada sebuah kejadian unik yang saya alami, jadi pada waktu itu saya ingin membuat objek yang di alokasikan ketika terdeteks...
-
Sebagai seorang penggiat game engine dan belakang ini banyak yang membahas tentang bahasa safety dan tidak safety. Apakah sebaiknya kita ber...
-
Setelah beberapa minggu memikirkan nama dari blog ini sekaligus github-nya, akhirnya saya menemukan nama yang tepat, yaitu rendertree. Nama ...