Arsitektur Game Engine
Game Engine
Perangkat
lunak yang dapat membuat atau mengembangkan sebuah game yang ingin kita buat
dapat disebut game engine. Game ini dapat berbagai genre game yang dapat Anda
buat seperti Action, shooter, adventura dan sejenisnya. 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.
Arsitektur
Game
Adalah
rancangan atau blueprint dari sebuah game. Sedangkan 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.
Beberapa
elemen yang terdapat dalam game engine, yaitu:
- Tools/Data
Pada
pengembangan game paling tidak dibutuhkan beberapa tools seperti 3d model
editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali
kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan
fitur yang diperlukan.
- System
System
adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan
hardware yang berada di dalam mesin. System adalah bagian yang membutuhkan
perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang
berbeda. Di dalam system sendiri terdapat beberapa sub system seperti graphics,
input, sound, timer, configuration. System bertanggung jawab untuk melakukan
inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.
- Console
Console
dapat merubah setting game dan setting game engine di dalam game tanpa perlu
melakukan restart pada game tersebut. Console biasa digunakan dalam proses
debugging, seperti misalnya apabila game engine tersebut mengalami error maka
kita hanya mengoutputkan error message tersebut ke dalam console tanpa harus
melakukan restart.
- Support
Support
merupakan bagian yang sering digunakan pada system di galam game engine.
Support berisikan rumus-rumus matematika yang biasa digunakan, vector, matrix,
memory, file loader. Merupakan dasar dari game engine dan hampir digunakan
dalam semua project game engine.
- Renderer/Engine Core
Renderer/engine
core terdiri dari beberapa sub yaitu visibility, collision detection dan
response, camera, static geometry, dynamic geometry, particle systems,
billboarding, meshes, skybox, lighting, fogging, vertex shading dan output.
- Game Interface
Game
interface merupakan layer antara game engine dan game itu sendiri. Berfungsi
sebagai control yang bertuuan untuk memberikan interface apabila di dalam game
engine tersebut terdapat fungsi yang bersifat dinamis sehingga memudahkan untuk
mengembangkan game tersebut.
- The Game
Game
merupakan inti dari penggunaan game engine sendiri, sehingga ini tergantung
bagaimana pengguna dalam mengembangkannya.
Tipe-Tipe
Game Engine
Game
engine biasanya datang dengan macam-macam jenis dan tujuannya. Ada 3 tipe
game engine yaitu sebagai berikut :
- 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 engines
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.
Interaksi fisik pada teknologi game
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
Setiap program game yang akan kita
buat sangat membutuhkan suatu algoritma yang dinamakan Collision Detection atau
Deteksi Tubrukan. Apa itu Collision Detection? Apa Fungsi dari aloritma
tersebut? Untuk itu saya akan menjelaskan tentang Collision Detection. Collision Detection adalah proses
pengecekan apaka beberapa objek spesial saling bertumpuk atau tidak. Jika
ternyata ada dua buah objek saling bertempuk, maka kedua objek tersebut dapat
dikatakan saling bertumpukkan. Metode ini juga sering digunakan dalam membuat
game antara objek dengan objek atau objek dengan sebuah frame atau pembatas.
Sebagai contoh game Snake yang menggunakan metode Collision Detection antara
kepala ular yang kita perintah lewat keyboard denan objek tujuan atau pembatas
sebuah arena game.
Contoh lain pada Collision Detection
adalah pada game shooter, yaitu pada peluru dan objek sasaran akan menjadi
sebuag deteksi tabrakan. Untuk membuat metode deteksi tabrakan dengan
menggunakan logika if-else. Algoritma
untuk mendeteksi Collision (tabrakan) sangat dibutuhkan untuk program game.
Flash mulai versi 5 keatas menyediakan metode yang dinamakan hitTest untuk
memeriksa apakah sebuah movie clip bertabrakan dengan movie yang lain. Sebelum
metode hitTest ini tersedia, seorang programmer flash harus mendeteksi secara
manual koordinat sebuah movie clip, apakah movie clip ini bertabrakan dengan
movie clip yang lain. Tentunya cara ini sangat merepotkan karena harus
mempertimbangkan pula ukuran movie clipnya.
Algoritma
Collision Detection
Efek
Positif
- 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 berhasil didapat menyatakan bahwa orang yang bermain game sekitar dua setengah jam perhari dapat meningkatkan koordinasi antara mata dan tangan.
- Meningkatkan kemampuan membaca. Game dengan genre edukasi atau pendidikan banyak sekali manfaatnya. Menurut Psikolog dari Finland Univesity menyatakan bahwa game edukasi dapat 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. Para gamers yang sering bermain game online dengan genre apapun dengan berjalannya waktu dapat mempunyai kemampuan berbahasa inggris yang lebih baik. Ini karena banyak alur cerita yang diceritakan dalam bahasa inggris dan kadang kala mereka chat dengan pemain lain dari berbagai negara.
- Meningkatkan sportivitas. Sportif dan fair play adalah nilai-nilai umum yang dikembangkan dalam kompetisi pemuda. Video gamejuga menawarkan hal yang sama. Dia mengajarkan nilai-nilai keteraturan. Pada permainan online (onlinegame) misalnya, masing-masing pemain akan bersaing secara teratur satu sama lainnya.
- Membentuk tim kerja. Kerjasama tim yang kuat banyak terbina dalampermainan video game. Permainan online misalnya, membutuhkan pemain yang efektif berkomunikasi dengan tim mereka. Sementara itu, mereka terus melakukan tugas-tugas yang diembankan kepada mereka demi meraih kemenangan.
Efek
Negatif
- Menimbulkan kecanduan yang kuat. Sebagian besar game yang beredar saat ini didesain supaya menimbulkan kecanduan bagi para pemainnya. Semakin seseorang kecanduan pada suatu game, maka pembuat game semakin diuntungkan. Tapi keuntungan produsen ini jutsru menghasilkan dampak yang buruk bagi kesehatan psikologis para pemain game.
- Mendorong melakukan hal-hal negatif. Dengan semakin seringnya kita bermain game online semakin banyak juga kebutuhan yang harus kita dapatkan bagaimanapun caranya sehingga tidak jarang para gamers akan berusaha mencuri ID orang lain demi bisa mendapatkan keuntungan secara instan atau bahkan menggunakan uang bayaran sekolah demi bisa bermain game.
- Terbelangkainya kegiatan di dunia nyata. Keasyikan dalam bermain game akan mengakibatkan kita lupa dengan segala hal dalam kehidupan sehari-hari kita seperti beribadah, mengerjakan tugas sekolah atau kuliah, dan melupakan pekerjaan menjadi terbengkalai karena bermain game.
- Perubahan pola makan dan istirahat. Efek dari bermain game juga akan membuat waktu makan dan istirahat menjadi tidak terkontrol apalagi sampai harus begadang demi memainkan game online tersebut.
- Mengganggu kesehatan. Akan mengakibatkan kelelahan mata, mengganggu sirkulasi darah dan menekan pembuluh darah vena disekitar anus, sehingga menyebabkan mati rasa, kesemutan, kelemahan atau kerusakan otot pada tangan dan jari serta menurunnya sistem kekebalan tubuh sehingga lebih mudah terserang penyakit.
User interface pada game
Graphical User Interface(GUI)
GUI adalah tipe antarmuka yang
digunakan oleh pengguna untuk berinteraksi dengan sistem operasi melalui
gambar-gambar grafik, ikon, menu, dan menggunakan perangkat penunjuk
( pointing device) seperti mouse atau track ball.
Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP ( window,
icon, menu, pointing device).
Terdapat beberapa macam fitur
yang terdapat pada antarmuka pengguna telematika. Fitur-fitur itu antara lain:
1)
Head Up Display System
Head Up Display (HUD) merupakan
sebuah tampilan transparan yang menampilkan data tanpa mengharuskan penggunanya
untuk melihat ke arah yang lain dari sudut pandang biasanya. Asal nama dari
alat ini yaitu pengguna dapat melihat informasi dengan kepala yang terangkat
(head up) dan melihat ke arah depan daripada melihat ke arah bawah bagian
instrumen. Walaupun HUD dibuat untuk kepentingan penerbangan militer, sekarang
HUD telah digunakan pada penerbangan sipil, kendaraang bermotor dan aplikasi
lainnya.
2)
Tangible User Interface
Tangible User Interface, yang
disingkat TUI, adalah antarmuka dimana seseorang dapat berinteraksi dengan
informasi digital lewat lingkungan fisik. Nama inisial Graspable User
Interface, sudah tidak lagi digunakan. Salah satu perintis TUI ialah Hiroshi
Ishii, seorang profesor di Laboratorium Media MIT yang memimpin Tangible Media
Group. Pandangan istimewanya untuk tangible UI disebut tangible bits, yaitu
memberikan bentuk fisik kepada informasi digital sehingga membuat bit dapat
dimanipulasi dan diamati secara langsung.
3)
Computer Vision
Computer Vision (komputer visi)
merupakan ilmu pengetahuan dan teknologi dari mesin yang melihat. Dalam aturan
pengetahuan, komputer visi berhubungan dengan teori yang digunakan untuk
membangun sistem kecerdasan buatan yang membutuhkan informasi dari citra
(gambar). Data citranya dapat dalam berbagai bentuk, misalnya urutan video,
pandangan deri beberapa kamera, data multi dimensi yang di dapat dari hasil
pemindaian medis.
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
refrensi :
Sumber :
Sumber :
http://caralengkap.com/2012/10/definisi-interfaceantar-muka-dan-contohnya.html
https://id.wikipedia.org/wiki/Antarmuka_pengguna