Mengenai Game Engine

Hey ini hanya untuk tugas softskill yang saya ambil referensi dari beberapa web yang saya cari seperti google, wikipedia dan wordpress.

Selamat Membaca ^_^

---

Game Engine

Game Engine adalah software system yang dirancang untuk menciptakan dan pengembangan video game. Beberapa mesin permainan hanya menyediakan waktu-nyata (real-time), bukan kemampuan render 3D dari beragam fungsi yang diperlukan oleh permainan. 

Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X.

Mesin ini mengandalkan permainan pengembang untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Mesin jenis ini umumnya disebut sebagai “mesin grafis,” “mesin rendering,” atau “mesin 3D” bukannya yang lebih mencakup istilah "mesin permainan".

Namun, terminologi ini tidak konsisten digunakan sebagai banyak fitur lengkap mesin game 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh dari mesin grafis adalah: RealmForge, Truevision3D, ogre, Crystal Space, Genesis3D, Irrlicht dan JMonkey Engine.

Permainan modern atau mesin grafis umumnya memberikan adegan grafik, yang merupakan berorientasi objek representasi dari dunia permainan 3D yang sering menyederhanakan desain permainan dan dapat digunakan untuk rendering lebih efisien dari dunia maya yang luas.

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.

Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main().

Latar Belakang Game Engine 
Game engine pertama kali muncul pada pertengahan tahun 1990, yang berkaitan dengan game 3D misalnya First Person Shooter ( FPS ). Setelah game– game 3D Quake dan Doom ( id software ) dipasarkan, para developer cenderung memberikan lisensi game engine dan memfokuskan ke pembuatan grafik, suara, gameplay, dan design game.

Pemikiran ini berdasarkan perbandingan jika harus memula membuat game dari nol lagi. Game generasi berikutnya seperti misalnya Quake 3 dan Unreal Tournament, sejak awal didesain, game ini memisahkan antara code game dengan asset game ( gambar, suara, model 3 dimensi ) dengan tujuan agar para developer game lainnya dapat membuat game sebanyak mungkin dengan hanya mengganti asset tanpa harus mengubah struktur dasar engine tersebut sehingga produktivitas akan lebih meningkat, mengurangi biaya untuk operasional dan sangat membantu untuk mendukung kemajuan industri game. 

Tujuan Game Engine  

Sekarang hampir semua perusahaan game memiliki game engine mereka sendiri, menggunakannya untuk membuat game mereka, dan menyimpannya untuk diri sendiri. Semakin lama kebutuhan untuk game engine yang makin modern semakin bertambah. Kebutuhan akan game engine tersebut mendasari tujuan dari game engine.

Berikut ini adalah tujuan penggunaan game engine beserta alasannya :  

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

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

3. Memudahkan kolaborasi antar pika

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. 

Tipe – tipe Game Engine

Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrogramman. Tapi dalam pembahasan sekarang ini, ketimbang harus me-list semua jenis game engine yang ada di wikipedia, mendingan kita bahas garis besar nya saja.

Roll-your-own game engine. Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine nya sendiri. Ini berarti mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Disisi lain, mereka kadang menggunakan libraries komersil atau malah open source. Terkadang mereka  malah membuat semuanya dari nol.

Biasanya, game engine tipe ini lebih disukai karena selain kemungkinan besar tersedia gratis, juga memperbolehkan mereka, para developer, lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya, banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya.

Menara Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine nya, hanya untuk di tulis ulang semuanya dalam beberapa hari penggunaan karena adanya bug kecil yang sangat mengganggu.

Mostly-ready game engines. Engine engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer / programmer. Semuanya termasuk contoh GUI, physiscs, libraries model dan texture, dan segalanya. Banyak dari mereka yang sudah benar benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama.

Biasanya game engine semacam ini memiliki batasan batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar benar terbuka lebar. Hal ini ditujukan agar tidak terjadi terlalu banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis, dan masih memungkinkan game engine nya itu sendiri untuk mengoptimalkan kinerja game nya.

Banyak dari game engine seperti ini, Unreal Engine, Source Engine, id Tech Engine dan sebagainya, yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Hal ini dengan serta merta menyingkat sangat banyak waktu dan jelas, biaya dari para Developer game.

Point-and-click engines. Engine untuk point-and-click merupakan engine yang sangat amat dibatasi, tapi dibuat sangat user friendly. Kamu bahkan bisa mulai membuat game mu sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget.

Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan, dan biasanya hal ini mencakup semuanya, mulai dari grafis, hingga tata suara. Tapi bukan berarti game engine jenis ini nggak berguna, bagi developer cerdas dan berdaya kreativitas tinggi, game engine bapuk seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine seperti ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman, dan secepatnya merilis game game meteka.

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
Demikian yang dapat saya jelaskan mengenai Game Engine. Terimakasih :)

Related Articles

0 comments:

Post a Comment

Silahkan dicomment ya, dan kalo ada yang mau ditanya silahkan tulis di bawah ini ^_^v

Visitor