Selasa, 02 Oktober 2012

OGRE(GAME ENGINE)


Pada postingan saya kali ini masih ada hubungannya niih dengan postingan saya sebelumnya,hanya saja saya akan membahas tentang game engine,nah sebelum saya menjelaskan mengenai “OGRE” saya akan menjelaskan terlebih dahulu nih mengenai GAME ENGINE.Selamat membaca... ..


Pengertian 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.


Jenis - Jenis Game Engine

Game engine bermunculan dalam berbagai jenis dan untuk level pemrograman yang berbeda – beda.Setidaknya ada tiga level game engine yang umum digunakan,yaitu :

1) Level rendah
 
Yang dimaksud level disini ialah game engine dimana pengembang akan membuat engine-nya dengan menggunakan antarmuka aplikasi (API) yang telah ada seperti Microsoft XNA,DirectX,Open GLWindows dan lain lain. Selain itu,mereka juga membuatuhkan library (baik yang komersial maupun open source) untuk mendukung game engine buatan mereka.Library yang digunakan membutuhkan seperti untuk perhitungan formula fisika/matematika,seperti Havok ( yang digunakan dalam game Diablo III) dan open Dynamic engine ( yang digunakan untuk menggambar dinamika dari tubuh atau material yang lain).Secara umum,game engine level rendah ini menawarkan fleksibilitas dan kebebasan dalam memilih komponen yang diinginkan dalam pengembangan game.Namun,tahap pengembangannya paling lama dibandingkan kedua level yang lain karena pengembang harus memulai hamper semuanya dari nol.

2) Level menengah
 
Game engine pada level menengah mempunyai fasilitas jauh lebih lengkap dibandingkan dengan game engine pada level rendah.Rutin seprti input,GUI,rendenringperhitungan matematika hamper semua ada pada game engine ini.Beberapa engine yang masuk dalam kategori ini adalah Objeck-Oriented Grafhics Rendenring Engine atau bisa disebut dengan ORGE,beberapa game yang didukung oleh game engine OGRE ini.Selaini itu,game engine open source seperti Genesis 3D,yang berbayar seperti Torque,Unreal,idTechdan GameBryo juga merupakan game engine level menengah.kesemua engine tersebut membutuhkan level pemrograman untuk dapat digunakan dan dikembangkan menjadi game utuh.

3) Level tinggi
 
Level ini merupakan level game engine yang termudah,yaitu hanya dengan point-and-click game telah dapat dibuat.Beberapa game engine level tinggi ini adalah GameMaker,torque,Game builder dan unity 3D.Game ini didesain agar game engine yang user friendly dengan level pemrograman seminimal mungkin.masalah yang muncul dari game ini adalah keterbatasan nya,misalnya untuk membuat game dengan jenis tertentu atau mode grafikyang tertentu.

Beberapa contoh jenis game engine :

1. Freeware game engine/open source game engine
 
* Blender
* Golden T Game Engine (GTGE)
* DXFramework
* Ogre
* Aleph One
* Axiom Engine
* Allegro Library
* Box2D
* Build Engine
* Cube
* Cube 2
* DarkPlaces
* jMonkeyEngine (jME)
* Panda3D
* Sphere

2. 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


Pertama pasti kalian ingin tau,apa sih OGRE itu,sedikit ulasan jadi OGRE itu adalah OGRE (Object-Oriented Graphics Rendering Engine) adalah engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain untuk mampu men-developer dengan intuitif & mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class object yang lebih tinggi.
OGRE mempunyai banyak komuniti yang aktif, salah satunya sourceforge.net yang berdiri sejak Maret 2005. Beberapa karyanga yang sudah ada & dikomersialkan diantaranya game Ankh, Azathoth, & Pasific Strom. Serta baru-baru ini muncul lagi gamenya, yaitu Eihoth 1.4.9 yang rilis pada Mei 2008. Rilisnya dibawah istilah GNU Lesser General Public License.


Informasi Umum :

OGRE hanyalah rendering engine. Seperti pada engine lainnya, hanya saja OGRE pada umumnya hanya sebagai graphic rendering. Dengan kata lain fitur OGRE hanya khusus menangani vector & matrix classes, memory handling, dan lain-lain. Ini bukanlah salah satu dari semua solusi dalam istilah game development / simulasi, OGRE tidak menyediakan audio / physics support.
Pada umumnya ini bisa dikatakan sebagai kelemahan utama dari OGRE, tetapi itu setara setelah melihat kemampuan grafis ada engine ini. Kemempuan utama OGRE adalah graphics engine yang bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, & 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, dan CEGUI libraries.
Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL. Maka sekarang ini para publish tersebut membuka OGRE sebagai free / open-source software.


Sejarah Singkat OGRE



  • Berawal dari tahun 1999 merancang perpustakaan yang ada API dan platform independennya.
  • Kemudian 25 Februari 2000 mendaftarkan proyek Sourceforge dengan nama OGRE.
  • Februari 2005 dirilislah Ogre v1.0.0 “Azathoth” Rilis – resource system overhaul, hardware pixel buffers, HDR, CEGui, XSI exporter
  • Maret 2005 Ogre adalah ‘Project of the Month’ di Sourceforge
  • 4 November 2005 Ankh dilepaskan sebagai produk komersial pertama menggunakan Ogre
  • 7 Mei 2006 Ogre 1.2 “Dagon” secara resmi dirilis
  • 25 Maret 2007 Ogre 1.4 “Eihort” secara resmi dirilis
  • 28 Agustus 2008 Ogre 1.6 “Shoggoth” secara resmi dirilis (Saat ini 1.6.5 Stable Release)
  • 31 Desember 2009 1,7 ogre RC1 “Ctchugha” secara resmi dirilis (Saat ini 1.7.0 Pre Release)
  • 28 Februari 2010 Ogre 1.7 “Cthugha” secara resmi dirilis (Saat ini 1.7.0 Stable Release)

