Nama : Basri Ananta
NPM : 52414043
Kelas : 3IA22
Mata Kuliah : Pengantar Teknologi Game
Dosen : Rifki Amalia
Tugas : Penulisan 4
A. Arsitektur Game Engine
NPM : 52414043
Kelas : 3IA22
Mata Kuliah : Pengantar Teknologi Game
Dosen : Rifki Amalia
Tugas : Penulisan 4
A. Arsitektur Game Engine
Arsitek adalah pelajaran untuk membuat
rancangan dari bangunan. 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.
Tahap awal dari merancang suatu game adalah
memilih jenis game yang akan dibuat agar dapat lebih terfokus dalam
mengerjakannya. Selanjutnya adalah mendesaian game yang akan dibuat. Setelah
kita memiliki desain game, langkah berikutnya adalah mengimplementasikan desain
tersebut menjadi source code. Apabila source telah selesai dirancang, maka game
tersebut dapat dimainkan dan digunakan sesuai yang diinginkan oleh sang pembuat
game. Apakah game tersebut dibuat untuk dikomersilkan atau dikembangkan oleh
orang lain.
Game engine adalah sebuah sistem perangkat
lunak (software) yang dirancang untuk pembuatan dan pengembangan video game.
Game engine memberikan kemudahan dalam menciptakan konsep sebuah game yang akan
di buat. Mulai dari sistem rendering, physics, arsitektur, suara, scripting,
A.I, dan bahkan sistem networking. Tujuan digunakannya game engine adalah untuk
mempermudah pembuatan bagian‐bagian tertentu dalam game, membagi‐bagi
pengembangan game menjadi modul‐modul tertentu, dan memudahkan kolaborasi antar
pihak.
Sebelum adanya Game Engine, permainan yang
biasanya ditulis sebagai entitas tunggal: game untuk Atari 2600, misalnya,
harus dirancang secara down-top untuk memanfaatkan hardware layar tampilan yang
disebut kernel oleh pengembang retro.
Generasi pertama dari mesin grafis pihak
ketiga atau renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai
mesin) didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware
dari Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Istilah “Game
Engine (Mesin Permainan)” muncul pada pertengahan 1990‐an, terutama dalam
kaitannya dengan game 3D seperti penembak orang pertama (FPS). Kemudian
permainan, seperti Quake III Arena dan 1998 Epic’s Unreal Games dirancang dengan
pendekatan ini dalam pikiran, dengan mesin dan konten dikembangkan secara
terpisah.
Game Engine modern adalah salah satu aplikasi
yang paling kompleks yang ditulis, sering menampilkan puluhan sistem
berinteraksi untuk memastikan pengalaman pengguna yang terkendali. Evolusi
terus mesin permainan telah menciptakan sebuah pemisahan yang kuat antara
rendering, scripting, karya seni, dan desain level.
Threading penting karena sistem multi‐core
modern (misalnya Cell) dan tuntutan meningkat pada realisme. Threading
melibatkan rendering, streaming, audio, dan fisika. Permainan Balapan yang
biasanya berada di garis depan threading dengan physics machine berjalan di
sebuah thread terpisah jauh sebelum subsistem inti lainnya dipindahkan,
sebagian karena rendering dan tugas terkait perlu update hanya pada 30‐60 Hz.
Sebagai contoh, di PlayStation 3, fisika berlari di Need For Speed pada 100 Hz
versus Forza Motorsport 2 pada 360 Hz.
Meskipun istilah ini pertama kali digunakan
pada 1990‐an, ada sistem sebelumnya beberapa tahun 1980‐an yang juga dianggap
Game Engine, seperti Sierra’s Adventure Game Interpreter (AGI) dan SCI,
LucasArts SCUMM dan Freescape. Tidak seperti kebanyakan Game Engine modern,
Game Engine ini tidak pernah digunakan dalam produk pihak ketiga (kecuali untuk
sistem SCUMM yang dilisensikan dan digunakan oleh humongous Entertainment).
Tipe‐tipe Game Engine
Game memiliki berbagai macam jenis dan
ditujukan untuk berbagai kemampuan pemrograman. Berikut ini adalah beberapa
tipe dari game engine.
- Roll Your‐Game Engine
Game engine tipe ini lebih disukai karena
selain gratis, game engine ini juga memperbolehkan para developer lebih
fleksibel dalam mengitegrasikan komponen yang diinginkan untuk dibentuk sebagai
game engine mereka sendiri. Namun kelemahan dari tipe game engine ini banyak
engine yang dibuat dengan cara semacam ini malah menyerang balik developernya.
- Mostly‐Ready‐Game Engine
Engine ini biasanya sudah menyediakan semuanya
begitu diberikan pada developer/programmer. Semuanya termasuk conth GUI,
phisycs, libraries models, 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 banyak terjadi error yang mungkin terjadi setelah
sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game
engine‐nya tersebut untuk mengoptimalkan kinerja game‐nya. Dengan hal ini dapat
menghemat waktu dan biaya dari para developer game.
- Point‐and‐Click Engine
Engine ini merupakan engine yang sangat
dibatasi, tetapi 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. 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.
Elemen pada Game Engine
Seperti halnya perangkat lunak lainnya, pada
geme engine juga terdapat beberapa elemen diantaranya:
- Tools / Data
Dalam pengembangan game, dibutuhkan data yang
tidak semudah menuliskan text files. Dalam 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. Jika game engine sudah dibuat dengan baik maka system ini adalah
satu‐satunya bagian yang membutuhkan perubahan yang cukup banyak apabila
dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri
terdapat beberapa sub system yaitu graphics, input, sound, timer,
configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi,
update dan mematikan sub system yang terdapat di dalamnya.
- Console
Dengan menambahkan console, kita dapat merubah
setting game dan setting game engine di dalam game tanpa perlu melakukan
restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses
debugging. Apabila game engine tersebut mengalami error kita tinggal
mengoutputkan error message tersebut ke dalam console tanpa harus melakukan
restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.
- Support
Support adalah bagian yang paling sering
digunakan oleh system di dalam game engine. Support sendiri berisi rumus‐rumus
matematika yang biasa digunakan seperti : vector, matrix, memory manager, file
loader merupakan dasar dari game engine dan hampir digunakan semua projek game
engine.
- Renderer / Engine Core
Pada game engine, engine core / renderer
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 sendiri merupakan layer
diantara game engine dan game itu sendiri. Berfungsi sebagai control yang
bertujuan untuk memberikan interface apabila di dalam game engine tersebut
terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk
mengembangkan game tersebut.
- The Game
Merupakan inti dari penggunaan game engine
sendiri, sehingga user dapat mengembangkan game tersebut sesuai dengan yang
diinginkan.
DAFTAR PUSTAKA
Yuliantiaprillia. 2016. Arstitektur
game engine.http://yuliantiaprilia2604.blogspot.co.id/2016/04/arsitektur-game-engine.html,
2 April 2017.
Alynthedoctor. 2016. Arsitektur
game engine.https://alynthedoctor.wordpress.com/2016/04/25/arsitektur-game-engine/, 2 April 2017.
Tidak ada komentar:
Posting Komentar