SEJARAH GAME ENGINE
Sebelum (Game Engine) mesin permainan, permainan yang
biasanya ditulis sebagai entitastunggal: game untuk Atari 2600, misalnya, harus
dirancang dari bawah ke atas untuk memanfaatkan optimal hardware layar tampilan
ini rutin-core hari ini disebut kernel oleh retro pengembang. Platform lain
telah kelonggaran lebih, tetapi bahkan ketika layar itu bukan masalah, kendala
memori biasanya menyabotase upaya untuk menciptakan desain data-berat yang
mesin kebutuhan. Bahkan pada platform menampung lebih, sangat kecil dapat
digunakan kembali antara permainan. Kemajuan pesat hardware arcade-ujung tombak
dari pasar-berarti bahwa sebagian besar kode harus dibuang setelah itu pula,
sebagai generasi kemudian akan menggunakan desain permainan game yang sama
sekali berbeda yang mengambil keuntungan dari sumber daya tambahan. Jadi desain
paling permainan melalui 1980 dirancang melalui ruleset-keras dikodekan dengan
sejumlah kecil data tingkat dan grafis.
Generasi pertama dari mesin grafis pihak ketiga atau
renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai mesin)
didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware dari
Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Realitas Lab adalah
tercepat dari tiga dan adalah yang pertama diperoleh dalam langkah agresif oleh
Microsoft. Tim RenderMorphics Pegawai Negeri Keondjian, Kate Seekings dan Doug
Rabson kemudian bergabung dengan proyek Microsoft yang berubah Realita Lab ke
Direct3D sebelum Keondjian dan Rabson kiri untuk memulai perusahaan lain
middleware Qube Software. Renderware akhirnya dibeli oleh EA (Electronic Arts)
tetapi dikesampingkan oleh raksasa permainan.
Istilah “Game Engine (Mesin Permainan)” muncul pada pertengahan 1990-an, terutama
dalam kaitannya dengan game 3D seperti penembak orang pertama (FPS). (Lihat
juga:. mesin first-person shooter) tersebut adalah popularitas Id Doom Software
dan game Quake, daripada bekerja dari awal, pengembang lain berlisensi bagian
inti dari perangkat lunak dan desain grafis mereka sendiri, karakter, senjata
dan tingkat -The “permainan isi ” atau “aset permainan.” Pemisahan aturan
permainan spesifik dan data dari konsep-konsep dasar seperti deteksi tabrakan
dan entitas permainan berarti bahwa tim bisa tumbuh dan mengkhususkan.
Kemudian permainan, seperti Quake III Arena dan 1998 Epic’s
Unreal Games dirancang dengan pendekatan ini dalam pikiran, dengan mesin dan
konten dikembangkan secara terpisah. Praktek lisensi teknologi tersebut telah
terbukti menjadi aliran pendapatan yang berguna tambahan untuk beberapa
pengembang game, sebagai lisensi satu untuk mesin game high-end komersial dapat
berkisar dari US $ 10.000 untuk jutaan dolar, dan jumlah lisensi dapat mencapai
beberapa lusin perusahaan, seperti terlihat dengan Unreal Engine. Paling tidak,
mesin dapat digunakan kembali membuat sekuel game berkembang lebih cepat dan
mudah, yang merupakan keunggulan yang berharga dalam industri video game yang
kompetitif.
Mesin permainan modern adalah beberapa aplikasi yang paling
kompleks yang ditulis, sering menampilkan puluhan sistem tersetel berinteraksi
untuk memastikan pengalaman pengguna yang tepat dikendalikan. Evolusi terus
mesin permainan telah menciptakan sebuah pemisahan yang kuat antara rendering,
scripting, karya seni, dan desain tingkat. Sekarang umum, misalnya, untuk tim
pengembangan game khas untuk memiliki beberapa kali banyak seniman sebagai
programmer yang sebenarnya.
Permainan penembak orang-pertama tetap menjadi pengguna
utama dari mesin permainan pihak ketiga, tetapi mereka sekarang juga digunakan
dalam genre lain. Sebagai contoh, RPG The Elder Scrolls III: Morrowind dan
MMORPG Dark Age of Camelot didasarkan pada mesin Gamebryo, dan MMORPG Lineage
II didasarkan pada Unreal Engine. Game mesin digunakan untuk game awalnya
dikembangkan untuk rumah konsol juga, misalnya, mesin RenderWare digunakan
dalam Grand Theft Auto dan waralaba Burnout.
Threading adalah mengambil lebih penting karena sistem
multi-core modern (misalnya Cell) dan tuntutan meningkat pada realisme. Benang
Khas melibatkan rendering, streaming, audio, dan fisika. Permainan Balapan yang
biasanya berada di garis depan threading dengan mesin fisika berjalan di sebuah
thread terpisah jauh sebelum subsistem inti lainnya dipindahkan, sebagian
karena rendering dan tugas terkait perlu update hanya pada 30-60 Hz. Sebagai
contoh, di PlayStation 3, fisika berlari di Need For Speed pada 100 Hz versus
Forza Motorsport 2 pada 360 Hz.
Meskipun istilah ini pertama kali digunakan pada 1990-an,
ada sistem sebelumnya beberapa tahun 1980-an yang juga dianggap permainan
mesin, seperti Sierra’s Adventure Game Interpreter (AGI) dan sistem SCI,
LucasArts ‘SCUMM sistem dan Insentif Software mesin Freescape . Tidak seperti
kebanyakan mesin permainan modern, mesin permainan ini tidak pernah digunakan
dalam produk pihak ketiga (kecuali untuk sistem SCUMM yang dilisensikan dan
digunakan oleh humongous Entertainment).
DEFINISI 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.
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.
1. 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.
2. 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.
3. 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.
Sebuah game engine dibagi lagi menjadi dua bagian besar.
Yaitu API dan SDK. API (Applicaiton Programming Interfaces) adalah bagian
operating system, services dan libraries yang diperlukan untuk memanfaatkan
beberapa feature yang diperlukan. Dalam hal ini contohnya DirectX. Sementara
SDK adalah kumpulan dari libraries dan API yang sudah siap digunakan untuk
memodifikasi program yang menggunakan operating system dan services yang sama.
Biasanya, game engine menyertakan keduanya.
Contohnya dalam Unreal Engine, menyiapkan antarmuka baku
bagi programmer untuk menciptakan game nya dengan mudah, melalui scripting
engine, yang disebut UnrealScript, dan juga libraries, yang berisi model
standar dan texture standar dan juga world editor yang disebut sebagai
UnrealED.
Beberapa elemen yang ada didalam game engine, antara lain :
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.
System
System 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.
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.
Support
Support adalah bagian yang paling sering digunakan oleh
system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang
biasa digunakan seperti : vector, matrix, memory manager, file loader merupakan
dasar dari game engine dan hampir digunakan semua projek game engine.
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.
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.
The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga
user dapat mengembangkan game tersebut sesuai dengan yang diinginkan.
Saat sekarang ini sudah sangat banyak game engine yang
hadir, dan sangat maju. Para pembuat game engine kini berlomba-lomba untuk
menciptakan game engine dengan tampilan yang menarik agar menciptakan suasana
permainan yang nyaman atau enak untuk dilihat dan dimainkan dalam PC ataupun
Console. Dengan tampilan atau graphic yang menarik yang kini semakin mendekati
realitas dalam segi fisik para tokoh serta gameplay-nya, akan membuat para
gamers semakin antusias untuk memainkan game tersebut.
Contoh-contoh game engine :Game engine gratis
OGRE
Irrlicht
Panda3D
jME
Blender
Game engine berbayar
Torque Game Engine
C4 Engine
3DGameStudio
Leadwerks Engine 2
DX Studio
Tugas Softskill Universitas Gunadarma