Fitur OGRE :



*    OGRE mempunyai banyak fitur yang bisa digunakan, diantaranya :
*    Desain yang object oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya.
*    Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & Paging Landscape scene manager.
*    Multi-platform dengan dukungan OpenGL & Direct3D. Bisa merender konten yang sama di beda platform tanpa harus mempunyai content creator. Dapat diakses pada platform Linux, Mac OS X, dan semua versi Windows.
*    OGRE mendukung program Vertex dan Fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler.
*    The landscape scene manager untuk Progressive LOD, yang mana bisa dibuat secara otomatis & manual.
*    Engine animasi yang mensuport penuh untuk multiple hardware.
*    OGRE mempunyai comositing manager dengan bahasa script dan full screen postprocessing untuk efek seperti HDR, blooming, satruation, brightness, blurring, & noise.
*    Libraries mempunyai fitur memory debugging & loading resource dari archive-nya.
*    Tersedia konten tools untuk 3D modeler, seperti 3D Studio Max, Maya, Blender, LightWare, Milkshape, Sketchup, dsb.

Cara Kerja OGRE?

 


Kelas paling mendasar dalam Ogre adalah SceneManager, Entity dan SceneNode.

SceneManager

Segala sesuatu yang muncul pada layar (screen) dikelola oleh SceneManager. Ketika kita menempatkan objek dalam scene, SceneManager yaitu kelas yang menjaga/melacak lokasinya. Bila kita membuat Kamera untuk melihat scene, SceneManager menjaga alur dari objek itu. Bila kita membuat plane, billboard, lampu dan seterusnya, SceneManager akan menjaga alur (track) itu.
Ada beberapa jenis SceneManager. Ada SceneManager yang mengubah (render) terrain, ada SceneManager untuk rendering peta BSP, dan sebagainya. Berbagai jenis SceneManager dapat dilihat di SceneManagersFAQ.

Scene 

adalah representasi abstrak dari apa yang ditampilkan dalam dunia virtual/maya. Scene dapat terdiri dari geometri statis seperti terrain atau bangunan interior, model semacam pohon, kursi atau monster, sumber cahaya yang menerangi tempat kejadian dan kamera yang melihat scene.
Scene dapat memiliki tipe yang cukup berbeda. Sebuah scene interior mungkin terdiri dari lorong-lorong dan kamar yang berisi mebel dan karya seni di dinding. Sebuah scene eksterior mungkin terdiri dari dataran berbukit-bukit, pohon, rumput melambai tertiup angin dan langit biru dengan awan bergerak lembut.
Ogre menyediakan satu set scene manager yang berbeda, masing-masing disesuaikan untuk dukungan terbaik berbagai jenis scene. Seorang ahli Ogre bahkan bahkan bisa mengembangkan scene manager sendiri, disesuaikan untuk jenis terbaik scene yang digunakan dalam aplikasi mereka.

Entity
 
Entity merupakan salah satu jenis objek yang dapat dirender pada scene. Anda dapat menganggap suatu entity sebagai sesuatu yang diwakili oleh mesh 3D. Robot akan menjadi suatu Entity, ikan akan menjadi Entity, daerah berjalan suatu karakter akan menjadi Entity yang besar. Namun, hal-hal seperti Lampu, Papan iklan, Partikel, Kamera, dll tidak akan menjadi Entity.
Satu hal yang perlu diperhatikan tentang Ogre adalah bahwa Ogre ini memisahkan benda yang dapat dirender (renderable) dari lokasi dan orientasi mereka. Ini berarti bahwa tidak dapat menempatkan Entity secara langsung dalam sebuah scene. Sebaliknya, harus melampirkan Entity ke objek SceneNode, dan SceneNode ini berisi informasi tentang lokasi dan orientasi.

SceneNode

Seperti telah disebutkan, SceneNode melacak lokasi dan orientasi bagi semua objek yang melekat padanya. Ketika membuat sebuah Entity, ini tidak dirender dalam scene sampai dipasangkan ke SceneNode. Sebagai tambahan SceneNode bukan merupakan obyek yang ditampilkan pada layar. Hanya ketika membuat sebuah SceneNode dan melampirkan Entity (atau objek lainnya) ke SceneNode itulah yang benar-benar ditampilkan pada layar.
SceneNode dapat memiliki sejumlah objek yang dipasang didalamnya. Katakanlah Anda memiliki karakter berjalan pada layar dan ingin dia menghasilkan cahaya di sekelilingnya. Cara Anda melakukan ini adalah dengan terlebih dahulu membuat SceneNode, kemudian buat Entity untuk karakter dan melampirkan ke SceneNode. Maka Anda akan membuat objek Light dan melampirkan ke SceneNode. SceneNodes bisa juga dilampirkan pada SceneNode lain yang memungkinkan untuk membuat seluruh hierarki node.
Salah satu konsep utama yang perlu diketahui tentang SceneNode adalah bahwa posisi SceneNode adalah selalu relatif terhadap SceneNode induknya, dan masing-masing SceneManager berisi node root yang semua SceneNodes lainnya yang terpasang.




Tidak ada komentar:

Posting Komentar