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().’ Biasanya program utama ini relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu program game. Kalau game diilustrasikan sebagai ‘musik’ yang keluar dari mp3 player, maka engine adalah ‘mp3 player’ dan program utama adalah ‘data mp3’ yang dimasukkan ke dalam mp3 player tersebut. Dengan adanya engine, waktu, tenaga dan biaya yang dibutuhkan untuk membuat game software menjadi berkurang secara signifikan. Beberapa game dengan jenis dan gameplay yang hampir sama bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih bersifat reaktif daripada prosedural. Sulit untuk menggambarkan engine secara keseluruhan dalam flow-chart, karena alur program bisa diatur sesuai dengan keinginan pemakai engine, yaitu game programmer.
Tipe-tipe Game Engine
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 ditulis 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 mereka.
Macam-macam 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
PerbanPerbandingan 2 Buah Game Engine Freeware Game Engine dan Comercial Game Engine
Freeware Game Engine Unity
Unity adalah alat authoring terpadu untuk membuat video game 3D atau konten interaktif lainnya, seperti visualisasi arsitektur atau real-time 3D animasi. Unity serupa dengan Direktur, game engine Blender, Virtools atau Torque Game Builder dalam arti bahwa lingkungan grafis terintegrasi dengan metode utama pembangunan. Editor berjalan pada Windows dan Mac OS X dan dapat menghasilkan permainan untuk Windows, Mac, Wii , atau iPhone platform,
Kelebihannya:
* Otomatis mengimpor aset – aset load ke Unity dan secara otomatis diimpor, dan impor kembali jika aset diperbarui. Meskipun banyak aplikasi 3D modeling populer didukung oleh Unity, dengan integrasi 3ds Max, Maya, Blender, Cinema 4D, dan Cheetah3D yang paling lengkap mendukung untuk masuk ke format lain bervariasi.
* Mesin grafis menggunakan Direct3D (Windows), OpenGL (Mac, Windows) dan berpemilik API (Wii).
* Mendukung Bump mapping, Reflection mapping, Parallax mapping, Screen Space Ambient Occlusion bayangan dinamis menggunakan shadow maps, merender teksturenya dan membuat layar penuh efek pengolahan.
* Game Scripting melalui Mono . Scripting dibangun di atas Mono, implementasi open source dari. NET Framework. Karena itu, pemrogram dapat menggunakan JavaScript, C # atau Boo (yang memiliki sintaks Python).
* sudah mendukung pembuatan dari Nvidia’s (khususnya Ageia’s) PhysXphysics engine.
* Pemutaran video menggunakan codec Theora
Commercial Game Engine
Torque Game Engine, atau TGE, adalah versi modifikasi dari sebuah 3D komputermesin permainanawalnya dikembangkan oleh Dynamix untuk 2001 FPD suku 2. Torsi mesin yang sejak saat itu telah tersedia untuk lisensi dari GarageGames untuk independen dan profesional pengembang permainan. Beberapa judul terkenal komersial dikembangkan dengan menggunakan mesin termasuk Blockland, Marble Blast Gold, Minion dari Tawa, TubeTwist, Ultimate Duck Hunting, Wildlife Tycoon: Venture Afrika, ThinkTanks, The Destiny of Zorro dan Penny Arcade Adventures.Torque Game Engine tidak lagi dijual karena telah digantikan oleh Torque 3D
Kelebihannya:
* Selain sebagai mesin grafis 3D, TGE menyediakan kode jaringan yang kuat, scripting, di-dunia mesin editing dan GUI penciptaan. The source code dapat dikompilasi pada Windows, Macintosh, Linux, Wii, Xbox 360 dan iPhoneplatform.
* Model pemuatan mendukung model 3D dalam. DTS format file dan. DIF format file.
* Torsi mendukung jaringan LAN dan permainan di internet dengan tradisional arsitektur client-server. Server objek “ghosted” pada klien dan diperbarui secara berkala atau pada peristiwa.
* DTS model biasanya digunakan untuk karakter dan kendaraan meskipun kadang-kadang,disini digunakan untuk bangunan dan interior jadi beda .
* Dataran secara otomatis menyala dan tekstur diterapkan pada daerah dapat dicampur bersama-sama dengan dengan rapi.
Kekurangannya:
* Banyak versi dari Torque Game Engine, terutama Torque Torque X dan 3d, yang hampir seluruhnya kurang di dokumentasi resmi. Sebagai contoh, satu-satunya dokumentasi resmi untuk Torque 3d terdiri dari deskripsi singkat subset terbatas fitur
* Sofwarenya mahal sekali Tersedia Lisensi Indie untuk individu dan perusahaan yang membuat kurang dari US $ 250,000 dalam penjualan tahun sebelumnya, dan Lisensi Komersial Tersedia pada harga yang lebih tinggi untuk individu dan perusahaan yang membuat lebih dari 250,000 dolar di tahun sebelumnya
contoh perbedaan game enginenya adalah Panda3D (yang free) dengan CPAL3D (berbayar).
PANDA 3D
Panda 3d adalah game engine, ebuah kerangka kerja untuk 3D rendering dan pengembangan game untuk Python dan C + +. Panda3D bersifat Open Source dan bebas untuk tujuan apapun, termasuk usaha komersial, berkat itsliberal lisensi. Selama beberapa bulan terakhir, beberapa mahasiswa di Carnegie Mellon University's Entertainment Technology Center (ETC) telah bekerja pada peningkatan proses egging serta secara bertahap meningkatkan sistem shader.
Bagi anda yang pernah menggunakan Panda 3d, anda akan tahu bahwa ada proyek PLG Panda 3D di masa lalu. Beberapa dari mereka telah lumayan berhasil karena adanya ruang lingkup proyek besar. Proyek ini justru akan berfokus pada pembuatan fitur lengkap set bukan setengah potongan yang diimplementasikan seperti proyek yang gagal di masa lalu. Ini juga akan fokus pada dokumentasi baik di dalam code dan manual.
Proyek fokus pada dua hal:
1. Shader input
2. Egging/model proses export
Shader Input
Sebenarnya, sistem shader pertama adalah proyek siswa PLG dan sejak itu telah diperbaiki melalui proyek-proyek PLG lain dan 3D Panda Community. Shader input terus mempertahankan ini dalam manor terstruktur. Shaders telah mendukung masukan dari array dan array dari vektor untuk beberapa waktu. Namun, Panda tidak pernah didukung 3D. Ada beberapa hack waktu itu di mana array lulus sebagai tekstur, tapi ini tidak ideal untuk kinerja dan ruins texture caching schemes. Setelah proyek ini selesai, pengguna akan mendapat array input dan vektor/matriks langsung ke shader itu.
Ini mungkin tidak tampak menarik pada awalnya, tetapi shader input meletakkan dasar untuk hal-hal yang lebih banyak. Jika Anda baru dalam grafis komputer, Panda 3d memiliki sistem input shader lengkap memungkinkan untuk beberapa hal berikut ini :
1. Hardware accelerated actors/characters
2. instancing berbasis Shader dengan tekstur yang dinamis dan mendukung animasi (crowds)
3. Shader sistem berbasis vegetasi (pohon dan rumput)
4. real deferred shading system
5. real light manager system untuk shader based light
A Real Egging Pipeline
Sampai sekarang, telah ada beberapa upaya user interface untuk maya2egg , dae2egg, dll. Sebagian besar dari mereka hanya user interface yang sederhana sampai setara command line dari mereka. User interface yang baru ini lebih dari itu, fitur-fitur yang di berikan :
1. Simple mode bila anda tidak ingin membangun sistem
2. Support untuk beberapa versi maya
3. Support untuk egg tools seperti egg-opt-char dan egg-palettize
4. Sistem batching yang secara otomatis mendeteksi apakah sebuah file telah dirubah untuk mengizinkan untuk minimal rebuilds
5. Support untuk semua alat yang akan dibangun ke dalam sistem batch
6. Save/Load batch scripts
CPAL3D
Keuntungan:
CPAL3D begitu fleksibel sehingga pengembang dapat membuat permainan praktis genre apapun teknologi tanpa modifikasi. Selain itu, fitur khusus dapat dilaksanakan berdasarkan permintaan untuk pengembang tepat sesuai keinginan. Mesin dapat sangat dimodifikasi dengan script. Skrip adalah landasan pelaksanaan permainan, interaksi dan NPC dunia perilaku itu sendiri. Sistem script dirancang untuk menghindari kompleks modifikasi mesin dan dapat ditangani oleh seorang pengembang tanpa C / C + + pengetahuan. . Renderer adalah yang berkualitas terbaik, termasuk fisika, suara dan subsistem lainnya. Mesin dapat menangani keduanya justru bekerja dengan rincian lembut dan besar, padat berisi dunia.
Kerugian:
CPAL3D merupakan game engine yang kompleks,
Tidak ada komentar:
Posting Komentar