Arsitektur Perangkat Lunak Game
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.












