Game engine adalah sebuah sistem software yang dirancang untuk pembuatan dan pengembangan suatu video game. Game engine ini dirancang untuk bekerja pada beberapa konsol video game, dan sistem operasi desktop seperti Linux, Microsoft Windows, dan Mac OS. Fungsi utama yang disediakan oleh game engine ialah mesin render untuk grafik 2D dan 3D, audio, animasi, scripting, kecerdasan buatan, jaringan, dan masih banyak lagi.
Contoh-contoh 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
· Unreal Engine
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 9
· Unity 3D
· Vision Engine
Beberapa elemen yang ada di dalam game engine adalah :
a. 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.
b. System
System sendiri 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.
c. 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.
d. Support
Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory manager, file loader. Merupakan dasar dari game engine dan hampir digunakan semua projek game engine.
e. 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.
f. 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.
g. The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut.