Arsitektur Game Engine
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. 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 secara signifikan.
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.
Tujuan Penggunaan Game Engine
Game engine
menyediakan seperangkat alat pengembangan visual di samping komponen software
digunakan kembali. Alat-alat ini umumnya diberikan dalam suatu lingkungan
pengembangan terpadu untuk mengaktifkan disederhanakan, perkembangan pesat dari
permainan dengan cara data-driven. Mesin pengembang Game upaya untuk
“pra-menciptakan roda” dengan mengembangkan suite perangkat lunak kuat yang
mencakup banyak unsur pengembang game mungkin perlu untuk membangun sebuah
permainan.
Kebanyakan
mesin permainan suite menyediakan fasilitas yang memudahkan pengembangan,
seperti grafik, suara, fisika dan fungsi AI. Mesin permainan ini kadang-kadang
disebut “middleware” karena, seperti dengan istilah naluri bisnis, mereka menyediakan
sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang
menyediakan semua fungsionalitas inti yang dibutuhkan, langsung dari kotak,
untuk mengembangkan sebuah aplikasi permainan sambil mengurangi biaya ,
kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video game
yang sangat kompetitif. Gamebryo dan RenderWare adalah seperti program
middleware banyak digunakan.
Seperti solusi
middleware lainnya, mesin permainan biasanya menyediakan abstraksi platform,
yang memungkinkan permainan yang sama untuk dijalankan pada berbagai platform
termasuk game konsol dan komputer pribadi dengan sedikit, jika ada, perubahan
yang dibuat ke kode sumber permainan. Seringkali, mesin permainan dirancang
dengan arsitektur berbasis komponen yang memungkinkan sistem tertentu dalam
mesin yang akan diganti atau diperpanjang dengan lebih khusus (dan sering kali
lebih mahal) komponen middleware game seperti Havok untuk fisika, Miles Sound
System untuk suara, atau Bink untuk Video.
Beberapa mesin
permainan seperti RenderWare bahkan dirancang sebagai rangkaian dihubungkan
secara longgar komponen middleware permainan yang bisa selektif dikombinasikan
untuk membuat mesin khusus, bukan pendekatan yang lebih umum dari memperluas
atau menyesuaikan solusi terintegrasi yang fleksibel. Namun diperpanjang
tercapai, hal itu tetap menjadi prioritas tinggi dalam mesin game karena
berbagai kegunaan yang mereka diterapkan. Meskipun kekhususan nama, mesin
permainan yang sering digunakan untuk jenis lain aplikasi interaktif dengan
kebutuhan grafis real-time seperti demo pemasaran, visualisasi arsitektur,
simulasi pelatihan, dan lingkungan pemodelan.
Beberapa mesin
permainan hanya menyediakan 3D real-time rendering kemampuan bukan berbagai
fungsi yang dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk
melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan
lainnya. Jenis mesin umumnya disebut sebagai “mesin grafis,” “mesin render,”
atau “mesin 3D” bukan meliputi lebih istilah “mesin permainan.” Terminologi ini
tidak konsisten banyak digunakan sebagai fitur lengkap mesin permainan 3D
disebut hanya sebagai “mesin 3D.”
Beberapa
contoh mesin grafis adalah: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine,
OGRE, RealmForge, Truevision3D, dan Visi Engine. Modern permainan atau mesin
grafis umumnya memberikan grafik adegan, yang merupakan representasi
berorientasi objek dari dunia permainan 3D yang sering menyederhanakan desain
game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya
yang luas.
Tipe Game Engine
Game engine
biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai
kemampuan pemrograman. Ada 3 tipe game engine yang ada saat ini, diantaranya :
Roll – your –
own – Game Engine.Banyak perusahaan game kecil seperti publisher indie biasanya
menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX
atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka
kadang menggunakan library komersil atau yang open source. Terkadang mereka
juga membuat semuanya mulai dari nol.Biasanya game engine tipe ini lebih
disukai karena selain kemungkinan besar diberikan secara gratis, juga
memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan
komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri.
Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang
balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk
menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam
beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat
mengganggu.
Mostly-ready
game engines.Engine ini biasanya sudah menyediakan semuanya begitu diberikan
pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries
model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang,
sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game
engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan
game engine sebelumnya yang benar-benar terbuka lebar.Hal ini
ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah
game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya
tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti
ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang
sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini
dapat menyingkat menghemat waktu dan biaya dari para developer game.
Point – and – click Engine.Engine ini merupakan engine yang
sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa
mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game
Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa
merilis game point-and-click yang kamu banget. Kekurangannya terletak pada
terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup
semuanya, mulai dari grafis hingga tata suara.Tapi bukan berarti game
engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas
tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan,
seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin
menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.
Beberapa Contoh Game Engine Open Source :
1. 3D
Game Studio
2. Delta
3D
3. Unreal
Engine
4. Panda
3D
5. Torque
6. Quake
Engine
Interaksi Fisik dalam
teknologi Game
Game Engine adalah perangkat
lunak yang digunakan untuk menciptakan perangkat lunak lain, dalam hal ini
adalah game. Kita bisa menyebutnya game authoring software, game creator tool,
software pembuat game, dan sebagainya.
Efek fisik dalam game
engine
Game konsol modern saat ini sudah dilengkapi dengan
perangkat gerak yang melibatkan aktivitas fisik sehingga permainan video game
dapat sekaligus melatih otot dan gerak selayaknya berolahraga, seperti halnya
yang disediakan oleh konsol Nintendo Wii, PS3 Move, atau yang lebih canggih
lagi, Xbox 360 Kinect.
Game – game yang melibatkan aktivitas fisik seperti game
tinju, tennis, sepakbola dsb, yang mengharuskan anda untuk menggerakkan tangan
dan anggota tubuh anda sesuai tema video game yang dimainkan. Untuk
mendapatkan seperangkat konsol tersebut tidaklah perlu mengeluarkan kocek yang
dalam. Ketiganya memiliki harga yang berlainan yang dapat disesuaikan dengan
kocek anda.
Efek fisik dalam game ada 2, yaitu positif dan negatif :
Efek positif dalam
game :
Setiap game memiliki tingkat kesulitan/Level yang berbeda.
Umumnya permainan ini dilengkapi pernak-pernik senjata, amunisi, karakter dan
peta permainan yang berbeda. Untuk menyelesaikan level atau mengalahkan musuh
secara efisien diperlukan strategi. Permainan game online akan melatih
pemainnya untuk dapat memenangkan permainan dengan cepat, efisien dan menghasilkan
lebih banyak poin.
Meningkatkan konsentrasi. Kemampuan konsentrasi pemain game
online akan meningkat karena mereka harus menyelesaikan beberapa tugas, mecari
celah yang mungkin bisa dilewati dan memonitor jalannya permainan. Semakin
sulit sebuah game maka semakin diperlukan tingkat
konsentrasi yang tinggi.
Meningkatkan koordinasi tangan dan mata. Penelitian yang
dilakukan di Manchester University dan Central Lanchashire University menyatakan
bahwa orang yang bermain game 18 jam seminggu atau sekita dua setengah jam
perhari dapat meningkatkan koordinasi antara mata dan tangan
meningkatkan kemampuan membaca. Psikolog dari Finland
Univesity menyatakan bahwa game meningkatkan kemampuan membaca pada anak-anak.
Jadi pendapat yang menyatakan bahwa jenis permainan ini menurunkan tingkat
minat baca anak sangat tidak beralasan.
Meningkatkan kemampuan berbahasa inggris. Sebuah studi
menemukan bahwa gamers mempunyai skil berbahasa inggris yang lebih baik
meskipun tidak mengambil kursus pada masa sekolah maupun kuliah. Ini karena
banyak alur cerita yang diceritakan dalam bahasa inggris dan kadang kala mereka
chat dengan pemain lain dari berbagai negara.
Meningkatkan pengetahuan tentang komputer. untuk dapat
menikmati permainan dengan nyaman dan kualitas gambar yang prima seorang peman
game online akan berusaha mencari informasi tentang spesifikasi komputer dan
koneksi internet yang dapat digunakan untuk memainkan game tersebut. Karena
pengguna komputer aktif biasanya mereka juga akan belajar troubleshooting
komputer dan overclocking.
Meningkatkan kemampuan mengetik. Kemampuan mengetik sudah
pasti meningkat karena mereka menggunakan keyboard dan mouse untuk
mengendalikan permainan.
Efek negatif dalam
game :
Kecanduan
Seperti yang disebutkan pada awal tulisan ini, kebahagiaan
dan kesenangan yang dirasakan para gamer pada saat memainkan game, akan membuat
orang tersebut ‘merindukan’ suasana hati yang mereka rasakan selama bermain
game, sehingga mereka akan cenderung kembali bermain dan bermain lagi untuk
mencari sensasi yang mereka rasakan tersebut. Untuk mencegah hal ini, adalah
dengan membatasi waktu bermain game. Misalnya, 2 atau 3x dalam satu minggu
dengan jangka waktu 1-2 jam.
Membatasi Hubungan Sosial
Pada dampak positif bermain game telah dijelaskan
bahwa bermain game dapat meningkatkan hubungan sosial secara online dengan para
gamer diseluruh dunia. Sebaliknya dalam hal ini justru akan membatasi hubungan
sosial di kehidupan nyata mereka. Banyak sekali para pecandu game memiliki
sedikit waktu untuk membina hubungan sosial di kehidupan nyata mereka sehingga
kemampuan berkomunikasi dan interaksi secara fisik dan oral menjadi tidak
terasah.
Mengganggu Kesehatan
Tunggu! Bukankah dalam poin sebelumnya disebutkan bahwa
bermain game dapat menyehatkan karena banyak game yang harus melibatkan
aktivitas fisik?
Hal itu memang benar, aktivitas dan gerakan fisik dapat
menyehatkan tubuh. Akan tetapi dengan bermain game yang terlalu intensif dapat
mengganggu kesehatan mata, karena bagaimana pun juga permainan video game
memerlukan kontak langsung antara mata dan layar monitor / TV yang dapat
menyebabkan kerusakan pada mata atau menurunnya daya lihat untuk efek
kedepannya.
Collision Detection
Algoritma untuk mendeteksi collision (tabrakan) sangat
dibutuhkan untuk program game. Flash mulai versi 5 ke atas menyediakan method
yang bernama hitTest untuk memeriksa apakah sebuah movie clip bertabrakan
dengan movie yang lain. Sebelum method hitTest ini tersedia, seorang programmer
Flash harus mendeteksi secara manual koordinat sebuah movie clip, apakah movie
clip ini bertabrakan dengan movie clip lain. Cara ini sangat merepotkan karena
harus mempertimbangkan pula ukuran movie clipnya.
User Interface pada
Game Komputer
User interface
berarti tampilan antar muka pengguna. Jika didefinisikan secara sederhana User
interface adalah penghubung atau mediator antar komputer dan manusia atau user
komputer itu agar hubungan antara perangkat komputer dengan user bisa terjalin.
User interface sangat berperan penting dalam dunia komputer karena dengan
adanya user interface maka kemudahan user dalam mengoprasikan suatu perangkat
komputer menjadi lebih mudah.
Desain user
interface dalam game berbeda dari desain user interface lainnya karena
melibatkan unsur tambahan fiksi. Fiksi melibatkan avatardari pengguna yang
sebenarnya atau player. Sebuah desain interface pada suatu game mempengaruhi
kenyamanan dan sejauh mana user atau pemain meminati game tersebut. Dalam
user interface game, terdapat sebuah teori yang dikemukakkan oleh Erik
Fagerholt dan Magnus Loretzon 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.
Dalam
desain antarmuka game terdapat beberapa elemen yang diantaranya adalah :
1. Diegetic
Elemen user interface yang
diegetik ada dalam dunia permainan (fiksi dan geometris) sehingga pemain dan
avatar dapat berinteraksi dengan mereka melalui visual, audible atau haptic.
Elemen UI diegetik yang dieksekusi dengan baik dapat meningkatkan pengalaman
narasi untuk pemain, memberikan pengalaman yang lebih mendalam dan
terintegrasi. Salah satu game yang mengimplementasikan elemen diegetic adalah
Assassin’s Creed. Assassin’s Creed berhasil menggunakan banyak pola diegetic
meskipun itu diatur dalam dunia sejarah karena pemain pemain menggunakan sistem
virtual reality di masa depan. Jadi cerita sebenarnya futuristik daripada
sejarah
2. Meta
Gambaran yang bisa muncul dalam
dunia game, namun tidak selalu divisualisasikan spasial untuk pemain.Contoh
yang paling jelas adalah efek ditampilkan di layar, seperti percikan darah pada
kamera untuk menunjukkan kerusakan. Contoh: Grand Theft Auto 4 Berinteraksi
dengan telepon di Grand Theft Auto 4 adalah contoh menarik. Ini meniru
interaksi dunia nyata – Anda mendengar dering telepon dan ada penundaan sebelum
karakter dan pemain menjawabnya. Elemen UI sebenarnya itu sendiri muncul pada
pesawat hub 2D, jadi itu benar-benar elemen Meta, meskipun awal interaksi yang
diegetik.
3. Spatial
Elemen User Interface yang
disajikan dalam ruang permainan 3D dengan atau tanpa suatu entitas dari dunia
permainan yang sebenarnya (diegetik atau non-diegetik).
Fable 3 adalah contoh di mana
unsur-unsur spatial yang digunakan untuk memberikan informasi lebih kepada
pemain dan mencegah mereka dari melompat ke layar peta. Jejak bersinar hampir
cocok dalam fiksi mengingat kualitas estetika ajaib itu tapi karakter tidak
dimaksudkan untuk menyadari hal itu. Ini memandu pemain ke tujuan berikutnya.
4. Non-Diagetic
Antarmuka yang diberikan di luar dunia game, hanya terlihat dan
terdengar ke pemain di dunia nyata desain interface ini semuanya mengunakan
visual heads-up display (HUD). semua menjadi sangat nyaman dengan penggunaan
heads-up display (HUD) dalam permainan. Sistem ini memberikan informasi penting
dengan cara yang cukup sederhana. Jika dilakukan dengan benar pemain bahkan
tidak tahu itu ada. Mass Effect 3 menggunakan banyak Non-diegetik elemen UI
untuk menginformasikan pemain senjata karakter dipilih dan kekuasaan – antara
lain. Mengingat pengaturan futuristik itu saya tidak bisa membantu untuk
berpikir jika beberapa informasi ini bisa telah terintegrasi ke dalam dunia
game, narasi, atau bahkan keduanya.
SUMBER :










