Game engine adalah sebuah perangkat lunak yang dirancang dan dibuat untuk membantu membuat sebuah game. Sebuah game engine biasanya dibangun dengan mengenkapsulasi, bahasa orang awam-nya mengumpulkan beberapa fungsi dasar yang umum digunakan dalam sebuah game. Seperti fungsi rendering, audio, jaringan, atau efek-efek game lainnya. Sebagian besar game engine umunya berupa library (kumpulan fungsi dasar) yang penggunaannya dipadukan sesuai dengan bahasa pemrograman. Baik dalam pembuatan game mobile maupun PC sekarang sudah puluhan mungkin sudah mencapai ratusan, disini saya akan memaparkan game engine khusus untuk dunia mobile, dan pada saat ini hampir keseluruhan game engine memiliki fungsi untuk CrossPlatform yaitu bisa dipakai untuk membuat game berbagai jenis platform baik web, PC, mobile (Andorid, iOS, dan lainnya).
Masing-masing game engine memiliki kelebihan dan kekurangna masing-masing. Dari beberapa game engine yang pernah saya coba masalah terbesar dalam penggunaan game engine untuk pembuatan game mobila adalah build size dari installer game yang besar. Bila kita mentargetkan pasar lokal (Indonesia) dengan kemampuan internet dan device yang memiliki memory kecil ini akan sangat jadi masalah terhadap akuisisi user/pengguna. Namun lain halnya jika kita membuat game mobile tersebut memiliki ciri khas atau game play yang berbeda dari yang lain, kita akan mendapatkan pengguna yang signifikan dan fanatik.
Unreal Engine 4
Company: Epic Games
Platforms: Android, HTML5, iOS, Linux, Mac, Oculus, PC, PS4, SteamOS, Xbox One
www.unrealengine.com
Unity
Company: Unity Technologies
Platforms: Android, BlackBerry, iOS, Linux, Mac, PS3, PS4, Xbox 360, Xbox One, Windows 8 (coming soon)
www.unity3d.com
CryEngine
Company: Crytek
Platforms: Android, iOS, PC, PS3, PS4, Xbox 360, Xbox One, Wii U
www.cryengine.com
Havok Vision Engine
Company: Havok
Platforms: Android, iOS, PS3, Vita, Wii, Wii U, Windows 8, Xbox 360
www.havok.com
Project Anarchy
ShiVa
Company: ShiVa
Platforms: Android, Blackberry, iOS, Linux, Mac, PS3, SteamOS, Vita, Wii, Windows, Windows Phone 8,
Xbox 360
www.shivaengine.com
BigWorld
Leadwerks
App Game Kit
FPS creator Reloaded
Reach3dx
HeroEngine
Marmalade
Turbulenz
GameSalad
Efek dalam Game
1. Resolution
Resolusi merupakan jumlah pixel yang ada di dalam monitor gamers. Biasanya dituliskan dalam bentuk panjang x lebar pixel.
Misal 1440 x 900 maka artinya monitor tersebut akan memiliki panjang 1440 pixel dengan lebar 900 pixel.
Semakin banyak jumlah pixel maka semakin besar pula resolusinya dan semakin mulus juga gambar yang akan dihasilkan.
2. Texture
Kalau tekstur tentunya membicarakan kualitas dari lingkungan sekitar / environment dalam game. Sehingga game yang dimainkan akan menjadi bagus, indah, dan rapi.
Semakin tinggi tekstur yang gamers inginkan akan menghasilkan kerja VGA yang lebih berat namun detil yang lebih bagus juga.
3. Anti-Aliasing
Anti-Aliasing berfungsi untuk mengurangi efek aliasing atau efek patah-patah. Biasanya efek aliasing akan terlihat jelas pada objek berposisi diagonal.
Anti-aliasing berfungsi sebagai filter yang mengubah warna pada pixeldisekitar obyek yang terlihat patah-patah sedemikian rupa sehingga obyek tersebut terlihat lebih mulus.
Proses ini sangat mempengaruhi performa GPU. Fitur ini memiliki banyak tingkatan 2x, 4x, atau 16x.
Anti-aliasing 16x menghilangkan hampir semua efek anak tangga dengan mengurangi performa GPU secara signifikan.
Sedangkan pada anti-aliasing 2x, efek patah-patah mungkin masih sering terlihat, namun performa lebih baik.
4. MSAA (Multisampling Anti-Aliasing)
MSAA merupakan jenis AA yang paling sering digunakan. MSAA diterapkan hanya pada bagian frame yang mungkin terlihat patah-patah, dan bukannya pada seluruh frame, sehingga MSAA bisa saja masih menyisakan efek patah-patah tadi pada beberapa bagian, misalnya didalam obyek poligon.
5. TXAA (Temporal Anti-Aliasing)
TXAA bisa juga dikatakan MSAA dengan beberapa modifikasi. TXAAmemproses frame yang telah ditampilkan untuk menyempurnakan frame yang akan ditampilkan.
TXAA dibuat oleh
NVIDIA sehingga optimal untuk kartu grafis buatannya.
TXAA dapat lebih efektif dari
MSAA, namun membuat gambar terlihat sangat kabur.
AMD juga membuat
AA semacam ini dengan nama
MLAA.
6. FXAA (Fast Approximate Anti-Aliasing)
FXAA adalah jenis AA yang tidak terlalu mengurangi performa. FXAAmemproses frame yang ditampilkan untuk mengurangi aliasing dengan relatif cepat. Namun FXAA dapat membuat gambar terlihat kabur. Sebaiknya fitur ini dimatikan apabila dirasa game berjalan terlalu berat.
7. Vertical Synchronization (VSync)
VSync merupakan pengaturan untuk mencegah terjadinya screen tearing. Screen tearing adalah tidak sesuainya frame per second dengan refresh rate.
VSync mengolah frame rate sesuai dengan refresh rate untuk mencegah screen tearing, misalnya maksimal 60 fps pada monitor 60Hz. Pada saat frame rate berkurang VSync menguncinya ke 30, 20, atau 15 fps untuk mengindari screen tearing.
Frame rate diantara 60 dan 30 biasanya dikunci ke 30, dan seterusnya. Sedangkan tanpa VSync frame rate-nya bisa lebih tinggi, dengan kemungkinan terjadi tearing.
Adaptive VSync buatan NVIDIA mencegah penurunan frame rate secara signifikan selagi mencegah screen tearing.
8. Render Quality
Render quality akan memengaruhi hasil kualitas gambar yang dihasilkan dalam game.
Semakin kecil kualitas render-nya semakin besar fps yang bisa didapat dengan konsekuensinya memiliki grafik yang kurang memuaskan.
9. Tessellation
Tessellation pengaturan yang akan menyebabkan permukaan yang rata menjadi terlihat lebih detil, lengkap dengan perbedaan kedalaman tekstur.
Tesselation juga menambah kualitas visual lebih terasa. Fitur ini membutuhkan GPU yang mendukung DirectX 11.
Disarankan mengaktifkan fitur ini setelah bisa menyelakan semua fitur yang lain dan performa GPU yang memungkinkan.
10. Ambient Occlusion
Ambient occlusion akan membentuk bayangan pada sudut dan sisi tertentu sebuah objek.
Ambient occlusion memproses bayangan yang terbentuk tidak hanya dari satu cahaya saja.
11. Anisotropic Filtering
Pengaturan ini membuat tekstur objek yang letaknya jauh terlihat jelas dan merata.
Semakin tinggi tingkat Anisotropic Filtering maka semakin jelas / tajam tekstur objek yang jauh terlihat.
Fitur ini menyempurnakan tampilan visual game tanpa terlalu mengurangi performa.
Pengertian Kecerdasan Buatan
Kecerdasan buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitasbuatan. 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.
Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.
Artificial Intelligence dalam Game
Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.
Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia. Contoh media interaksi ialah:
- Penglihatan (vision)
- Suara (voice), ucapan (speech)
- Gerakan anggota badan ( gesture)
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.