Minggu, 06 Mei 2012

Game Engine


Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.
Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main().’ Biasanya program utama ini relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu program game. Dengan adanya engine, waktu, tenaga dan biaya yang dibutuhkan untuk membuat game software menjadi berkurang secara signifikan. Beberapa game dengan jenis dan gameplay yang hampir sama bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih bersifat reaktif daripada prosedural.
SEJARAH GAME ENGINE
Istilah “Game Engine” muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti orang pertama shooters (FPS). Begitulah popularitas id Software permainan Doom dan Quake. Perangkat lunak grafis, karakter, senjata, dan tingkatan permainan dirancang oleh mereka sendiri. 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.
TUJUAN
Mesin permainan menyediakan seperangkat alat pengembangan visual selain komponen perangkat lunak dapat digunakan kembali. Alat ini umumnya diberikan dalam lingkungan pengembangan terintegrasi untuk mengaktifkan disederhanakan, pesatnya perkembangan game dengan cara yang berbasis data. Pengembang game engine mencoba untuk “pra-invent the wheel” dengan mengembangkan suite perangkat lunak yang kuat yang meliputi banyak elemen adalah game developer mungkin perlu membangun sebuah permainan. Suite permainan yang paling mesin Menyediakan fasilitas yang memudahkan pengembangan, seperti grafik, suara, fisika dan AI fungsi. Mesin ini permainan kadang-kadang disebut “middleware” karena, seperti arti dari istilah bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang menyediakan semua fungsi inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video sangat kompetitif permainan Gamebryo dan RenderWare adalah seperti program middleware banyak digunakan.
Beberapa mesin permainan hanya menyediakan kemampuan real-time 3D rendering bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini bergantung pada pengembang game untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Jenis mesin biasanya disebut sebagai “mesin grafis,” “mesin render,” atau “mesin 3D” bukan lebih menyeluruh istilah “mesin permainan.” Terminologi ini tidak konsisten digunakan sebagai banyak fitur lengkap mesin permainan 3D yang disebut hanya sebagai “mesin 3D.” Beberapa contoh mesin grafis adalah: Ruang Crystal, Genesis3D, Irrlicht, JMonkey Engine, Ogre, RealmForge, Truevision3D, dan Vision Engine. Permainan modern atau mesin grafis umumnya menyediakan grafik adegan, yang merupakan representasi berorientasi objek dari permainan dunia 3D yang sering menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya yang luas.
Sumber :