Selasa, 24 Januari 2012

Mengenal Game Engine

Game engine mempunyai cara kerja yang sama seperti engine (mesin) pada motor atau mobil. Tanpa ada gane engine, sebuah game tidak dapat dijalankan. Di dalam game engine terdapat fungsi-fungsi yang mendukung jalannya program, seperti berkomunikasi dengan graphics adapter, melakukan render 2D atau 3D, memodelkan suatu bentuk tertentu, dan memformulasikan animasi hingga gamer dapat mengontrol gerakan tokoh di layar monitor dengan nyaman.

Kenapa harus ada game engine? Karena programmer game akan kehabisan waktu jika “keep re-inventing the wheel” atau harus membuatnya dari awal. Beberapa rutin akan selalu sama dalam setiap game, seperti bagaimana membuat sebuah objek yang bergerak dengan adanya tabrakan antar objek, bagaimana menangani input dari, bagaimana melakukan rendering atau pencahayaan, dan bagaimana merancang kecerdasan buatan untuk suatu game. Rutin yang sama ini dirangkum menjadi sebuah engine yang dapat digunakan untuk berbagai macam game.

Kelahiran Game Engine
Selama bertahun-tahun, para perusahaan pengembang game membuat sendiri game engine untuk game-game produksinya. Sebut saja LucasArts dengan engine-nya yang diberi nama Script Creation Utility for Maniac Mansion (SCUMM) telah menjadi tulang punggung untuk game-game klasik era akhir 1980-an menjelang 1990, seperti Maniac Mansion (game pertama Commondore 64 yang menggunakan SCUMM), Indiana Jones and the Last Crusade: The Graphic Adventure (1988), dan The Secret of Monkey Island (1990). Ada juga Sierra`s Creative Interpreter (SCI) dari Sierra, sebuah engine untuk game-game berjenis petualangan, seperti King`s Quest series (1988), Police Quest series , dan Quest for Glory series.

Bahkan Engine yang menghasilkan game-game populer seperti idTech (engine yang menjadi tulang punggung game Quake series), dan Unreal Engine (engine yang menjadi tulang punggung untuk game, seperti BioShock, Tactical Ops: Assault on Terror, Mirror`s Edge, Batman: Arkham Asylum, dan Section 8) dari Epic Games juga dimulai dari teknologi in-house yang tidak disebarkan ke publik.

Beberapa tahun terakhir, biaya untuk pembuatan teknologi game engine secara in-house menjadi semakin meningkat. Hal ini disebabkan banyaknya platform yang harus dicakup. Beberapa pengembang kemudian fokus untuk secara khusus membuat game engine atau komponen game engine untuk dijual kepada para perusahaan pengembang game (para pembuat game engine ini diistilahkan dengan Middleware providers). Engine buatan Middleware providers ini tentunya tidak disia-siakan oleh pengembang game. Kenapa harus menggaji beberapa programmer dengan menghabiskan anggaran ratusan ribu dolar kalau perusahaan dapat membeli sebuah game engine dengan harga ribuan dolar saja, dan dapat langsung digunakan saat itu juga? Walaupun tidak semua fitur  dari game engine dapat digunakan, setidaknya game engine ini sangat membantu, baik dari waktu maupun biaya pembuatan game. Muncullah bisnis baru game, yaitu game engine. Seperti halnya software, beberapa game engine adalah game engine yang bersifat proprietary (berbayar), seperti SCUMM, Unreal Engine, id Tech 4, id Tech 5, Jedi Engine (dipakai pada game Star Wars: Dark Focus, Big World Technology (dipakai pada game Stargate Worlds, dan sebagainya. Namun ada juga game engine yang bersifat open source yang dapat digunakan, dan dikembangkan bersama-sama. Misalnya Build Engine (yang digunakan pada game Duke Nukem 3D, dan Panda 3D yang dibuat oleh Carnegie Mellon University, dan digunakan pada game Disney`s Toon Town).

Jenis-jenis Game Engine
Game engine muncul dalam berbagai jenis, dan untuk level pemrograman yang berbeda-beda. Setidaknya ada 3 level dari game engine yang umum digunakan saat ini, yaitu:

1.    Level Rendah
Yang dimaksud game engine level rendah adalah game engine di mana pengembang akan membuat engine-nya dengan menggunakan antarmuka aplikasi (API) yang telah ada, seperti Microsoft XNA, DirectX, OpenGL, Windows atau Linux API, dan SDL. Selain itu, mereka juga membutuhkan library (baik yang komersial maupun open source) untuk mendukung game engine buatan mereka. Library yang dibutuhkan seperti library untuk perhitungan formula fisika/matematika, seperti Havok (yang digunakan di game Diablo III dan Open Dynamic Engine (yang digunakan untuk menggambar dinamika dari tubuh atau material yang lain), library grafis seperti OpenSceneGraph (yang digunakan pada game Pirates of the XXI century, serta library GUI seperti AntTweakBar).
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 game harus memulai hampir semuanya dari nol. Hal ini menyebabkan game engine pada level rendah ini jarang digemari oleh para games developer.

2.    Level Menengah
Game engine level menengah mempunyai fasilitas jauh lebih lengkap dibandingkan game engine pada level rendah. Rutin seperti input, GUI, rendering, perhitungan matematika hampir semua ada pada game engine ini. Beberapa engine yang masuk dalam kategori ini adalah Object-Oriented Graphics Rendering Engine atau biasa disebut OGRE. Beberapa game yang didukung oleh game engine OGRE ini adalah MotorM4X dan Jack Keane.
Selain itu, game engine open source seperti Genesis3D, yang berbayar seperti Torque, Unreal, idTech, dan GameBryo juga merupakan game engine level menengah. Kesemua engine tersebut membutuhkan level pemrograman untuk dapat digunakan dan dikembangkan menjadi game yang 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 Unity3D. Game engine ini didesain agar menjadi game engine yang user friendly dengan level pemrograman seminimal mungkin. Masalah yang muncul dari game engine level tinggi adalah keterbatasannya, misalnya untuk membuat game dengan jenis tertentu atau mode grafik yang tertentu. Namun bukan berarti bahwa game engine ini tidak berguna. Bahkan dengan berbagai macam batasan yang ada, masih memungkinkan untuk membuat game-game yang kreatif, cepat, tanpa perlu banyak tenaga. Game engine ini cocok bagi mereka yang pemula dalam game development.

Torque Game Engine Advanced
Unity Game Engine

sumber: Tabloid PC Mild

Mengenal Game Engine Rating: 4.5 Diposkan Oleh: Mohammad Iqbal Al Ghifari Al Awalaien

4 komentar:

Anything mengatakan...

bestnya kalau dapat buat game sendiri...

Uzanks Al Ghifari mengatakan...

betul, bangga pastinya...

cahyadi_blog_san mengatakan...

bgus gan

Uzanks Al Ghifari mengatakan...

oke gan, makasih