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