Saturday, June 18, 2011

Game Engine

A. 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. Pada intinya yang dimaksud dengan game engine adalah dalah perangkat lunak yang digunakan untuk menciptakan perangkat lunak lain, dalam hal ini, game. Kita bisa menyebutnya game authoring software, game creator tool, software pembuat game, dan sebagainya.

Berikut ini adalah beberapa hal tujuan penggunaan game engine dan alasannya :
a. Mempermudah pembuatan bagian-bagian tertentu dalam game.
Pada setiap game, biasanya ada fungsi-fungsi yang mirip antara satu dengan yang lainnya. Contohnya fungsi collision detection, fungsi rendering, fungsi artifical intelligence. Karena dasar dari fungsi-fungsi tersebut sama, maka untuk mempermudah programmer, dasar-dasar semua fungsi tersebut langsung dibuat dalam game engine, dan programmer hanya tinggal menggunakan saja. Jika perlu memodifikasi lebih lanjut, setidaknya fungsi dasar sudah diterapkan dan akan mengurangi waktu yang digunakan untuk pengembangan secara keseluruhan.
b. Membagi-bagi pengembangan game menjadi modul-modul tertentu.
Karena pengembangan game harus dilakukan oleh pihak-pihak yang mungkin berbeda pekerjaannya, maka tugas game engine adalah membagi-bagikan tugas kepada pihak-pihak yang terlibat sesuai dengan modul-modul dasar yang umum ada pada pengembangan game. Dan modul-modul dasar ini biasanya dibuat agar mudah untuk diperluas atau ditambahkan (extensible), agar bisa mengakomodasi semua pihak yang terlibat di dalamnya.
c. Memudahkan kolaborasi antar pihak.
Banyaknya pihak yang terlibat di dalam pengembangan game, membuat komunikasi antar pihak menjadi sesuatu hal yang penting untuk menjaga kualitas dan laju pengembangan game tersebut. Game engine yang bagus biasanya memiliki fungsi agar komunikasi antar pihak yang terlibat juga diakomodasi di dalamnya.
Banyak orang yang mengira bahwa game engine yang harganya mahal. Tetapi kenyataannya tidak harus demikian. Memang banyak game yang sukses menggunakan game engine yang commercial dengan harga yang mahal seperti Assasin’s Creed dengan game engine-nya Anvil. Tetapi, saat ini juga banyak game engine yang bersifat open source dan bisa digunakan untuk membuat game dengan kualitas yang tinggi.
B. Fungsi Game Engine
Fungsi inti dari tipikal game engine, yaitu memasukkan fungsi untuk :
1. merender grafis (baik 2D atau 3D)
2. fisik engine atau collision deteksi
3. suara
4. scripting
5. animasi
6. Artificial Intelligence (AI)
7. networking
8. threading
9. manajemen memory
10. threading
11. scene graph
C. Macam-macam Game Engine
Beberapa contoh jenis game engine :

1. Freeware game engine/open source game engine
. 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
D. Contoh Game Engine
Beberapa open source game engine adalah :
1. Cafu
Cafu merupakan software yang tidak hanya open source tetapi juga 100% free software, dengan lisensi GNU General Public License (GPLv3). Ditulis dalam bahasa C++, Cafu tidak hanya bisa digunakan untuk membuat game 3D, tetapi juga bisa digunakan untuk membuat aplikasi 3D lainnya.
2. Delta3D
Delta3D merupakan suatu game engine yang bersifat open source, yang tidak hanya cocok untuk membuat game 3D tetapi juga cocok untuk pembuatan training 3D, simulasi, visualisasi, edukasi, entertainment dan sebagainya. Hal ini dikarenakan Delta3D memiliki fitur-fitur yang bisa digunakan untuk pemodelan dan juga simulasi, seperti After Action Review (AAR), High Level Architecture (HLA), dan SCORM Learning Management System.
3. Panda3D
Panda3D merupakan game engine yang open source, dan bebas digunakan untuk tujuan apa saja, termasuk untuk proyek komersial. Dipelopori oleh kerjasama Universitas Carnegie Mellon dan Disney, game engine ini ditulis menggunakan bahasa pemrograman Python dan C++.

4. jMonkeyEngine
jMonkeyEngine merupakan open source game engine berlisensi BSD license, yang bisa digunakan untuk membuat game 3D. Game engine ini dibuat menggunakan bahasa pemrograman Java. Sudah mendukung OpenGL versi 2.0 ke atas, game engine ini sudah mencapai versi stabil jMonkeyEngine 3.0 saat ini.
5. Cube 2 : Sauerbraten
Sebenarnya Sauerbraten itu sendiri merupakan game First Person Shooter (FPS). Dan Cube 2 merupakan game enginenya. Game engine ini digunakan untuk membuat peta/geometri sendiri untuk digunakan dalam games. Bahkan, ada fitur untuk menambahkan bagian peta atau bentuk geometri secara dinamis saat masih di dalam games. Tentu saja, game engine ini berbasis open source.
Sumber :
http://laststruggle.com/
http://rizkiekasatria.wordpress.com/