Arsitektur Game Engine
Tugas Bab 4
Nama : Wandi Muhammad Arif
NPM : 5C414180
Kelas : 3IA21
Matkul : Pengantar Teknologi Game
Dosen : Syefani Rahma Deski
GameEnginev12Game 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.
Beberapa elemen yang ada di dalam game engine adalah :
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 sendiri 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, 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.
The Game merupakan inti dari penggunaan game engine sendiri,
sehingga terserah kita bagaimana mengembangkan game tersebut.
Beberapa Contoh Game Engine Open Source :
- 3Dgame Studio
- Delta 3D
- UnrealEngine
- Panda3D
- Torque
- Quake Engine
Berikut adalah 2 contoh game engine :
Fox engine merupakan Game Engine yang dibangun oleh Kojima Production
yang digunakan oleh developer game Konami. Game Engine ini banyak
digunakan di game-game konami, PES 2014 adalah game konami pertama yang
menggunakan teknologi Fox Engine, walaupun pada saat itu game PES 2014
kurang diminati di pasar global akibat gameplaynya yang kurang
realistis. Dan tahun kemarin Konami juga memakai Fox Engine untuk game
Metal Gear Solid V : The Phantom Pain dan Pro Evolution Soccer 2016 yang
grafisnya begitu realistis dan gameplaynya juga begitu realistis.
Frostbite adalah game engine yang dikembangkan oleh EA Digital
Illusions CE, yang merupakan pencipta seri Battlefield. Game engine ini
dirancang untuk digunakan pada platform Windows, dan pada konsol seperti
Playstation 3, Wii U dan Xbox 360 yang kemudian disesuaikan dengan
berbagai jenis game. Game engine ini pertama kali digunakan oleh DICE
untuk menciptakan game berjenis first person shooter, tetapi telah
diperluas untuk mencakup berbagai jenis game lainnya seperti race game
dan real-time strategy dan telah digunakan oleh sejumlah EA studio.
Sejauh ini, Game engine Frostbite digunakan secara eksklusif untuk
Electronic Arts dengan semua judul game yang diterbitkan oleh EA.
Versi :
Frostbite 1.0
Frostbite mengawali debutnya pada tahun 2008 dengan dibuatnya
game Battlefield: Bad Company. Pada versi ini terdapat fitur HDR Audio,
yaitu fitur yang menyesuaikan berbagai jenis kenyaringan suara dan
memungkinkan pemain mendengar suara penting dengan jelas bahkan jika ada
suara-suara lain yang dihasilkan (misalkan, suara tembakan selalu lebih
keras daripada suara musik pada game, musik dalam game akan menurunkan
volumenya jika terdapat suara tembakan), dan Destruction 1.0, yang
memungkinkan pemain untuk menghancurkan benda-benda tertentu, seperti
dinding.
Frostbite 1.5
Versi kedua dari game engine frostbite terdapat pada game
Battlefield 1943 pada tahun 2009. Pada versi ini terdapat peningkatan
dalam game dengan kemampuan penghancuran Destruction 2.0, yang
memungkinkan pemain untuk menhancurkan seluruh bangunan bukan hanya
dinding. Pada tahun 2010, DICE merilis Battlefield: Bad Company 2 dengan
menggunakan versi game engine ini, yang merupakan game pertama yang
membawa game engine frostbite untuk platform Windows. Versi Windows dari
game ini memiliki sedikit dukungan dari DirectX 11 Shader, yang
berakitab tidak mengambil keuntungan penuh dari seluruh API. Komponen
multiplayer Medal of Honor juga menggunakan versi engine ini, meskipun
dengan keterbatasan kemampuan dalam fitur penghancuran.
Frostbite 2
Versi ketiga dari game engine frostbite muncul pada tahun 2011
dengan game Battlefield 3. Frostbite pada versi ini mengambil keuntungan
penuh dari DirectX 11 API dan 64-bit prosesor, tanpa dukungan untuk
DirectX 9 (Windows XP). Pada versi ini juga ditingkatkan fitur game
dalam kehancuran dengan Destruction 3.0 yang menciptakan fisik yang
lebih halus dari pendahulunya dan quasi-realtime radiositas menggunakan
'Geometric Enlighten' teknologi. Selain itu perbedaan penting dalam
penamaan adalah bahwa Frostbite 2 tidak disebut Frostbite 2.0. DICE
telah memberikan beberapa presentasi pada kemajuan teknologi rendering
mereka dengan fokus kepada aspek Animasi, Destruction, Skala, Rendering
Audio, dan lain-lain.
Sumber :
http://www.plimbi.com/article/163621/5-game-engine-terbaik-2016
http://vandredi-blog.blogspot.co.id/2012/07/game-engine-frostbite.html
https://raflyjuninton93.wordpress.com/2015/05/06/arsitektur-game-engine/
http://tysyudha.blogspot.co.id/2016/04/arsitektur-game-engine.html