Sabtu, 27 April 2013

REVIEW GAME ENGINE OGRE



OGRE (Object Oriented Graphics Rendering Engine) adalah sebuah engine/ mesin yang berorientasi pada object yang ditulis dalam bahasa C++ sehingga lebih mudah bagi pengembang untuk menghasilkan aplikasi dengan menggunakan hardware  yang mendukung accelerated 3D.

Library Graphic yang dapat bekerja dengan Ogre disarankan menggunakan minimal OpenGL versi 1.2.1 dan OpenGL ES 1.1. Dalam menjalankan Ogre harus memiliki dasar pemrograman yang pastinya dimiliki seorang Programer. Terutama pengetahuan dalam penggunaan Bahasa C++ akan memberikan kemudahan dalam penggunaan Engine Ogre. Sesuai tipe Ogre yang Object Oriented. Dalam penggunaanya Ogre harus menggunakan Language Binding. Beberapa diantaranya : Python-Ogre (Ogre Wrapper dengan Python), Ogre4j (Ogre Wrapper dengan Java), MOGRE (Ogre Wrapper untuk .NET – C# dab VB.NET.

Library yang dibutuhkan agar kita dapat membuat game diantaranya : Sound, Networking, Input, Collision. Ogre tidak langsung dimuat dengan libarary tersebut. Meskipun Ogre memilki interface yang memudahkan pembuatan dan penggabungan dengan aplikasi yang sudah ada. Ogre tidak hanya terhenti dalam platform spesifik berdiri sendiri untuk pembuatan game. Format file yang support dengan Ogre 3D : .bsp Quake bsp file, .shader Quake 3 shader file, .ttf True type font file, .png, .tga, .jpg, .raw, .gif, .dds (format grafis gambar), .cg Cg shader file, .asm Assembly shader file, .zip, .xml XML file, .xsd XML schema file (menunjukan beberapa file Ogre base-nya XML), .log Text output file used untuk debug dan memori.

OGRE mempunyai beberapa fitur yang biasa digunakan, di antaranya adalah :
1. Desainnya yang Object Oriented yaitu dengan menggunakan plugin untuk mempermudah dalam memasukkan fitur lainnya.
2. Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & Paging Landscape scene manager.
3. Ogre adalah sepenuhnya multi-platform, dengan OpenGL dan Direct3D dukungan. Dapat membuat konten yang sama pada berbagai platform tanpa pencipta konten harus mempertimbangkan kemampuan yang berbeda dari setiap platform. Hal ini mengurangi kompleksitas menjalankan sebuah permainan pada banyak sistem. Saat ini binari pre-compiled ada untuk Linux, Mac OS X, dan semua versi utama Windows.
4. Ogre juga mendukung program Vertex dan Fragment shader bersama dengan adat ditulis dalam GLSL, HLSL, Cg dan assembler.
5. The landscape scene manager / pemandangan – pemandangan manajer untuk Progressive LOD, yang mana bisa dibuat secara otomatis atau manual.
6. Engine animasi yang mensuport penuh untuk multiple hardware.
7. OGRE mempunyai comositing manager dengan bahasa script dan full screen post processing untuk efek seperti HDR, blooming, satruation, brightness, blurring, & noise.
8. Libraries mempunyai fitur memory debugging & loading resource dari archive-nya.
9. Tersedia konten tools untuk 3D modeler, seperti 3D Studio Max, Maya, Blender, LightWare, Milkshape, Sketchup, dsb.

OGRE pada umumnya hanya sebagai graphic rendering engine bukan complete game engine. Tujuan utamanya dari OGRE adalah untuk memberikan solusi umum untuk grafis rendering. Dengan kata lain fitur OGRE hanya khusus menangani vector & matrix classes, memory handling, dan lain-lain. Namun hal ini hanya merupakan tambahan saja. Ini bukanlah salah satu dari semua solusi dalam istilah game development / simulasi karena OGRE tidak menyediakan audio / physics support, oleh karena itu kita masih menggunakan beberapa library lain untuk GUI, sound, dll. Hal ini menjadi salah satu dari kelemahan OGRE.

Dibalik kelemahannya tersebut, tentu saja OGRE juga punya di antaranya adalah kemampuan grafis dari engine ini, yaitu bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, dan library lainnya. OGRE memberikan para tim development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada dalam game development. OGRE dapat mensuport OIS, SDL, CEGUI libraries, dan juga Cg Toolkit. Sekarang ini OGRE adalah publish dibawah dua lisensi / lisensi ganda, yaitu LGPL & OUL. 

referensi :
http://resariski.wordpress.com/2011/03/10/pengenalan-ogre/
http://devmaster.net/devdb/engines/ogre