GAME ENGINE AND FITURS
Diposting oleh
vaa revaa
on Kamis, 05 April 2012
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.
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.
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.
Beberapa contoh game
middleware yang sering digunakan :
a.
Gamebryo
Merupakan
game engine yang berawal dari perusahaan Numerical Design Limited (NDL) akan
tetapi pada perkembangannya, perusahaan NDL bergabung dengan Emergent Game
Technologies. Ditulis menggunakan bahasa C++, Gamebryo merupakan 3D Game engine
yang memberikan support kepada beberapa platform sebagai berikut :
-
Windows
(baik direct 9 dan 10)
-
Nintendo
game cube
-
Nintendo
WII
-
PS
2 dan PS 3
-
XBOX
serta XBOX360
b.
Renderware
Merupakan
salah satu saingan dari Gamebryo. Bergerak dalam bidang 3D API dan graphic
rendering engine. Renderware digunakan pada computer games, Active Worlds serta
beberapa VRML Browser. Merupakan game engine yang sering digunakan di PS2
sehingga sering disebut sebagai “Sony’S Directx”.
c.
Unreal
Engine
Merupakan
salah satu game engine yang cukup populer. Dikembangkan oleh Epic Games dalam
bahasa C++, Unreal engine menjadi salah satu game engine yang mempunyai
kemampuan portability yang baik. Dapat berjalan pada beberapa platform seperti
Windows, Linux, MacOS dan beberapa video games console seperti Dreamcast, XBOX,
XBOX360.
Game
Development Tools
Game development tools
adalah software yang mempunyai spesialisasi yang membantu atau memfasilitasi
pembuatan computer atau video game. Beberapa tugas dapat ditangani oleh game
development tools termasuk konversi beberapa kelengkapan dari video game
seperti 3D model dan texture ke dalam format yang diperlukan oleh game, level
editing serta script compilation.
Pada saat
pengembangannya. Game development seringkali menemui kendala. Hal berikut ini
adalah beberapa alasan kenapa game development tools dibilang gagal :
a.
Game
development yang di design seiring waktu berjalan
Seringkali
dalam merancang sebuah game tools. Perusahaan game terlalu terburu-buru dalam
melakukan design awal dari game tools tersebut. Karena dituntut untuk selalu
memberikan progress, biasanya para programmer merancang game tools tersebut
seiring dengan coding yang telah dibuat.
Saat
game tools menjadi makin komplek dan perlu di tinjau ulang, seringkali
programmer kesulitan untuk merubah code yang mereka tulis diawal sehingga
seringkali muncul opini untuk menulis ulang semua code daripada memperbaiki
atau menambah fitur yg ada.
b.
System
model dari design game development game tersebut
Saat
programmer mendesign sebuah tampilan atau interface, seringkali mereka berusaha
untuk memperlihatkan struktur data secara langsung. Hal ini mungkin akan
berguna untuk orang yang mengerti cara kerja system, tetapi untuk end user,
biasanya mereka tidak memperdulikan detail dari implementasi system, yang
diperlukan hanyalah hasil akhir.
c.
Menerapkan
teknologi yang salah untuk menekan biaya
Pada
pengembangan game tools, seringkali pengembang berusaha menerapkan system yang
sudah ada untuk mempersingkat biaya. Akan tetapi, pada kasus tertentu lebih
baik kita membangun game tools tersebut dari awal sehingga dapat menghemat
biaya serta waktu.
d.
Interface
yang terlalu kompleks
Penerapan
“The simple, The better” harus selalu dicamkan oleh setiap game tools designer.
Semakin kompleks interface, semakin susah game tools tersebut digunakan oleh
end user. Operasi yang paling umum dipakai harus selalu didesign untuk mudah
dipakai dan paling gampang untuk diakses oleh end user. Sedangkan aplikasi yang
jarang digunakan dapat disembunyikan di dalam menu bar.
e.
Terlalu
banyak fitur-fitur tambahan
Seringkali
pengembang membuang waku untuk mengembangkan fitur-fitur tambahan yang kurang
berguna bagi user, daripada membuang waktu dan tenaga untuk fitur tambahan
lebih baik pengembang lebih memfokuskan pada fungsionalitas fungsionalitas
utama yang harus ada pada game tools.
f.
Merancang
untuk user yang sudah advance
Game
development tools seharusnya ditujukan untuk user bertipe intermediate. Dimana
semua fungsionalitas utama harusnya lebih ditonjolkan dan beberapa
fungsionalitas tambahan dapat ditemukan jika diperlukan.
a.
RAD
Game tools
b.
Java
Game Development Tools
c.
Garage
games game development tools
Sumber :: http://gameprogramming.blog.ittelkom.ac.id/blog/files/2009/09/113040265-game-tools-and-game-engine.docx
0 komentar:
Posting Komentar