GIANTS Software Mengoptimalkan Game Farming Simulator 15 dengan Intel Graphics Performance Analyzers


* Artikel ini adalah hasil kerja sama dengan Intel Developer Zone. Artikel asli bisa dilihat di link ini.

Teknologi rendering berbasis fisik tingkat lanjut di game-game seperti Farming Simulator 15 dari GIANTS Software mendorong limitasi teknologi. Intel Graphics Performance Analyzers (Intel GPA) memiliki peran penting untuk mencari bug dan mengoptimalisasi generasi terbaru dari renderer berbasis fisik.

Farming Simulator 15 sendiri adalam game simulasi pertanian yang mana pemainnya akan menghadapi tantangan-tantangan dari kehidupan bertani, termasuk bekerja dengan hewan (sapi, ayam, dan kambing), mengolah lahan, dan memanen tanaman. Pemain dapat mengembangkan perkebunan mereka di dunai terbuka yang besar menggunakan lebih dari 100 kendaraan dan peralatan.

Farming Simulator 15 tersedia untuk banyak platform dan mendukung multiplayer melalui Internet. Versi utamanya mendukung Windows dan OS X, PlayStation3  dan PlayStation 4 dari Sony, dan juga Xbox One dan Xbox 360. Sebagai tambahan dari versi utamanya, tersedia versi mobile yang mendukung iOS dan Android dan juga Nintendo 3DS dan PlayStation Vita. GIANTS memperbarui versi utama mereka setiap dua tahun dan merilis versi mobile-nya di antara waktu tersebut.

Fitur-fitur inovatif yang disajikan oleh GIANTS di Farming Simulator 15 adalah simulasi pemotongan pohon dengan alogoritman pemotongan yang mutakhir dan simulasi karavan yang diisi tumpukan.

Pemotongan Mesh

Pemotongan mesh jenis apapun di posisi manapun, seperti simulasi pemotongan kayu di game ini, adalah sebuah tantangan teknis.

Mengoptimalisasi Game dengan Intel Graphics Performance Analyzers

Di Farming Simulator 15, pemotongan mesh terdiri dari tiga tahap:

  • Memotong mesh visual (XYZ, UV, normal), dan lalu tesselasikan cross-section-nya.
  • Potong kulit tumbukannya.
  • Komputasikan properti massa dari potongan-potongannya.

Mesh Visual

Untuk pengambilan cepat cross-section-nya dan memotong potongan dari mesh visualnya, GIANTS bergantung pada sebuah boundary representation (B-rep). B-rep berbasis segitiga ini berbasis secara longgar pada Corner Table, seperti yang dideksripsikan oleh Jarek Rossignac, Alla Safonova, and Andrzej Szymczak di naskah mereka “3D Compression Made Simple: Edgebreaker on a Corner Table” (lihat “Untuk Informasi Lebih Lanjut” untuk tautannya). B-rep bersayap dan setengah-tepi kurang cocok karena besarnya penggunaan memori mereka dan waktu melintang yang lebih lama.

Cross-Section

Setelah memotong mesh visual, cross-section-nya di tesselasikan menggunakan OpenGL Utility Library (GLU). Penting untuk deretan tekstur cross-section-nya tidak menampilkan lingkaran pertumbuhan ketika meninggalkan kulit pohon. Deretannya dihitung menggunakan analisa komponen prinsipal dari simpulnya.

Mengoptimalisasi Game dengan Intel Graphics Performance Analyzers

Kulit Tumbukan

Kulit tumbukan terdiri dari bidang-banyak cembung. Memisah bidang-banyak cembung dengan menggunakan sebuah dataran akan menghasilkan potongan-potongan cembung.

Properti Massa

Massa dan inertia dari potongan-potongan yang dipotong dikomputasikan dari kulit tumbukannya. Engine-nya menggunakan bidang-banyak cembung AABB diandingkan dengan bidang-banyak aslinya karena properti massa dari AABB lebih mudah untuk dikomputasi dan logis secara fisik.

Pemotongan mesh adalah satu contoh dari fitur tingkat lanjut dari engine GIANT Sofware.

Mengoptimalisasi Game dengan Intel Graphics Performance Analyzers

Pengembangan

GIANTS Software mempekerjakan 16 orang: delapan artis dan delapan developer yang memiliki latar ilmu komputer dan pengalaman bekerja di perusahaan seperti Sony Computer Entertainment dan NVIDIA. GIANTS dioperasikan dengan dua tim delapan-orang secara paralel. Satu team secara terus menerus bekerja di Farming Simulator, menyahikan versi utama setiap dua tahun dan tim satu lagi menyajikan versi mobile tiap tahun lainnya. Ketika game mencapai tahap pengembangan final, kedua tim bersatu untuk menyelesaikan perilisannya.

Farming Simulator 15 menggunakan cara baru untuk me-render yang disebut dengan physically based rendering. Proses renderer terbaru ini menghasilkan rendering yang fotorealistis, terutama untuk berbagai kendaraan di game-nya, dengan mensimulasikan bagaimana cahaya bereaksi pada material seperti metal, plastik, dan kaca.

