Arsitektur Game Engine
arsitektur mesin game adalah system perangkat
lunak yang dirancang untuk menciptakan dan pengembangan video game. Dapat
dikatakan bahwa arsitektur mesin game itu adalah rancangan dari sistem
perangkat lunak dari game itu sendiri. contohnya seperti GameEnginev12. Game
Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan
pengembangan video game.
Ada banyak mesin permainan yang dirancang
untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti
Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya disediakan
oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D
grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script,
animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading,
dukungan lokalisasi, dan adegan grafik.
Proses pengembangan permainan sering dihemat
oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk
menciptakan permainan yang berbeda.
Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main().’ Biasanya program utama ini relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu program game.
Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main().’ Biasanya program utama ini relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu program game.
Kalau
game diilustrasikan sebagai ‘musik’ yang keluar dari mp3 player, maka engine
adalah ‘mp3 player’ dan program utama adalah ‘data mp3’ yang dimasukkan ke
dalam mp3 player tersebut. Dengan adanya engine, waktu, tenaga dan biaya yang
dibutuhkan untuk membuat game software menjadi berkurang secarasignifikan.
Beberapa game dengan jenis dan gameplay yang hampir sama bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih bersifat reaktif daripada prosedural. Sulit untuk menggambarkan engine secara keseluruhan dalam flow-chart, karena alur program bisa diatur sesuai dengan keinginan pemakai engine, yaitu game programmer.
Contoh-contoh dari game engine yang sering
atau biasa digunakan diantaranya :
§ Rage
§ Unreal Engine
§ HPL
§ Frosbite
§ Unity
§ Source Engine
§ Sage
Interaksi Fisik Dalam Teknologi
Interaksi menurut Hormans adalah
suatu kejadian ketika aktivitas atau sentimen yang dilakukan oleh seseorang
terhadap individu lain diberi ganjaran (reward) atau hukuman (punishment)
dengan menggunakan suatu aktivitas atau sentimen oleh individu lain yang
menjadi pasangannya. Konsep pengertian interaksi yang dikemukakan oleh Hormans
yaitu suatu tindakan yang dilakukan oleh seseorang dalam suatu interaksi
merupakan suatu stimulus bagi tindakan individu lain yang menjadi pasangannya.
interaksi fisik ialah salah satu
bentuk interaksi yang terjadi jika ada dua orang atau lebih melakukan kontak
dengan menggunakan bahasa-bahasa tubuh. Contoh interaksi ini : posisi tubuh,
ekspresi wajah, gerak-gerik tubuh dan kontak mata.
Dalam lingkungan
game, interaksi fisik dapat dimaksud dengan menyerap
pengertian diatas, yaitu menjadi interaksi fisik ialah salah
satu bentuk interaksi yang terjadi jika ada dua objek atau lebih melakukan
kontak. Kontak yang terjadi antara objek – objek tersebut umumnya adalah collision atau tabrakan.
Collision
Detection
Collision Detection dibutuhkan untuk
memastikan tidak ada objek yang saling menembus.
Pada dasarnya, objek
baik 2 dimensi maupun 3 dimensi pada Teknologi Game dan digital, secara umumnya
objek – objek tersebut bukanlah objek yang memiliki kemampuan fisik, atau
secara lain objek tersebut hanyalah susunan dari titik, garis, dan penampang yang
terhubung satu sama lain, dan bisa dianggap bahwa objek tersebut hanyalah
sebatas bentuk, tanpa memiliki kemampuan.
Agar objek – objek
tersebut dapat mensimulasikan kemampuan fisik, objek – objek tersebut harus
diberikan pemahaman dengan menggunakan aljabar linear dan komputasi
geometri.
Komputasi geometri
tersebut digunakan untuk memberikan batas pada objek. Walaupun objek tersebut
terlihat sudah memiliki penampang, sebenarnya penampang tersebut bukanlah
batasan dari sisi terluar objek tersebut. Oleh karena itu, komputasi geometri
dibuat dengan parameter bentuk dan volume dari objek tersebut. Umumnya, bentuk
batasan ini disebut bounding box ( batas kotak ).
Aljabar linear
digunakan untuk memberitahukan bahwa, ketika batas tersebut terletak pada
koordinat yang sama atau berpotongan dengan batas objek lain, maka objek –
objek tersebut mensimulasikan tabrakan.
Pada awalnya,
penggunaan algoritma untuk pendeteksian tabrakan ini bekerja dengan cara mudah,
yaitu dengan cara mengecek apakah penampang dari batas objek A dengan penampang
dari batas objek B akan saling berpotongan. Tentu saja hal tersebut akan
bekerja. Tapi, bayangkan apabila objek yang digunakan sangat banyak. Setiap
penampang dari batas objek A = [a1, a2, …, an]
akan melakukan pengecekan sampai ke penampang dari batas objek N = [n1,
n2, …, nn]. Mungkin algoritma ini akan bekerja dengan
baik apabila hanya terdapat 2 objek dalam lingkungan tersebut.
Dalam perkembangan
pendeteksian tabrakan, konfigurasi kemampuan fisik dari satu pergerakan ke
pergerakan selanjutnya hanya berubah sedikit. Banyak objek – objek yang tidak
bergerak sama sekali. Algoritma telah di desain sehingga perhitungan telah
selesai untuk menentukan bahwa pergerakan terdahulu dapat digunakan kembali
untuk pergerakan di masa kini, yang menghasilkan perhitungan selesai dengan
lebih cepat.
Perkembangan tersebut
tujuan nya hanya untuk mencari dan menentukan pasangan – pasangan dari objek –
objek yang mungkin berpotongan. Pasangan – pasangan tersebut akan menganalisis
pergerakan kedepannya.
Logikanya adalah
setiap kotak direpresentasikan dengan tiga bentuk interval ( misalkan, sebuah
kotak akan direpresentasikan dengan I1 x I2 x I3 =
[a1, b1] x [a2, b2] x [a3,
b3] ). Jika terdapat 2 kotak ( dengan bounding box nya
masing – masing ) I1 x I2 x I3 dan
J1 x J2 x J3akan berpotongan jika,
dan hanya jika, I1 berpotongan dengan J1, dan
seterusnya. Maka, pada pergerakan tersebut dan untuk ke pergerakan selanjutnya,
Ik dan Jk berpotongan, sehingga hal tersebut
akan sama untuk pergerakan lainnya. Sebaliknya, jika mereka tidak berpotongan
pada pergerakan sebelumnya, maka pergerakan mereka tidak akan berpotongan.
Sehingga untuk
mengurangi masalah tersebut, dibuatkan tiga daftar interval ( satu untuk setiap
sumbu, X,Y, dan Z). Maka dari itu didapat matriks n x n, M = (mij)
dengan isi nol dan satu: mij adalah 1 jika interval i dan j
berpotongan, dan 0 jika mereka tidak berpotongan.
Spatial
Partitioning
Algoritma alternatif
di kelompokkan dibawah spatial partitioning, termasuk octress,
binary space partitioning ( BSP Trees ), dan yang lainnya yang
memiliki pendekatan yang serupa. Hal ini digunakan dengan membagikan sebuah
wilayah menjadi beberapa bagian, dan jika dua objek tidak terdapat pada bagian
yang sama, maka objek – objek tersebut tidak perlu dicek apakah akan
berpotongan. BSP Trees bisa memperhitungkan terlebih dahulu,
yang mana pendekatan tersebut sangat cocok untuk didefinisikan di dalam objek
berbentuk tembok, dan objek halangan yang tetap dalam sebuah game. Algoritma
tersebut secara umum lebih dulu diketahu daripada algoritma yang telah
dijabarkan sebelumnya.
Bounding Boxes
Bounding boxes ( atau Bounding
volumes ) seringnya digunakan untuk objek yang berbentuk persegi atau
kubus, tetapi objek dengan bentuk lainnya dapat menggunakannya. Bounding
diamond, minimum bounding parallelogram, convex hull, bounding circle, atau bounding
ball, dan bounding ellipse sudah diujicoba, tetapi bounding
boxes tetap menjadi algoritma yang popular karena simpel.
User Interface Pada Game Computer
Antarmuka
(Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem.
Antarmuka (Interface) dapat menerima informasi dari pengguna (user) dan
memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur
penelusuran masalah sampai ditemukan suatu solusi. Antarmuka (Interface)
berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem
pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian
sistem secara berurutan sehingga pengguna mengerti apa yang akan dilakukan
terhadap suatu sistem.
Desain user interface dalam game berbeda dari desain UI lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatar dari pengguna yang sebenarnya, atau player. Sebuah Desain Antarmuka (Interface) pada suatu Game mempengaruhi kenyamanan dan sejauh mana user/pengguna meminati Game tersebut.
Dalam desain user interface game, terdapat sebuah teori yang dikemukakan oleh Erik Fagerholt dan Magnus Lorentzon dari Chalmers University of Technology. Dalam tesisnya mereka menulis tesis tentang desain user interface berjudul Beyond the HUD – User Interfaces for Increased Player Immersion in FPS Games.Mereka memperkenalkan istilah berbagai jenis interface yang berkaitan dengan desain video game.
HUD itu sendiri kepanjangan dari Heads – up display, merupakan metode dimana informasi secara visul disampaikan kepada pemain sebagai bagian dari antarmukan pengguna permainan. Biasanya menunjukkan bar/kotak HP(Health Point) ataupun MP(Mana Point) dan biasanya muncul di atas kepala karakter. Fungsi HUD ini untuk memudahkan pemain mengetahui kondisi karakter dalam permainan.
DAFTAR
PUSTAKA
https://www.ranggahamdan.com/2017/04/19/arsitektur-game-engine/ Diakses pada 04 April 2019, Pukul 10.14
https://www.ranggahamdan.com/2017/05/18/user-interface-pada-game/ Diakses pada 04 April 2019, Pukul 10.20
https://freemanof.wordpress.com/tugas/interaksi-fisik-dalam-teknologi-game/ Diakses pada 04 April 2019, Pukul 11.15