Rabu, 27 Juni 2018

Macam-macam Game Engine, Efek Dalam Game, dan AI pada Game

Nama: Arin Romizah F
Kelas: 3IA11
NPM: 51415005
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.
Oke langsung aja kita bahas game engine yang saya ketahui beserta platform, meliputi :
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
Company: Havok
Platforms: Android, iOS, PC, Tizen
www.projectanarchy.com
ShiVa
Company: ShiVa
Platforms: Android, Blackberry, iOS, Linux, Mac, PS3, SteamOS, Vita, Wii, Windows, Windows Phone 8,
Xbox 360
www.shivaengine.com
BigWorld
Company: Wargaming
Platforms: Browser, PC
www.bigworldtech.cocom
Leadwerks
Company: Leadwerks
Platforms: Linux, Mac, PC
www.leadwerks.com
App Game Kit
Company: The Game Creators
Platforms: Android, iOS, Mac, PC
www.appgamekit.com
FPS creator Reloaded
Company: The Game Creators
Platforms: Oculus Rift, PC
www.fpscreator.thegamecreators.com
Reach3dx
Company: Gamebase
Platforms: Android, Flash, HTML5, iOS
www.reach3dx.com
HeroEngine
Company: Idea Fabrik
Platforms: PC
www.heroengine.com
Marmalade
Company: Marmalade
Platforms: Android, BlackBerry, iOS Mac, Windows, Tizen
www.madewithmarmalade.com
Turbulenz
Company: Turbulenz
Platforms: Browser
biz.turbulenz.com
GameSalad
Company: Gamesalad
Platforms: Android, HTML5, iOS, Mac, Windows
www.gamesalad.com

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.

Tidak ada komentar:

Posting Komentar