Arsitektur Game Engine
Arsitektur
Game Engine
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.
Definisi
Game Engine
Game engine adalah
perangkat lunak yang digunakan untuk menciptakan perangkat lunak lain, dalam
hal ini adalah game. Kita bisa menyebutnya game authoring software, game
creator tool, software pembuat game, dan sebagainya
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.
Sejarah
Game Engine
Istilah “Game Engine”
muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D
seperti orang pertama shooters (FPS). (Lihat juga: pertama-orang jujur
mesin).Begitulah popularitas id Software ’s Doom dan Quakepermainan yang,
daripada bekerja dari nol, lain pengembangberlisensi bagian inti dari perangkat
lunak dan grafis yang dirancang mereka sendiri, karakter, senjata, dan
tingkat-”permainan isi” atau “permainan aset. “ Pemisahan permainan-aturan
tertentu dan data dari konsep-konsep dasar seperti tabrakan dan permainanentitas
yang berarti bahwa tim bisa tumbuh dan mengkhususkan.
Kemudian permainan,
seperti Quake III Arena dan Epic Games ’s 1998 Unreal dirancang dengan
pendekatan ini dalam pikiran, dengan mesin dan konten dikembangkan secara
terpisah.Praktek seperti perizinan teknologi telah terbukti menjadi aliran
pendapatan tambahan yang berguna untuk beberapa pengembang game, sebagai
lisensi tunggal untuk high-end mesin permainan komersial dapat berkisar dari US
$ 10.000 hingga jutaan dolar, dan jumlah pemegang lisensi dapat mencapai
beberapa lusin perusahaan (seperti terlihat dengan Unreal Engine).Setidaknya,
mesin dapat digunakan kembali membuat sekuel permainan berkembang lebih cepat
dan lebih mudah, yang merupakan keuntungan berharga dalam persaingan industri
video game.
Sekarang hampir semua
perusahaan game memiliki game engine mereka sendiri, menggunakannya untuk
membuat game mereka, dan menyimpannya untuk diri sendiri. Semakin lama
kebutuhan untuk game engine yang makin modern semakin bertambah. Waktu demi
waktu, game engine yang mereka kembangkan sendiri mulai dirasa terlalu mahal
untuk dikembangkan lebih lanjut. Hal ini memicu beberapa developer untuk
menciptakan game engine yang terbuka untuk di franchise kan. Sebagai contoh
adalah id tech dan unreal engine. Game engine yang dijual dan di franchisekan
secara umum semacam ini disebut dengan middleware. Middleware menawarkan harga
yang relatif lebih murah, dan bagi kebanyakan studio game, menggunakan
middleware merupakan solusi cepat dan ekonomis ketimbang harus membangun
sendiri engine game mereka. Konsep dari game engine sebenernya cukup gampang,
yaitu bahan dasar yang diperlukan sebuah game untuk menjalankan tugasnya,
merender pixel demi pixel, menghitung physiscs, memperkirakan input tombol, dan
lain hal, yang memungkinkan developer kreatif dapat membuat sebuah game dengan
engine yang sama menjadi unik satu sama lain. Di analogikan sebagai sebuah
mobil, game engine sudah merupakan bagian mobil, sekitar 50% jadi. Mesin dan
rangkaian sistem pengapian, sampai pembuangan. Kurang body dan aksesoris.
Sebuah game engine memungkinkan penggunaan kembali komponen komponen yang dapat
mempercepat hadirnya game menjadi nyata di layar monitor mu. Beberapa diantara
nya yang termasuk dengan itu adalah deteksi tubrukan, tampilan grafis, setting
dalam game, artificial intelligence dan lain lain. Semua komponen tadi
disatukan dalam satu pake game engine. Artist dan developer, dapat menambahkan
pustaka texture dan model sendiri untuk dijadikan tokoh utama atau setting
dunia dalam sebuah engine. Sekali lagi dalam analogi game, model dan texture
dalam game engine bisa dibilang sebagai body dan aksesoris mobil. Sebuah game
engine dibagi lagi menjadi dua bagian besar. Yaitu api dan sdk. Api (
applicaiton programming interfaces ) adalah bagian operating system, services
dan libraries yang diperlukan untuk memanfaatkan beberapa feature yang
diperlukan. Dalam hal ini contohnya directx. Sementara sdk adalah kumpulan dari
libraries dan api yang sudah siap digunakan untuk memodifikasi program yang
menggunakan operating system dan services yang sama. Biasanya, game engine
menyertakan keduanya. Contohnya dalam unreal engine, menyiapkan antarmuka baku
bagi programmer untuk menciptakan game nya dengan mudah, melalui scripting
engine, yang disebut unrealscript, dan juga libraries, yang berisi model
standar dan texture standar dan juga world editor yang disebut sebagai
unrealed.
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.
Jenis-jenis
Game Engine
Game engine biasanya datang dengan
berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Ada 3
tipe game engine yang ada saat ini, diantaranya :
·
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.
Sumber :
Komentar
Posting Komentar