Game engine adalah perangkat lunak yang dirancang untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph. Game engines memberikan perangkat untuk visual development dengan tambahan komponen perangkat lunak yang dapat dipakai berulang kali. Perangkat ini pada umumnya memberikan integrated development environment yang dapat mempermudah, serta mempercepat pengembangan game. Beberapa contoh game engine:
Merupakan free dan open source game engine untuk Microsoft .Net Framework dan dikhususkan pada visual3D Game Engine, merupakan cross platform game engine untuk .NET 2.0 dan Microsoft XNA. RealmForge dibangun diatas AXIOM 3D rendering engine. Di tulis dalam bahasa C# keseluruhan. Dibangun untuk pembuatan game berbasis .NET.
Merupakan game engine 3D yang dibangun dengan menggunakan visual basic 6 dan C++ dengan menggunakan Microsoft Directx API. Mulai versi 6.5, engine ini menggunakan direct 9 dan shader support, serta ditulis ulang menggunakan C++. Sampai perkembangan terbaru, belum ada wacana untuk mengembangkannya untuk mendukung penggunaan directx9 serta Microsoft XNA.
OGRE (Object-Oriented Graphics Rendering Engine) merupakan engine yang mendukung 3D Graphic. Merupakan game engine yang fleksibel dalam melakukan 3D Rendering, ditulis dalam bahasa C++ sehingga memudahkan pengembang untuk membangun game yang mendukung 3D Graphics.
Unity adalah game engine yang mendukung grafik 3D. Game engine ini menggunakan bahasa C# dan Javascript dalam proses pembuatan game. Unity dapat digunakan untuk membuat game pada platform Android, Iphone dan juga pada PC.
Secara umum skenario adalah urutan cerita yang disusun oleh seseorang agar suatu peristiwa terjadi sesuai dengan yang diinginkan. Sedangkan secara khusus skenario adalah naskah cerita yang ditulis dengan istilah-istilah kamera yang digunakan sebagai panduan untuk pembuatan sebuah tayangan (Film, Sinema Elektronik/Sinetron, Drama).
Script merupakan suatu uraian interaksi manusia dengan mesin yang membantu proses desain dan berfokus pada keperluan user yang berbeda sehingga dapat digunakan untuk aktivitas desain.
Storyboard adalah visualisasi ide dari aplikasi yang akan dibangun, sehingga dapat memberikan gambaran dari aplikasi yang akan dihasilkan. Storyboard dapat dikatakan juga visual script yang akan dijadikan outline dari sebuah proyek, ditampilkan shot by shot yang biasa disebut dengan istilah scene.
Decision making atau pengambilan keputusan menurut Jamse Stoner adalah “Proses, pengembangan & pemilihan arah serta tindakan utk memecahkan suatu masalah tertentu”. Decision making merupakan suatu proses yang terdiri dari langkah-langkah tertentu yang dilakukanuntuk mengatasi / memecahkan masalah.
Decision tree adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Konsep dari decision tree adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan. Manfaat utama dari penggunaan decision tree adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan.
Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: state (Keadaan), event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks.
Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut direpresentasikan oleh set aturan yaitu penyebab tindakan itu terjadi, proses tindakan dan hasil dari tindakan tersebut.
Pathfinding
Pathfinding merupakan cara untuk mendapatkan rute antara 2 buah point. Pathfinding memiliki beberapa algoritma yang bisa diterapkan antara lain:
- Brute Force
- BFS
- DFS
- Branch and Bound dan A*
Arsitektur 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 grafik 2D atau 3D, 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 Game Engine
Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Ada 3 tipe game engine yang ada saat ini, diantaranya:
- Roll–your–own–Game Engine
- Mostly-ready game engine
- Point–and–click Engine
Interaksi Fisik dalam Teknologi Game
Efek Fisik dalam Game
Dalam perkembangannya, banyak game yang menerapkan hukum fisika (seperti gaya gravitasi dan gaya gesek) ke dalam kontennya. Hal ini bertujuan untuk membuat gameplay terasa lebih nyata dan tidak kaku. Terdapat dua jenis simulasi fisik pada game, yaitu rigid body dan soft body. Pada rigid body objek simulasi dikelompokkan ke dalam kategori berdasarkan bagaimana mereka harus berinteraksi, sedangkan soft body melibatkan simulasi masing-masing bagian dari setiap objek sehingga dapat berperilaku dengan lebih realistis.
Collision Detection
Collision detection atau deteksi tumbukan digunakan untuk mendeteksi interaksi fisik antara dua atau lebih objek. Tanpa collision detection, ketika dua atau lebih objek saling bertemu, maka tidak akan terjadi apa-apa. Contohnya permainan biliar, ketika bola putih dipukul ke arah kumpulan bola lainnya, maka bola tersebut akan saling bertumbukan. Jika collision detection dihilangkan, maka bola putih tersebut akan melewati (tembus) kumpulan bola tersebut karena tidak terjadi tumbukan.
User Interface pada Game Komputer
User interface adalah penghubung antara user dengan aplikasi game itu sendiri. Tujuan dari user interface adalah untuk memudahkan user dalam mengoperasikan dan mengontrol mesin dengan efektif, efisien serta menyenangkan dengan cara menghasilkan hasil yang diinginkan.
Teori mengenai desain user interface game oleh Erik Fagerholt dan Magnus Lorentzon dari Chalmers University of Technology berjudul: Beyond the HUD - User Interfaces for Increased Player Immersion in FPS Games. Mereka memperkenalkan istilah untuk berbagai jenis interface tergantung pada bagaimana terkait dengan narasi dan geometri permainan mereka, di antara lain:
- Diegetik
- Meta
- Spasial
- Non-diegetik
Penampilan Grafik Scene game komputer
Visibility
Visibility merupakan tampilan grafik scene game pada komputer. Bagaimana sebuah game terlihat oleh user agar menarik dan berkualitas sehingga user menikmati game tersebut.
Biasanya pada video game terdapat istilah scene 2.5D. Sebenarnya istilah tersebut tidak berbeda jauh dari scene 2D (dua dimensi). Hanya saja 2.5D memiliki beberapa fitur tambahan berupa efek cahaya, bayangan dan sebagainya yang dibuat agar seakan-akan menyerupai scene 3D.
Biasanya gameplaynya memang mirip game 2D dimana kita hanya bisa bergerak secara horizontal dan vertical namun beberapa gambarnya di render secara 3D. Teori grafik 2.5D ini biasa juga disebut dengan pseudo-3D sedangkan pada istilah game lebih dikenal dengan isometric/diametric/trimetric projection.
Game bertipe ini menggunakan 2 macam tipe pemodelan:
- Objek/model 3 dimensi
- Grafik 2 dimensi
Level of Detail
Dalam grafik komputer, memperhitungkan tingkat detail meliputi berkurangnya kompleksitas representasi objek 3D ketika bergerak menjauh dari penampil atau sesuai dengan metrik lainnya seperti objek penting, kecepatan sudut pandang-relatif atau posisi. Tingkat detail teknik meningkatkan efisiensi render dengan mengurangi beban kerja pada tahap pipa grafis, biasanya vertex transformasi. Kualitas visual yang berkurang dari model sering tanpa disadari karena efek kecil pada penampilan objek ketika jauh atau bergerak cepat.
Game Berjaringan
Game Online atau sering disebut Online Games adalah sebuah permainan (games) yang dimainkan di dalam suatu jaringan (baik LAN maupun Internet). Sebuah game online adalah permainan video yang dimainkan selama beberapa bentuk jaringan komputer , menggunakan komputer pribadi atau konsol video game. Jaringan ini biasanya internet atau teknologi setara, tetapi game selalu digunakan apa pun teknologi yang saat ini:modem sebelum Internet, dan keras kabel terminal sebelum modem. Perluasan game online telah mencerminkan keseluruhan perluasan jaringan komputer dari jaringan lokal kecil ke internet dan pertumbuhan akses internet itu sendiri. Game online dapat berkisar dari yang sederhana lingkungan berbasis teks grafis game menggabungkan kompleks dan dunia maya dihuni oleh banyak pemain secara bersamaan. Banyak permainan online terkait komunitas online, membuat game online suatu bentuk kegiatan sosial di luar permainan pemain tunggal.
Pembuatan Game Komputer dengan menerapkan konsep Artifial Intelligent pada sebuah game engine.
Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atauIntelegensi Artifisial (Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin komputer agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika. Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Contoh media interaksi ialah:
- Penglihatan (vision)
- Suara (voice)
- Ucapan (speech)
- Gerakan anggota badan ( gesture)
Contoh Game Engine :
1. RAGE
Merupakan kependekan dari Rockstar Advanced Game Engine. RAGE telah dipakai oleh Rockstar untuk membuat game-game besar seperti GTAV. Bersifat proprietary.
2. Unreal Engine
Pilihan bagi para indie developer karena sifatnya yang bersifat freeware dan menjadi propietary jika ingin mendapatkan fitur tambahan (pro). Game yang telah dirilis menggunakan engine ini antara lain : Unreal Tournament, seri Gears of War, seri Mass of Effects, Medal of Honor : Airborne, dan Outlast.
3. CryEngine
Merupakan game engine yang dikembangkan oleh Crytek. Telah merilis berbagai game seperti seri Crysis dan Far Cry. Tetapi game engine ini sangat berat untuk kelas pc yang mempunyai spek rendah sehingga sering dijuluki “Cry engine make me cry”.
4. Anvil, Distrupt, Dunia, Jade, dan LyN
Merupakan game engine yang dikembangkan oleh Ubisoft, tentunya game-game keluarannya merupakan seri Prince of Persia, Tom Clancy, Assassin’s Creed, dll.
5. Frostbite
Terkenal setelah seri Battlefield menjadi game yang katanya game first-person shooter terbaik, menurut sebagian orang.
6. HPL Engine
Game engine ini terkenal dari seri game horor keluarannya, seperti Penumbra (Overture, Black Plague, Requiem) dan Amnesia (The Dark Descent, A Machine For Pigs)
7. Unity
Game-game keluarannya lebih sering menuju ke aplikasi dan game-game kecil. Tapi keunggulan tersendirinya adalah fleksibilitas dan bahasa yang digunakan lumayan mudah (C# dan JavaScript). Game horor keluaran Digital Happiness yaitu DreadOut yang notabene dibuat oleh anak bangsa dikembangkan oleh Unity. Angkot The Game mungkin juga dikembangkan oleh Unity. Game-game lainnya adalah Slender, Temple Run, Bad Piggies, dsb.
8. SAGE, W3D
Jika anda pernah memainkan game-game seri Command & Conquer maka game itu di buat menggunakan game engine SAGE. Versi awal dari SAGE adalah W3D yang dikembangkan oleh Westwood Studios. Sekarang, versi terbaru dari engine ini adalah SAGE 2.0 yang dikembangkan oleh Westwood Studios dan Electronic Arts Los Angeles.
9. Source Engine
Game engine ini lebih banyak digunakan dalam game genre fps. Dengan ini maka game-game yang dikeluarkannya adalah seri Counter Strike, Half Life, Portal, Left 4 Dead, dan The Stanley Parable.
Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.
Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
Minimax yang merupakan salah satu metode penerapan (implementasi) pohon n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa depan.