Nama : Bima
Prasetya Adi Pratama
Kelas :
3IA20
Npm :
52414176
BAB
4
Arsitektur Game Engine
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.
1.
Sejarah Game
Engine
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).
2.
Tipe‐tipe Game Engine
Game memiliki
berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman.
Berikut ini adalah beberapa tipe dari 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.
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.
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.
3. Elemen pada Game Engine
Seperti
halnya perangkat lunak lainnya, pada geme engine juga terdapat beberapa elemen
diantaranya :
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
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.
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
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.
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 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.
Merupakan
inti dari penggunaan game engine sendiri, sehingga user dapat mengembangkan
game tersebut sesuai dengan yang diinginkan.
Contoh
game yang menggunakan game engine
1.Bad Piggies
Bad piggies merupakan Salah satu
Game paling Funny untuk dimainkan, Game ini dirilis pertama kali pada tahun
2012 lalu oleh raksasa developer game asal findlandia bernama ROVIO.
tapi siapa sangka game yang memiliki
kerumitan sangat tinggi ini ternyata dibuat menggunakan Game Engine Bernama
UNITY.
2.Dread Out
game dreadout merupakan game yang
boleh dibilang sebagai salah satu game karya anak bangsa paling mendunia, kita
tidak bisa menyangkalnya lagi karena game satu ini pernah diriview oleh
youtubers kelas dunia bernama piwdiepie dan mendapat respon positif di toko game
steam. Game dreadout pertama kali dirilis pada mei 2014 lalu oleh developer
game bernama Digital Happiness, Dan game ini dibuat menggunakan engine game
UNITY
3.Temple Run 2
Salah satu game mobile terbaik yang
dibuat menggunakan game engine UNITY, game ini dirilis pertama kali pada
January 2013 dan dikembangkan oleh developer game asal amerika bernama imangi
studios
4. Dead Trigger 2
Game fps bergenre horror yang
dirilis khusus perangkat mobile android,ios dan windows phone pada tahun 2013
lalu dan dikembangkan oleh developer game bernama Madfinger Games ternyata
dibuat menggunakan game engine UNITY
5.Angry Birds 2
Tepat tahun 2015 lalu rovio kembali
mempercayakan UNITY sebagai game engine dari game angry birds 2 yang dirilis
pada tahun 2015 lalu.
DAFTAR PUSTAKA
Mokodaser, Wilsen Grivin. Game
Engine.
http://mylinggih.com/game/6-game-terbaik-dibuat-menggunakan-unity/