Pada artikel ini, akan dijelaskan tentang arsitektur mesin
game mulai dari tools hingga pelaksanaannya. Langsung saja kita ke pokok
bahasan.
1. Game Engine
Sebuah mesin permainan adalah sebuah sistem perangkat lunak
yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin
permainan yang dirancang untuk bekerja pada konsol video games dan sistem
operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. Fungsional inti
biasanya disediakan oleh mesin permainan yang mencakup mesin render
("renderer") untuk 2D atau 3D grafis, physics engine dan collision
detection (dan collision response), suara, script, animasi, kecerdasan buatan,
jaringan, streaming, manajemen memori, threading, dan scene graph. Proses
pengembangan permainan sering dihemat karena sebagian besar permainan
menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang
berbeda.
Game engine menyediakan tool pengembangan visual dengan
tujuan komponen- komponen perangkat lunak tersebut dapat digunakan kembali.
Alat-alat ini umumnya diberikan dalam sebuah lingkungan pengembangan
terintegrasi untuk memungkinkan disederhanakan, perkembangan pesat game di
data-cara didorong. Mesin permainan ini kadang-kadang disebut "permainan
middleware" karena, seperti bisnis dengan pengertian, mereka menyediakan
fleksibel dan dapat digunakan kembali platform perangkat lunak yang menyediakan
semua fungsionalitas inti yang diperlukan, langsung dari kotak, untuk
mengembangkan suatu aplikasi permainan sambil mengurangi biaya, kompleksitas,
dan waktu-ke-pasar-semua faktor-faktor kritis yang sangat kompetitif industri
permainan video.
2. Abstraksi Hardware
Paling sering, 3D rendering mesin atau sistem dalam mesin
permainan dibangun di atas sebuah API grafis seperti Direct3D atau OpenGL yang
menyediakan abstraksi perangkat lunak dari GPU atau video card. Perpustakaan
tingkat rendah seperti DirectX, SDL, dan OpenAL juga umum digunakan dalam
permainan ketika mereka menyediakan akses independen hardware-hardware komputer
lain seperti perangkat input (mouse, keyboard, dan joystick), kartu jaringan,
dan kartu suara. Sebelum hardware-accelerated 3D grafis, renderers perangkat
lunak telah digunakan. Software rendering masih digunakan di beberapa model
tools atau untuk yang masih diberikan gambar bila akurasi visual dinilai lebih
real-time performance (frame per detik) atau ketika perangkat keras komputer
tidak memenuhi persyaratan seperti dukungan shader atau, dalam kasus Windows
Vista, dukungan untuk Direct3D 10.
Mesin permainan modern adalah beberapa aplikasi yang paling
kompleks yang ditulis, sering menampilkan puluhan sistem tersetel berinteraksi
untuk memastikan pengalaman pengguna yang dikontrol dengan tepat. Evolusi yang
terus mesin permainan telah menciptakan pemisahan yang kuat antara rendering,
scripting, karya seni, dan desain tingkat. Sekarang umum (seperti tahun 2003),
misalnya, untuk permainan khas tim pengembangan untuk memiliki beberapa kali
lebih banyak seniman sebagai programmer sebenarnya.
First-person shooter games tetap dominan pengguna pihak
ketiga mesin permainan, tetapi mereka sekarang juga digunakan dalam genre lain.
Sebagai contoh, Morrowind RPG dan MMORPG dari Dark Age Camelot didasarkan pada
mesin Gamebryo, dan MMORPG Lineage II didasarkan pada Unreal Engine. Permainan
mesin digunakan untuk permainan yang awalnya dikembangkan untuk konsol rumah
juga; misalnya, mesin RenderWare digunakan di Grand Theft Auto dan Burnout
waralaba.
Threading adalah mengambil lebih penting karena modern
sistem multi-core (misalnya Sony's Cell) dan meningkatnya tuntutan dalam
realisme. Khas benang melibatkan rendering, streaming, audio, dan fisika.
Balapan permainan sudah biasanya berada di garis depan fisika threading dengan
mesin menyala dalam thread terpisah jauh sebelum inti lainnya sub-sistem yang
bergerak, antara lain karena rendering dan tugas-tugas yang terkait hanya
membutuhkan update pada 30-60 Hz. Sebagai contoh, Need For Speed di Playstation
berlari dengan fisika pada 100 Hz dibandingkan dengan Forza Motorsport 2
berjalan dengan fisika di 360 Hz.
Meskipun istilah yang digunakan pertama kali pada 1990-an,
ada beberapa sistem sebelumnya pada tahun 1980 yang juga dianggap sebagai mesin
game, seperti Sierra's AGI dan sistem SCI, LucasArts 'sistem dan Insentif SCUMM
Software's Freescape mesin. Namun, tidak seperti mesin permainan modern, mesin
permainan ini tidak pernah digunakan dalam produk-produk pihak ketiga (kecuali
untuk sistem yang SCUMM ini dilisensikan dan digunakan oleh Humongous
Entertainment).
3. Trend terakhir
Sebagai teknologi mesin permainan matang dan menjadi lebih
user-friendly, aplikasi mesin permainan telah diperluas dalam ruang lingkup,
dan kini digunakan untuk permainan serius: visualisasi, pelatihan, kesehatan,
dan aplikasi simulasi militer. [6] Untuk memfasilitasi aksesibilitas, platform
perangkat keras baru kini sedang ditargetkan oleh mesin permainan, termasuk
telepon selular (misalnya iPhone) dan web browser (misalnya Shockwave, Flash,
Silverlight, Unity Web Player, O3D).
Selain itu, lebih banyak mesin permainan sedang dibangun
atas bahasa tingkat tinggi seperti Java dan C # /. NET (misalnya TorqueX,
Blade3D, dan Visual3D.NET) atau Python (Panda3D). Karena kebanyakan game 3D
kaya sekarang kebanyakan GPU-terbatas (yaitu dibatasi oleh kekuatan kartu
grafis), potensi slowdowns bahasa tingkat tinggi menjadi diabaikan, sementara
produktivitas keuntungan yang ditawarkan oleh bahasa-bahasa ini bekerja untuk
mesin permainan pengembang 'manfaat. [8] [9] tren baru-baru ini didorong oleh
perusahaan-perusahaan seperti Apple Inc dan Microsoft untuk mendukung
pengembangan permainan Indie lebih banyak platform, seperti iPhone dan Xbox360
menggunakan Java atau. NET Framework and OpenGL / OpenAL dan XNA untuk grafis
dan audio rendering. Hal ini menjadi lebih mudah dan lebih murah daripada
sebelumnya untuk mengembangkan mesin-mesin permainan untuk platform yang
mendukung kerangka kerja dikelola.
4. Middleware
Beberapa perusahaan sekarang mengkhususkan diri dalam
pengembangan software suite yang dikenal sebagai "middleware."
Middleware pengembang usaha untuk "pra-menciptakan roda" dengan
mengembangkan perangkat lunak kuat suite yang mencakup banyak unsur permainan
pengembang mungkin perlu untuk membangun sebuah permainan. Sebagian besar
program middleware menyediakan fasilitas yang mempermudah pembangunan, seperti
grafik, suara, fisika dan AI fungsi. Gamebryo dan RenderWare banyak digunakan
adalah seperti program middleware.
Beberapa middleware hanya melakukan satu hal, tetapi mereka
melakukannya dengan lebih meyakinkan atau lebih efisien daripada mesin tujuan
umum. Sebagai contoh, SpeedTree digunakan untuk menjadikan pohon-pohon dan
vegetasi realistis dalam peran-playing game The Elder Scrolls IV: Oblivion.
Beberapa middleware berisi kode sumber penuh, yang lain
hanya menyediakan API acuan bagi biner terkompilasi perpustakaan. Beberapa
program dapat middleware berlisensi cara baik, biasanya untuk biaya yang lebih
tinggi penuh kode sumber.
5. MMOG Middleware
Middleware untuk massively-multiplayer online game ini jauh
lebih kompleks daripada single-player video game. Namun, peningkatan
popularitas MMOGs adalah pengembangan memacu middleware seperti paket. Beberapa
solusi terkemuka, berdasarkan penjualan, termasuk:
• Unreal Engine 3 (klien-only)
• CryEngine2 (klien-only)
• RealmCrafter
• Gamebryo (klien-only)
• T (permainan mesin) (klien-only, tapi dengan solusi server
sebagai 'Mesias')
• AbyssalEngine
• Multiverse Network
• Bigworld Teknologi
• HeroEngine
• Monumental Games
• Medusa Engine dan SDK (DarkSpace) (Free klien dan sumber)
• Keluar Games Neutron
• Project Darkstar (Open Source)
• DX Studio (klien-only)
• The Oktaf Engine (PS3 & Tekken 6 AC) (klien-only)
6. Mesin Game FPS
Sebuah terkenal bagian dari mesin game 3D pertama-orang
jujur (FPS) permainan mesin. Pengembangan inovatif dalam hal kualitas visual
dilakukan dalam game FPS pada skala manusia. Sementara penerbangan dan
mengemudi simulator dan real-time strategy (RTS) permainan semakin memberikan
realisme dalam skala besar, pertama-orang penembak berada di garis depan
komputer grafis yang lebih kecil, lebih manusiawi sisik.
Perkembangan FPD mesin grafis yang muncul dalam permainan
dapat ditandai dengan peningkatan teknologi yang mantap, dengan beberapa
terobosan. Usaha mendefinisikan generasi yang berbeda menyebabkan
sewenang-wenang dari apa yang merupakan pilihan yang sangat versi modifikasi
dari sebuah 'mesin tua' dan apa yang merupakan merek mesin baru.
Klasifikasi adalah mesin permainan rumit sebagai perpaduan
teknologi lama dan baru. Fitur dianggap maju dalam permainan baru satu tahun,
menjadi standar yang diharapkan tahun berikutnya. Permainan dengan campuran
generasi tua dan fitur baru adalah norma. Sebagai contoh Jurassic Park:
pelanggar (1998) memperkenalkan fisika ke game FPS, tapi tidak menjadi umum
hingga sekitar 2002. Merah Fraksi (2001) menampilkan dpt dirusak dinding dan
tanah, sesuatu yang masih belum umum di mesin tahun kemudian (misalnya di
Unreal Tournament 2004 terdapat masih ada benda yg dpt dirusak). Battlezone
(1998) dan Battlezone II: Combat Commander (1999) menambahkan berbasis
kendaraan tempur ke campuran FPS biasa, yang tidak mencapai arus utama sampai
nanti. Suku 2, Battlefield 1942, Halo: Combat Evolved dan Unreal Tournament
2004 sepenuhnya menyadari potensi untuk kendaraan-pertempuran dan orang jujur
pertama integrasi.
7. Game Tools
Sebuah permainan alat pengembangan adalah aplikasi perangkat
lunak khusus yang membantu atau memfasilitasi pembuatan komputer atau video
game. Beberapa tugas ditangani oleh alat termasuk konversi aset (seperti model
3D, tekstur, dll) ke dalam format yang dibutuhkan oleh permainan, mengedit dan
skrip tingkat kompilasi.
Hampir semua alat-alat pengembangan permainan dikembangkan
oleh pengembang kustom untuk satu permainan. Meskipun alat dapat digunakan
kembali untuk kemudian permainan, mereka hampir selalu mulai sebagai sumber
daya untuk satu permainan. Sementara banyak Cots paket yang digunakan dalam
produksi seperti permainan-paket 3D seperti Maya dan 3D Studio Max, grafik
editor seperti Photoshop dan IDE seperti Microsoft Visual Studio-mereka tidak
dianggap sebagai alat pengembangan permainan semata-mata karena mereka telah
menggunakan permainan di luar pembangunan.
Alat permainan mungkin atau mungkin tidak akan dirilis
bersama dengan pertandingan final, tergantung pada apa alat ini digunakan
untuk. Untuk permainan kontemporer, biasanya untuk mencakup tingkat setidaknya
editor dengan permainan yang membutuhkan mereka.
7. Penggunaan
Banyak tools dapat digunakan untuk membantu dalam
pengembangan permainan. Pengembang sering menggunakan alat-alat untuk mengubah
format model 3D dan grafis format gambar ke format kustom (walaupun, semakin,
importir dan eksportir menangani tugas-tugas ini). Tingkat editor digunakan
untuk menciptakan lingkungan dan alat-alat lainnya dapat digunakan untuk
melihat aset sebelum mereka dimasukkan dalam permainan. Untuk permainan
komersial kontemporer, setengah lusin alat atau lebih dapat digunakan untuk
membantu dalam proses pembuatan permainan.
Alat permainan terlalu sering berubah selama proses
pembangunan. Tampilan dan fasilitas alat dari awal proyek hingga akhir dapat
berubah secara dramatis. Seringkali fitur yang ditambahkan dengan sedikit
pengujian untuk membantu pengembang lain secepat mungkin. Penggunaan alat juga
berubah sehingga pengguna mungkin akan mengalami kesulitan operasi itu dari
satu hari ke hari berikutnya selambat-fitur yang ditambahkan perubahan
bagaimana akan digunakan. Karena fasilitas sering menjadi tujuan utama untuk
alat-alat, mereka mungkin sangat user-ramah, dengan sedikit atau tanpa built-in
membantu. Untuk alat yang akan dikirim dengan permainan, sering debugging dan
fitur yang mudah digunakan dilakukan menjelang akhir proses pembangunan.
Luar permainan tim pengembangan selama pertandingan ciptaan,
banyak tools akan memiliki sedikit fasilitas. Level editor, bagaimanapun,
sekali sepenuhnya milik, telah semakin telah disertakan dengan permainan
pengiriman untuk mengizinkan pengguna untuk membuat skenario permainan mereka
sendiri. Beberapa game, seperti Firaxis 'Civilization IV, dibangun dengan
modifikasi pengguna dalam pikiran dan mencakup berbagai alat untuk menyesuaikan
permainan.
8. Pelaksanaan
Secara tradisional, alat permainan dikembangkan dalam bahasa
bahwa permainan itu sendiri dikembangkan masuk sejak Ini masuk akal, sejak
dini, setidaknya satu pemrogram pada permainan juga mengembangkan alat. Juga,
alat-alat yang dapat dengan mudah mengakses dan menggunakan perpustakaan bahwa
permainan yang digunakan.
Semakin, meskipun tentu tidak universal, permainan yang
diimplementasikan dalam C + + menggunakan alat-alat yang dikembangkan dalam C
#. Hal ini karena C # adalah bahasa yang sangat RAD dan peralatan, yang sering
dibutuhkan secepatnya, dapat dikembangkan dengan sangat cepat. Penggunaan C #
yang paling populer dengan permainan yang dikembangkan untuk Microsoft Windows
dan Xbox.
Sekian penjabaran tentang "Arsitektur Mesin Game"
yang dapat saya sampaikan. Semoga bermanfaat yaa :)
Referensi :
http://dc382.4shared.com/doc/mqUCcBJU/preview.html
http://blogbergizi.blogspot.com
Tidak ada komentar:
Posting Komentar