Nama: Bogie Akbar
Kelas: 3IA21
NPM: 52414214
Nama Dosen: Syefani Rahma Deski
Judul: Arsitektur Game
Engine / Tugas Bab 4
A.
Pengertian
Arsitektur Game Engine
1.
Pengertian Game Engine
Game Engine adalah system perangkat lunak yang
dirancang untuk menciptakan dan pengembangan video game. Game engine memberikan
kemudahan dalam menciptakan konsep sebuah game yang akan dibuat. Mulai dari
sistem rendering, physics, arsitektur suara scripting, AI, dan bahkan
networking. Game engine dapat dikatakan sebagai jiwa dari aspek sebuah game.
Tujuan game engine adalah untuk mempermudah pembuatan
bagian-bagian tertentu dalam game, membagi-bagi pengembangan game menjadi
modul-modul tertentu dan memudahkan kolaborasi antar pihak.
2.
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.
3.
Elemen Elemen dalam Game
Beberapa elemen
yang terdapat dalam game engine, yaitu:
1.
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.
2.
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.
3.
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.
4.
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.
5.
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.
6.
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.
7.
The Game
Game merupakan inti dari
penggunaan game engine sendiri, sehingga ini tergantung bagaimana pengguna
dalam mengembangkannya.
2.
Tipe-tipe Game Engine
Game engine biasanya datang dengan macam-macam jenis
dan tujuannya. Ada 3 tipe game engine
yaitu sebagai berikut :
1.
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.
2.
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.
3.
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.
B.
2 Contoh Game Engine
1.
Unreal Engine
Sejak 1998, GE keluaran
Epic Games pertama digunakan untuk game Unreal, dan dilanjutkan oleh game
bernuansa Stealth Deus Ex (2000). Generasi pertama Game Engine ini menunjukkan
dunia yang gelap dan kelam. Beruntunglah kita para PCGamer, karena dapat
merasakan game-game dari Unreal Engine
dengan Framerate yang lebih stabil dibandingkan di console. Tetapi,
Unreal Engine 3 mengalami revolusi yang membuatnya menjadi GE yang menghasilkan
Framerate stabil, Kualitas Grafis yang mantap, Dynamic Shadows, HDRR (High
Dynamic Range Rendering), Depth of Field, dan penggunaan DX 11 secara maksimal.
Semua game dengan Engine ini memang mengagumkan, dan nyaris semua bertema
kelam, karena GE ini memang mengutamakan di Shadows.
Contoh Game yang dibuat
dengan software ini adalah Homefront, GRAW, Batman Arkham City dan banyak lagi.
Contoh Game Batman Arkham City menggunakan Unreal Engine |
2.
Unity
Game-game keluarannya
lebih sering menuju ke aplikasi dan game-game kecil. Tapi keunggulan
tersendirinya adalah fleksibilitas dan bahasa yang digunakan lumayan mudah (C#
dan JavaScript). Game horor keluaran Digital Happiness yaitu DreadOut yang
notabene dibuat oleh anak bangsa dikembangkan oleh Unity. Angkot The Game
mungkin juga dikembangkan oleh Unity. Game-game lainnya adalah Slender, Temple
Run, Bad Piggies, dsb
Contoh Game Temple Run menggunakan Unity |
SUMBER:
Komentar
Posting Komentar