Masih membahas tentang Game, pada postingan sebelumnya sudah dibahas apa itu game, komponen-komponen pada game dan jenis-jenis game itu sendiri. Kali ini yang akan dibahas adalah software pembuat game atau Game Engine.
Apa itu Game Engine??
Game Engine merupakan sebuah sistem perangkat lunak yang digunakan untuk
menciptakan dan mengembangan video game. Proses pengembangan game sering
dihemat oleh sebagian besar menggunakan game engine yang
sama untuk menciptakan permainan yang berbeda. Ada banyak game engine
yang dirancang untuk bekerja pada game konsol dan sistem
operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. Fungsionalitas inti biasanya disediakan oleh game engine 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.
Beberapa elemen yang ada di dalam game engine adalah :
- Tools/Data
Untuk mengembangkan sebuah 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
Sistem berfungsi untuk melakukan
komunikasi dengan hardware yang berada di dalam mesin dan bertanggung jawab untuk melakukan
inisialisasi, update dan mematikan sub system yang terdapat di dalamnya. 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.
- Console
Console dibutuhkan untuk 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
Merupakan dasar
dari game engine dan hampir digunakan semua projek game engine. Support
adalah bagian yang paling sering digunakan oleh sistem di dalam game
engine. Support sendiri berisi rumus-rumus matematika yang biasa
digunakan, vector, matrix, memory manager, file loader.
- 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 terserah kita bagaimana mengembangkan game tersebut.
Contoh game engine yang saya gunakan adalah Strawberry Prolog. Strawberry
Prolog adalah dialek dari bahasa pemrograman Prolog. Sintaksnya sangat
dekat dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan
bagian dari standar. Gagasan utama dari Strawberry Prolog sangat mudah
digunakan dan oleh karena itu beberapa universitas menggunakan prolog
untuk kursus .
Nama Prolog diambil dari bahasa Perancis programmation en logique (pemrograman
logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert
Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa
pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian
perintah untuk dijalankan komputer.
Prolog adalah bahasa pemrograman logika atau disebut juga bahasa non prosedural. Prolog disebut
sebagai object oriented language atau declarative language. Dalam prolog tidak
terdapat prosedur, tetapi hanya tampilan data-data object (fakta) yang akan
diolah dengan relasi antar object yang membentuk suatu aturan. Aturan-aturan
ini disebut heuristik dan diperlukan
dalam mencari suatu jawaban, dengan kata lain, prolog dalam prolog adalah
database.
MATCHESBERRY
Matchesberry
merupakan pengembangan dari permainan Matches yang ada pada Strawbery Prolog
yang berkonsep AI (Artificial Intelligence). Pada awalnya, permainan ini
menggunkan korek api yang terdiri dari 15 batang korek api. Namun pada
Matchesberry , korek api digantikan dengan buah strawberry. Itu sebabnya game
ini diberi nama Matchesberry.
Permainan Matchesberry terdiri dari lima buah menu dengan
satu menu check box pada option. Menu New Game adalah menu untuk
perintah memulai permainan baru. Menu Option berisi menu Check Box yang terdiri
dari Computer Is The First dan Take The Last. Menu Help berisi bantuan cara
bermain. Menu About Me keterangan identitas pengembang game. Terakhir adalah Menu
Exit digunakan untuk keluar dari permainan.
Referensi :
http://en.wikipedia.org/wiki/Game_engine
http://cyndicyco.blogspot.com/2011/10/contoh-strawberry-prolog.html
http://cyndicyco.blogspot.com/2011/10/contoh-strawberry-prolog.html