Jumat, 09 Maret 2012

GAME ENGINE

Game Engine

Game engine adalah perangkat lunak yang dirancang untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph. Game engines memberikan perangkat untuk visual development dengan tambahan komponen perangkat lunak yang dapat dipakai berulang kali. Perangkat ini pada umumnya memberikan integrated development environment yang dapat mempermudah, serta mempercepat pengembangan game.

Game engine juga sering disebut juga “Game Middleware”. Game Middleware adalah software yang didalamnya sudah terdapat elemen-elemen yang dibutuhkan oleh seorang game developer, kebanyakan dari game middleware memberikan fasilitas guna menunjang pengembangan game dengan mudah seperti graphics, sound dan Artificial intelligence.

Beberapa elemen yang ada di dalam game engine adalah :

a. Tools/Data

Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.

b. System

System sendiri adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu-satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

c. Console

Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.

d. Support

Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory manager, file loader. Merupakan dasar dari game engine dan hampir digunakan semua projek game engine.

e. Renderer/Engine Core

Pada game engine, engine core / renderer terdiri dari beberapa sub yaitu visibility, Collision Detection dan Response, Camera, Static Geometry, Dynamic Geometry, Particle Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading, dan Output.

f. Game Interface

Game interface sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

g. The Game

Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut.

Beberapa contoh game engine :

a. RealmForge

Merupakan free dan open source game engine untuk Microsoft .Net Framework dan dikhususkan pada visual3D Game Engine, merupakan cross platform game engine untuk .NET 2.0 dan Microsoft XNA.

RealmForge dibangun diatas AXIOM 3D rendering engine. Di tulis dalam bahasa C# keseluruhan. Dibangun untuk pembuatan game berbasis .NET.

b. Truevision3D

Merupakan game engine 3D yang dibangun dengan menggunakan visual basic 6 dan C++ dengan menggunakan Microsoft Directx API. Mulai versi 6.5, engine ini menggunakan direct 9 dan shader support, serta ditulis ulang menggunakan C++. Sampai perkembangan terbaru, belum ada wacana untuk mengembangkannya untuk mendukung penggunaan directx9 serta Microsoft XNA.

c. OGRE

OGRE (Object-Oriented Graphics Rendering Engine) merupakan engine yang mendukung 3D Graphic. Merupakan game engine yang fleksibel dalam melakukan 3D Rendering, ditulis dalam bahasa C++ sehingga memudahkan pengembang untuk membangun game yang mendukung 3D Graphics.


Syarat Game Engine

Syarat game engine adalah bisa dikembangkan bila diperlukan. Apalagi nantinya engine yang dibuat hanyalah sebuah prototipe, perlu disediakan ruang gerak yang cukup untuk dilakukannya perbaikan-perbaikan.


Jenis-Jenis Game Engine

Open source game engine
- Blender
- Golden T Game Engine (GTGE)
- DXFramework
- Ogre
- jMonkeyEngine (jME)
- Panda3D
- Sphere
dll.

Commercial engines/game engine berbayar (komersial):
- Alamo
- A.L.I.V.E
- BigWorld
- DXStudio
- Dunia Engine
- Euphoria
- GameStudio
- Jade Engine
- Jedi
- Medusa
- RPG Maker VX
- RPG Maker XP
- RPG Maker 2003
- RPG Maker 95
- Vision Engine

Beberapa mesin permainan hanya menyediakan waktu-nyata (real-time), bukan kemampuan render 3D dari beragam fungsi yang diperlukan oleh permainan. Mesin ini mengandalkan permainan pengembang untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Mesin jenis ini umumnya disebut sebagai “mesin grafis,” “mesin rendering,” atau “mesin 3D” bukannya yang lebih mencakup istilah “mesin permainan.” Namun, terminologi ini tidak konsisten digunakan sebagai banyak fitur lengkap mesin game 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh dari mesin grafis adalah: RealmForge, Truevision3D, ogre, Crystal Space, Genesis3D, Irrlicht dan JMonkey Engine. Permainan modern atau mesin grafis umumnya memberikan adegan grafik, yang merupakan berorientasi objek representasi dari dunia permainan 3D yang sering menyederhanakan desain permainan dan dapat digunakan untuk rendering lebih efisien dari dunia maya yang luas.



Sumber:
http://gameprogramming.blog.ittelkom.ac.id/blog/files/2009/09/113040265-game-tools-and-game-engine.docx

Tidak ada komentar:

Posting Komentar