Apa itu mesin game

Bisa dibilang arsitektur berbasis data adalah apa yang membedakan mesin permainan dari perangkat lunak yang merupakan permainan tetapi bukan mesin. Ketika sebuah game berisi logika hard-code atau aturan game, atau menggunakan kode kasus khusus untuk membuat jenis objek game tertentu, menjadi sulit atau tidak mungkin untuk menggunakan kembali perangkat lunak tersebut untuk membuat skidrow reloaded game yang berbeda.

Kita mungkin harus mencadangkan istilah “mesin permainan” untuk perangkat lunak yang dapat diperluas dan dapat digunakan sebagai dasar untuk banyak permainan yang berbeda tanpa modifikasi besar.

Jelas ini bukan perbedaan hitam-putih. Kita dapat memikirkan keseluruhan penggunaan kembali yang menjadi tempat jatuhnya setiap mesin. Orang akan berpikir bahwa mesin permainan bisa menjadi sesuatu yang mirip dengan Apple QuickTime atau Microsoft Windows Media Player – perangkat lunak serba guna yang mampu memainkan hampir semua konten game yang bisa dibayangkan.

Namun, cita-cita ini belum tercapai (dan mungkin tidak akan pernah tercapai). Sebagian besar mesin game dibuat dengan hati-hati dan disetel untuk menjalankan game tertentu pada platform perangkat keras tertentu.

Dan bahkan mesin multiplatform yang paling umum benar-benar hanya cocok untuk membangun game dalam satu genre tertentu, seperti penembak orang pertama atau game balap. Aman untuk mengatakan bahwa semakin umum sebuah mesin game atau komponen middleware, semakin kurang optimal untuk menjalankan game tertentu pada platform tertentu.

Fenomena ini terjadi karena merancang perangkat lunak yang efisien selalu memerlukan trade-off, dan trade-off tersebut didasarkan pada asumsi tentang bagaimana perangkat lunak akan digunakan dan/atau tentang perangkat keras target yang akan dijalankannya.

Misalnya, mesin rendering yang dirancang untuk menangani lingkungan dalam ruangan yang intim mungkin tidak akan bagus dalam merender lingkungan luar ruangan yang luas. Mesin dalam ruangan mungkin menggunakan pohon atau sistem portal partisi ruang biner (BSP) untuk memastikan bahwa tidak ada geometri yang digambar yang terhalang oleh dinding atau objek yang lebih dekat ke kamera.

Mesin luar ruangan, di sisi lain, mungkin menggunakan mekanisme oklusi yang kurang tepat, atau tidak sama sekali, tetapi mungkin menggunakan teknik level-of-detail (LOD) secara agresif untuk memastikan bahwa objek yang jauh dirender dengan jumlah minimum. segitiga,

Munculnya perangkat keras komputer yang semakin cepat dan kartu grafis khusus, bersama dengan algoritma rendering dan struktur data yang semakin efisien, mulai memperhalus perbedaan antara mesin grafis dari genre yang berbeda. Sekarang dimungkinkan untuk menggunakan mesin penembak orang pertama untuk membangun game strategi waktu nyata, misalnya.

Namun, trade-off antara umum dan optimalitas masih ada. Gim selalu dapat dibuat lebih mengesankan dengan menyesuaikan mesin dengan persyaratan dan batasan spesifik dari gim dan/atau platform perangkat keras tertentu.

Perbedaan Engine di Berbagai Genre

Mesin game biasanya agak spesifik genre. Mesin yang dirancang untuk game pertarungan dua orang di ring tinju akan sangat berbeda dari mesin game online multipemain masif (MMOG) atau mesin penembak orang pertama (FPS) atau mesin strategi waktu nyata (RTS).

Namun, ada juga banyak permainan 3D yang tumpang tindih, terlepas dari genre, memerlukan beberapa bentuk input pengguna tingkat rendah dari joypad, keyboard dan/atau mouse, beberapa bentuk rendering mesh 3D, beberapa bentuk kepala- up display (HUD) termasuk rendering teks dalam berbagai font, sistem audio yang kuat, dan daftarnya terus berlanjut.

Jadi sementara Unreal Engine, misalnya, dirancang untuk game first-person shooter, telah berhasil digunakan untuk membangun game di sejumlah genre lain juga, termasuk game simulator, seperti Farming Simulator 15 (FS 15 mods ) dan franchise penembak orang ketiga yang sangat populer Gears of War oleh Epic Games dan sukses besar Batman: Arkham Asylum dan Batman: Arkham City oleh Rocksteady Studios.

Leave a Reply

Your email address will not be published. Required fields are marked *