Game engine technology
What is a game engine?
·
"Sebuah game engine adalah
komponen perangkat lunak inti dari komputer atau video permainan atau
interaktif lainnya aplikasi dengan real-time grafis "
·
Term " game engine "
itu diciptakan pada pertengahan tahun 1990-an karena perkembangan penembak
orang pertama seperti seperti Doom, Wolfenstein ..
·
Tujuan utama dari game engine:
•
Menyediakan teknologi yang mendasari - Graphics Rendering - Mesin Physics-
Suara - Scripting - Animasi -
Kecerdasan Buatan - Jaringan dll
• Menyederhanakan proses pembangunan
• agar dapat di jalankan pada platform
Top 10
Engine Komersial (Devmaster.net)
1. C4 Mesin
2. Torque Game Engine
3. 3DGameStudio
4. TV3D SDK 6.5
5. Leadwerks Engine 2
6. Kesatuan
7. MeoAxis
8. DX Studio
9. Essenthel Mesin
10.Visual3D.NET Game Engine
Yang open
source juga ada :
•
Ogre
•
Panda3D
•
Crystal Space
•
Irrlicht
•
Blender Reality
Factory
•
The Nebula Device
2
•
RealmForge
•
OpenSceneGraph
Mengapa menggunakan game engine:
•Kurang waktu pengembangan yang dibutuhkan
•Kurang pengujian dan debugging
•Banyak fitur langsung tersedia
•Lebih baik fokus pada desain game
Mengapa tidak menggunakan game engine:
•Tidak ada kontrol atas pelaksanaan fitur
•Menambahkan fitur yang belum ada di mesin permainan
mungkin susah untuk di pakai
•Tergantung pada skema lisensi lainnya untuk rilis
•Perpustakaan / toolkit lain yang terhubung dengan mesin
permainan
Graphics Engine
• antarmuka tingkat yang lebih tinggi, sesuai untuk
tertentu grafis dan jenis permainan
- Berbasis Sprite
- Isometric
- Full 3D
• Dapat menangani konsep pemodelan tingkat yang lebih
tinggi
- Sprite
- Padat
- Karakter (diartikulasikan)
• Menangani aspek tampilan lebih rumit
- Mini peta
- Beberapa views
- Overlay
- Efek khusus
• Beberapa mesin ini adalah untuk dijual atau tersediadi
web
• Sering dibuat ulang atau sangat menantikan untuk setiap
permainan
- Terlalu banyak waktu dan uang yang dihabiskan untuk ini
Ogre
OGRE singkatan dari Object-Oriented Graphics
Rendering Engine merupakan salah satu Engine Grafik yang berbasis objek. Dengan
menggunakan Ogre kita dapat membuat game dengan
3 dimensi. Ogre itu sendiri ditulis dalam bahasa C++. Ogre menggunakan
library atau pustaka Direct3D dan OpenGL.
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)
Ogre
• OGRE = Graphics berorientasi objek Rendering Mesin
• Ogre adalah mesin grafis, bukan permainan mesin!
- Mudah Plugin fitur lain seperti scripting physics engine (ODE), suara mesin atau mesin jaringan
• http://www.ogre3D.org
• dukungan Direct3D dan OpenGL
• C + + antarmuka (OO)
• Ogre digunakan dalam dua praktis terakhir tugas
Apaka
Ogre game engine?
Ogre
adalah mesin grafis, dan hanya mesin grafis. Namun, dengan mudah dapat
diikat bersama-sama dengan perpustakaan lain untuk menciptakan game
engine. Beberapa perpustakaan Anda mungkin
perlu membuat sebuah game adalah:
- Suara
- Jaringan
- Masukan
- Tabrakan
OGRE
pada umumnya hanya sebagai graphic rendering engine yang 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.
Dapat kah saya membuat game dengan OGRE?
Ya,
Anda bisa. Tidak seperti
mesin 3D lainnya, Ogre tidak diarahkan salah satu jenis permainan. Karena desainnya, dapat digunakan untuk segala sesuatu
mulai dari simulator penerbangan ke penembak orang pertama untuk
"2.5D" permainan. Jika hal itu dapat dilakukan di 3D, kemungkinan Ogre yang
mampu melakukannya.
Ogre dasar:
• SceneManager
- Berisi segala sesuatu yang muncul pada layar
- SceneManagers berbeda untuk medan (Heightmap),
eksterior dan interior adegan, paging,dll
• Entity
- Jenis objek yang dapat membuat dalam adegan
- Apa pun yang sedang diwakili oleh mesh (Robot, ikan,
medan dll)
- Tidak entitas: Lights, Baliho, Partikel,Kamera, dll
• SceneNode
- SceneNodes melacak lokasi dan orientasi untuk semua
benda yang melekat padanya
- Sebuah Entitas hanya diberikan pada layar jika melekat
pada sebuah objek SceneNode
- Sebuah posisi SceneNode adalah selalu relatif terhadap
para SceneNode tua
- Setiap SceneManager berisi node root yang semua
SceneNodes lain yang melekat
• Total struktur yang biasa disebut Scenegraph
• Ogre menggunakan banyak pola desain yang berbeda
- Pabrik
• MoveableObjectFactory, ParticleEmitterFactory
- Iterator
• ParticleIterator
- Singleton
• Akar, OverlayManager, MaterialManager
- Observer
• FrameListener, ResourceGroupListener
• Lainnya struktur umumnya muncul:
- Acara, Buffer, Plugins, serializers
• Ogre menggunakan ruang nama:
- Ogre (namespace utama)
- Ogre :: EmitterCommands
- Ogre :: OverlayElementCommands
Listing
sederhana pada ogre
/ / Mengurai resources.cfg
setupResources();
/ / Menunjukkan Ogre config dialog yang
/ / Mengkonfigurasi sistem render. Membangun sebuah window.
configure();
/ / SceneManager memutuskan apa untuk membuat
chooseSceneManager ();
/ / Kita membutuhkan kamera untuk membuat
dari
createCamera ();
/ / Viewport untuk membalaskan kepada
createViewports ();
/ / Buat setiap pendengar sumber daya (untuk
loading Layar)
createResourceListener ();
/ / Sekarang kita dapat memuat sumber: semua
sistem On-line.
loadResources ();
/ / Sekarang bahwa sistem ini dan berjalan: Membuat adegan untuk membuat.
createScene ();
/ / kick off Ogre
mRoot-> startRendering ();
hasil
rendering dengan Ogre
• referensi tersedia di sini: