Tuesday, April 17, 2012

Arsitektur Mesin Game

Arsitektur
Dalam artian yang lebih luas, arsitektur mencakup merancang dan membangun keseluruhan lingkungan binaan, mulai dari level makro yaitu perencanaan kota, perancangan perkotaan, arsitektur lengkap.
hingga ke level mikro yaitu desain bangunan, desain perabot dan desain produk.
Arsitektur juga merujuk kepada hasil-hasil proses perancangan tersebut. (Wikipedia)

 (Game Engine) mesin permainan
sebuah sistem yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada video game konsol dan komputer pribadi. Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin rendering (“renderer”) untuk grafis 2D atau 3D, mesin fisika atau deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, memori manajemen, threading, dukungan lokalisasi, dan grafik adegan. Proses pengembangan game sering dihemat oleh di menggunakan kembali sebagian besar / mengadaptasi mesin permainan yang sama untuk membuat game yang berbeda (disini

Konsep
Hal pertama yang harus kita lakukan adalah memisahkan render dari logika. Dan ini masuk akal. Intinya logika game bisa berjalan pada kecepatan yang berbeda dari rendering.
Logika permainan tidak mengenal tentang rendering, sehingga pada logika tidak peduli apakah nantinya akan ditampilkan dalam 2D, 3D seni, ASCII atau apa pun. Namun rendering tergantung pada logika, karena itu perlu info tentang cara / dimana untuk menampilkan segala logika kita. Gambar berikut menunjukkan 2 modul dengan dependensi. Rendering yang terjadi di dalam modul “View”.

Perancangan Game
untuk membuat sebuah game tidaklah semudah membuat aplikasi-aplikasi lainnya, bila sudah berbicara game maka aspek kepintaran membuat program harus menjadi satu dan masih banyak lagi lainnya.
tahap pertama yang harus dilakukan untuk membuat game adalah menentukan terlebih dahulu jenis game yang akan dibuat dan juga cerita dari game.

Proses penentuan jenis game ini tidak semudah yang kita pikirkan, disana akan banyak sekali faktor-faktor yang berperan dalam pengambilan keputusannya.
Membuat game seperti membuat film, dan banyak sekali game-game yang dibuat berdasarkan novel, buku cerita dan film-film. Contohnya saja sperti Starwars, Lord of the ring, Spiderman dan sebagainya.
Bahan-bahan yang dibutuhkan adalah seperti gambar-gambar untuk mendukung game ini seperti gambar pemandangan, gambar bangunan, gambar robot dan sebagainya. Selain itu juga dibutuhkan bahan-bahan untuk efek suara seperti musik untuk latar belakang game, efek ledakan, efek tembakan, efek mouse diklik dan lain sebagainya.
Bagian ini termasuk bagian yang susah sekali terutama bagi programmer karena kebanyakan programmer tidak pandai dalam hal – hal yang berbau seni. Pada bagian ini  kita membutuhkan seorang artist designer.

Tipe 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 :

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.

Sejarah Game Engine
Sebelum (Game Engine) mesin permainan, permainan yang biasanya ditulis sebagai entitas tunggal: game untuk Atari 2600, misalnya, harus dirancang dari bawah ke atas untuk memanfaatkan optimal hardware layar tampilan ini rutin-core hari ini disebut kernel oleh retro pengembang. Platform lain telah kelonggaran lebih, tetapi bahkan ketika layar itu bukan masalah, kendala memori biasanya menyabotase upaya untuk menciptakan desain data-berat yang mesin kebutuhan. Bahkan pada platform menampung lebih, sangat kecil dapat digunakan kembali antara permainan. Kemajuan pesat hardware arcade-ujung tombak dari pasar-berarti bahwa sebagian besar kode harus dibuang setelah itu pula, sebagai generasi kemudian akan menggunakan desain permainan game yang sama sekali berbeda yang mengambil keuntungan dari sumber daya tambahan. Jadi desain paling permainan melalui 1980 dirancang melalui ruleset-keras dikodekan dengan sejumlah kecil data tingkat dan grafis.

Generasi pertama dari mesin grafis pihak ketiga atau renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai mesin) didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware dari Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Realitas Lab adalah tercepat dari tiga dan adalah yang pertama diperoleh dalam langkah agresif oleh Microsoft. Tim RenderMorphics Pegawai Negeri Keondjian, Kate Seekings dan Doug Rabson kemudian bergabung dengan proyek Microsoft yang berubah Realita Lab ke Direct3D sebelum Keondjian dan Rabson kiri untuk memulai perusahaan lain middleware Qube Software. Renderware akhirnya dibeli oleh EA (Electronic Arts) tetapi dikesampingkan oleh raksasa permainan.

Istilah “Game Engine (Mesin Permainan)”  muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti penembak orang pertama (FPS). (Lihat juga:. mesin first-person shooter) tersebut adalah popularitas Id Doom Software dan game Quake, daripada bekerja dari awal, pengembang lain berlisensi bagian inti dari perangkat lunak dan desain grafis mereka sendiri, karakter, senjata dan tingkat -The “permainan isi ” atau “aset permainan.” Pemisahan aturan permainan spesifik dan data dari konsep-konsep dasar seperti deteksi tabrakan dan entitas permainan berarti bahwa tim bisa tumbuh dan mengkhususkan.

Mesin permainan modern adalah beberapa aplikasi yang paling kompleks yang ditulis, sering menampilkan puluhan sistem tersetel berinteraksi untuk memastikan pengalaman pengguna yang tepat dikendalikan. Evolusi terus mesin permainan telah menciptakan sebuah pemisahan yang kuat antara rendering, scripting, karya seni, dan desain tingkat. Sekarang umum, misalnya, untuk tim pengembangan game khas untuk memiliki beberapa kali banyak seniman sebagai programmer yang sebenarnya.

Threading adalah mengambil lebih penting karena sistem multi-core modern (misalnya Cell) dan tuntutan meningkat pada realisme. Benang Khas melibatkan rendering, streaming, audio, dan fisika. Permainan Balapan yang biasanya berada di garis depan threading dengan mesin fisika berjalan di sebuah thread terpisah jauh sebelum subsistem inti lainnya dipindahkan, sebagian karena rendering dan tugas terkait perlu update hanya pada 30-60 Hz. Sebagai contoh, di PlayStation 3, fisika berlari di Need For Speed ​​pada 100 Hz versus Forza Motorsport 2 pada 360 Hz.

Meskipun istilah ini pertama kali digunakan pada 1990-an, ada sistem sebelumnya beberapa tahun 1980-an yang juga dianggap permainan mesin, seperti Sierra’s Adventure Game Interpreter (AGI) dan sistem SCI, LucasArts ‘SCUMM sistem dan Insentif Software mesin Freescape . Tidak seperti kebanyakan mesin permainan modern, mesin permainan ini tidak pernah digunakan dalam produk pihak ketiga (kecuali untuk sistem SCUMM yang dilisensikan dan digunakan oleh humongous Entertainment).

sumber: sini, sini, sini

No comments:

Post a Comment