Rabu, 18 April 2012

Arsitektur Mesin Game

            Game Engine adalah sebuah perangkat lunak sistem yang dirancang untuk penciptaan 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, sebuah mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, lokalisasi dukungan, dan sebuah adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.
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.

Macam-Macam Game Engine
            Beberapa alat yang disebut game engine yang tersedia untuk permainan desainer untuk kode permainan dengan cepat dan mudah tanpa membangun dari bawah ke atas. Berikut ini merupakan pembagian macam-macam game engine :
1.    Freeware Engine
Mesin ini tersedia untuk penggunaan bebas, namun tanpa kode sumber yang tersedia di bawah lisensi open source. Produk ini mempunyai edisi gratis yang tersedia untuk mereka.

2.    Commercial  Engine
·         Aurora Engine : untuk role-playing game
·         BigWorld : server, klien, dan pengembangan alat-alat untuk pengembangan MMOG untuk permainan yang berjalan di Windows, Xbox 360, dan PS3
·         Blender : real-time mesin game grafik 3D untuk komputer, alat-alat simulasi, dan grafik
·          Freescape : mesin game 3D berpemilik yang digunakan dalam Driller dan Konstruksi 3D Kit
·         Gamestudio : game engine 2D dan 3D untuk pemula yang menggunakan game studio pengembangan dan Lite-C programming language
·         Kinetica : sebuah mesin permainan yang dikembangkan oleh Sony untuk PS2
·         MT Framework : game engine yang dibuat oleh Capcom dan digunakan untuk permainan mereka di Xbox 360, PS3, dan PC
Dan masih banyak lagi jenis game engine yang bersifat komersil (commercial engine) yang berbayar atau tidak freeware dan open source.

 Fitur-fitur yang ada pada Game Engine
            Game Engine menyediakan fitur-fitur yang acapkali ada pada game namun sulit membuatnya. Bagaimana agar karakter kita tidak menembus tembok sebenarnya adalah hal yang sangat sulit programming-nya. Namun di game engine fitur tersebut automatis terpakai. Untuk game FPS, fitur yang tinggal pakai lain misalnya membuat dunia permainan 3D, menaruh objek-objek ke dalam dunia tersebut, animasi, kecerdasan musuh, dsb. Dengan demikian, waktu pembuatan game bisa dipangkas sangat signifikan. Namun, karena game engine berfungsi sebagai middleware, kekurangannya adalah kustomisasi kita menjadi terbatas.

Kelebihan Dan Kekurangan Dari Masing-Masing Game Engine
·         Freeware Engine (Blender)
Kelebihan : Dapat membuat game tanpa menggunakan program tambahan lainnya karena sudah memiliki "engine game" sendiri dan menggunakan bahasa pemrograman "Phython" yang lebih mudah dibandingkan bahasa pemrograman keluarga C (C, C++, C#). Menggunakan "OpenGL" sebagai render grafiknya yang dapat digunakan pada berbagai macam "OS" seperti Windows, Linux, dan Mac OS.
Kekurangan : Agak sulit dalam memahami GUI yang terdapat pada aplikasi ini.

·         Commercial Engine (Rage Engine)
Kelebihan : Kemampuan menciptakan dunia open world yang kompleks, penuh detail, dan terintegrasi penuh dengan dukungan seperti A.I script, weather effects, dan lain sebagainya seperti yang terlihat pada GTA IV (Grand Theft Auto IV). Engine ini juga mendukung kemampuan middleware seperti fitur "dynamic-motion" dan "bullet physics".
Kekurangan : Harga lisensinya mahal dan sulit untuk membuat animasi sendiri selain dari template animasi dari swift 3D dan kita tidak dapat memberikan efek pada objek yang ada.
Pada perkembanganya, game engine ini ada yang berbayar dan ada juga yang gratis alias open source. Berikut adalah contoh-contoh game engine yang open source dan berbayar .
Contoh game engine open source :
·         OGRE
·         Panda 3D
·         crystal space
·         blender game engine
·         jME
·         openSceneGraph, dll.

Contoh game engine berbayar :
·         c4 Engine
·         torque game engine
·         3DGamestudio
·         DXStudio
·         neoExis engine
·         esenthel engine, dll


rreferensi :
http://dysse.wordpress.com/2012/04/08/game-engine/
http://tiga1desember.net63.net/

Tidak ada komentar:

Posting Komentar