GIANTS telah mengembangkan rendering engine-nya selama 10 tahun ini menggunakan C++ dan Microsoft Visual Studio. Farming Simulator 15 adalah generasi kelima dari game-nya, dan itu menyajikan tim GIANTS sebuah basis yang bagus di mana bisa ditambahkan fitur-fitur baru.

Namun, GIANTS menggunakan engine-nya tidak hanya untuk Farming Simulator. Mereka memiliki dua game lainnya yaitu: Demolition Company dan Ski Region Simulator. Pemain bisa mengekstensikan game-nya melalui skrip LUA, dan ada komunitas fans yang besar yang menyediakan mod mereka sendiri.

Walaupun game itu sendiri tidak terkait dengan CPU, skrip dari pengguna dapat memberikan beban yang banyak ke CPU, jadi di sinilah pemain dapat memanfaatkan komputer dengan prosesor Intel Core i7 untuk menjaga gameplay-nya tetap halus.

Versi Dedicated Server

Farming Simulator mendukung permainan multiplayer melalui Internet. Pemain dapat membuat sesi mereka atau menggunakan sebuah penyedia game server untuk membuat game-nya untuk mereka. Penyedia game server-nya dijalankan di Windows Server sehingga mereka dapat membuat sebanyak-banyaknya game secara paralel.

Untuk memungkinkan penyedia game server menjalankan sebanyak-banyaknya proses Farming Simulato 15 secara paralel, GIANTS Software telah mengembengan versi dedicated server. Versi server ini headless dan dioptimalisasi untuk proseso dual-socket Intel Xeon dengan 16 inti dan hyperthreading.

Versi server yang sangat dioptimalisasi ini membuat penyedia game server dapat menjalankan 50 Farming Simulator 15 secara paralel, ini menekan biaya dan meningkatkan skalabilitas secara dramatis.

Tantangan

Mendukung berbagai macam platform dengan berbagai API paten mereka adalah pekerjaan yang banyak untuk tim mereka. Mereka mendukung versi Microsoft DirectX 9 dan yang terbaru, GLU, dan satu set API konsol untuk Xbox dan Nintendo.

Di Farming Simulator 15, Intel GPA membantu tim GIANTS untuk mencari dan memperbaiki bug di rendering engine yang mana, menggunakan DirectX 9, menghasilkan segitiga-segitiga hitam. Menggunakan workload Graphics Frame Analyzer for DirectX dan Graphics Monitor for DirectX, developernya dapat mengidentifikasi masalahnya pada kode rendering dan memperbaikinya dengan waktu yang cepat — sebuah langkah yang krusial untuk perilisan tepat waktu dan kualitas tinggi dari Farming Simulator 15.

Ke Depannya

Di versi selanjutnya dari Farming Simulator, GIANTS Software akan fokus di menggunakan Metal pada OS X dan DirectX 11 pada Windows. Metal menyajikan akses rendah overhead ke GPU, membuat developer dapat memaksimalkan potensi grafis dan komputasi dari game engine-nya.

Fitur seperti precompiled shaders dan dukungan untuk multithreading yang efisien akan membantu GIANTS Software untuk memperbaiki engine mereka. Memfokuskan pada DirectX 11 akan menyederhanakan pengembangan untuk Windows; API versi 11 menambahkan fitur-fitur baru seperti tesselasi, compute shaders, dan dynamic shader linking.

Engine-nya saat ini menggunakan deferred rendering, yang mana semua geometri diturunkan melalui pipa terlebih dahulu. Baru setelah semua geometri diturunkan barulah gambar final di-render, dan shading diaplikasikan pada tahap akhir.

Keuntungan dari deferred rendering adalah ia mengurangi jumlah objek, yang mana akan berakibat pada penurunan jumlah frameDeferred rendering melakukan kalkulasi pencahayaan hanya pada piksel yang terlihat di layar, menggunakan ukuran resolusi daripada total fragmen. Deferred rendering bermanfaat ketika menggunakan banyak cahaya dinamis.

Namun, keuntungan dari deferred rendering perlu pengorbanan: ia menggunakan buffer yang besar, yang mana memerlukan banyak bandwith untuk diproses. Deferred rendering juga tidak memiliki fitur penting seperti objek transparan dan anti-aliasing. Jadi developer harus membuat solusi alternatif untuk limitasi tersebut menggunakan deteksi tepi dan algoritma mirip lainnya. Untuk adapat menggunakan banyak material, developer perlu mengubah deferred rendering juga.

Forward rendering bekerja secara berbeda. Kartu grafis memproyeksikan objek dan memecehkan mereka menjadi puncak-puncak. Puncak-puncak tersebut kemudia ditransformasikan dan dipisah menjadi fragmen. Rendering akhir dilakukan sebelum objek ditampilkan di layar. GIANTS Software sedang merencanakan untuk berpindah ke forward rendering untuk Farming Simulator 17.

* Artikel ini adalah hasil kerja sama dengan Intel Developer Zone. Artikel asli bisa dilihat di link ini.