- Tim Northlight dari Remedy membangun ulang atau merombak besar teknologi inti, mulai dari struktur engine hingga rendering, untuk Alan Wake 2, sehingga menyiapkan fondasi untuk menangani dunia yang lebih besar dan kompleks
- Model objek game berbasis ECS yang baru meningkatkan efisiensi memori dan eksekusi paralel yang aman, memungkinkan dunia yang lebih dinamis pada hardware dengan jumlah core CPU yang beragam
- Controller karakter berbasis voxel dan pergerakan NPC berbasis animasi membantu karakter bergerak alami bahkan di ruang yang sempit dan kompleks, sementara tool Scattering mendukung pembuatan vegetasi yang padat
- Rendering menangani lebih banyak geometri serta efek kabut dan transparansi dengan pipeline berbasis GPU, mesh shader, culling meshlet, animasi vegetasi berbasis GPU, HDR, dan rendering transparan MBOIT
- Versi PC memanfaatkan DLSS Frame Generation, DLSS Ray Reconstruction, dan Path Traced Indirect Lighting saat konfigurasi hardware memungkinkan, untuk menghadirkan ray tracing yang lebih akurat dan tangguh dibanding Control
Engine Northlight dan teknologi dasar gameplay
- Selama pengembangan Alan Wake 2, Northlight beralih ke framework objek game berorientasi data yang sepenuhnya baru
- Model baru ini berbasis entity component system (ECS)
- ECS memungkinkan penyimpanan yang efisien memori serta eksekusi paralel yang efisien dan aman
- Dengan mendukung jumlah core pada berbagai hardware target secara efisien, tim dapat membuat dunia yang lebih besar, dinamis, dan kaya
- Tool Scattering untuk penempatan vegetasi skala besar juga memanfaatkan keunggulan ECS
- Lebih banyak entity dapat ditempatkan di dunia
- Kebutuhan untuk membuat solusi kustom terpisah untuk penyebaran objek berkurang
- Dalam implementasi gameplay, ECS juga mempercepat iterasi
- Digunakan untuk mengimplementasikan Case Board, storyboard visual tempat Saga mengumpulkan bukti
- Sistem atau objek game baru menjadi lebih mudah ditambahkan dan dimodifikasi
- Peningkatan performa terlihat pada penyimpanan dan pemuatan Case Board
Kontrol karakter dan pergerakan NPC
- Alan Wake 2 menjadi proyek yang mendorong perancangan ulang kontrol karakter di Northlight
- Controller karakter berbasis voxel yang baru memungkinkan navigasi mulus di lingkungan yang sempit, kompleks, dan dinamis
- Gerakan karakter menjadi lebih alami dan luwes
- Fokusnya adalah mengurangi masalah karakter menabrak objek atau tersangkut di ruang sempit
- Pergerakan NPC juga dirombak besar-besaran
- Semua NPC menggunakan pergerakan berbasis animasi bersama Motion Matching berbasis jarak yang baru
- Kualitas pergerakan meningkat, dan tim mendapat kontrol yang lebih baik atas kapan serta bagaimana animasi digunakan
Angin, vegetasi, dan tool scripting
- Angin realistis di Alan Wake 2 memengaruhi fisika, partikel, dan kain
- Game designer dapat dengan mudah mendefinisikan kecepatan angin berbeda untuk area indoor dan outdoor
- Transisi antara dua area berlangsung halus dan tanpa menyimpan state
- Di dalam mobil yang dinaiki Saga dan Casey, wind box bergerak diterapkan untuk menetapkan interior kendaraan sebagai area indoor tanpa angin
- Sistem angin dibangun di atas pendekatan Signed Distance Fields(SDF)
- wind box digunakan sebagai primitive yang mendefinisikan field kekuatan angin global yang halus
- Ia berperan seperti blok dasar untuk menentukan intensitas angin tiap area, sehingga pola angin antara indoor dan outdoor menjadi mulus
- Tool Scattering baru dikembangkan untuk membuat vegetasi dan properti lingkungan skala besar
- Digunakan untuk membuat lingkungan Alan Wake 2 yang lebih padat, kaya, dan hidup
- Dipadukan dengan jarak tampak(draw distance) yang lebih jauh dari sebelumnya, sehingga pemain dapat melihat objek dan detail yang lebih jauh
- Bahasa scripting beralih dari bahasa internal ke Luau, bahasa scripting tertanam turunan Lua dari Roblox
- Luau mengekspos berbagai fungsi engine dan mendukung live editing
- Digunakan untuk berbagai sistem gameplay seperti scripting level dan sistem upgrade senjata
- Tim game dapat membuat prototipe dan mengimplementasikan berbagai fitur game serta efek VFX tanpa bantuan programmer engine
- Remedy membuat ekstensi language server VS Code sendiri dan mengintegrasikannya ke pipeline pengembangan
- Dengan adopsi Luau, sekitar 80.000 baris kode yang tidak lagi perlu dipelihara berhasil dihapus
Rendering berpusat GPU dan animasi vegetasi
- Alan Wake 2 menampilkan pipeline rendering berbasis GPU baru dari Northlight
- Lebih banyak geometri dapat dimasukkan ke dunia tanpa mengorbankan performa
- Rendering berbasis GPU yang menggunakan mesh shader memungkinkan occlusion culling dengan presisi satu piksel
- Semua elemen dalam scene dapat digunakan sebagai occluder
- Berkat kemampuan menggambar hanya yang terlihat, dunia Alan Wake 2 memiliki lebih banyak detail geometris dibanding rilis sebelumnya
- Pipeline rendering melakukan culling bukan hanya pada mesh, tetapi juga meshlet
- meshlet adalah kelompok segitiga yang lebih kecil dan dioptimalkan, diekstrak dari mesh
- Struktur meshlet dapat dilihat pada contoh lokasi toko serba ada di Cauldron Lake
- Lingkungan hutan purba yang luas diimplementasikan dengan sistem vegetasi berbasis shader baru
- Sistem ini berbasis sistem skinning baru yang berjalan sepenuhnya di GPU
- Mendukung animasi bone shader yang diarahkan oleh artist
- Di Alan Wake 2, semua vegetasi yang terlihat di lingkungan dapat menggunakan rig bergaya karakter
- bone shader mengekspos API yang memungkinkan artist menulis kode shader langsung dan menghubungkannya ke sistem dasar
- Secara teknis dapat diterapkan bukan hanya pada vegetasi, tetapi juga pada objek yang bergoyang di atas air atau kabel listrik yang berayun tertiup angin
- Di Cauldron Lake, hampir 300.000 bone diproses setiap frame
HDR, rendering transparan, VFX, dan ray tracing
- Alan Wake 2 mendukung HDR sepenuhnya
- Dengan pengaturan default saja, tampilan sudah disesuaikan agar terlihat bagus di display SDR maupun HDR
- Dukungan HDR menuntut pendekatan baru terhadap tone mapping
- Color grading dilakukan oleh colorist sungguhan dengan acuan HDR, sehingga gaya visual, suasana, dan storytelling yang khas tetap hidup baik di HDR maupun SDR
- Adegan kabut tebal berbasis pada peningkatan rendering transparan
- Northlight merombak total rendering transparan selama pengembangan Alan Wake 2
- Menggunakan MBOIT(Moment-Based Order-Independent Transparency) agar permukaan transparan dengan tingkat detail berbeda dapat tercampur mulus
- Elemen transparan digambar dengan MBOIT pada tiga resolusi
- Kabut, geometri transparan, dan efek dapat di-blend tanpa terputus
- Pipeline untuk mengontrol penempatan kabut di dalam dunia secara lebih rinci juga ditingkatkan
- Dengan menggabungkan pencahayaan transparan per piksel dan refleksi yang dipengaruhi kabut, elemen opaque dan transparan berpadu lebih baik dibanding proyek sebelumnya
- Kabut memperkirakan multiple light scattering untuk menciptakan atmosfer yang tebal dan realistis
- Tool VFX berbasis node dari Northlight berkembang besar dalam hal fitur pendukung dan performa runtime
- VFX artist dapat membuat efek kompleks dan dinamis seperti hujan, kebasahan, simulasi air, dan luka karakter
- Tool VFX juga mendapatkan manfaat dari rendering berbasis GPU, sehingga dapat memproses banyak geometri melalui GPU
- Contohnya digunakan saat merender objek rain blocker untuk dynamic mask yang mencegah hujan terlihat di dalam ruangan atau di bawah penutup
- Ray tracing mendukung ray-traced direct lighting penuh
- Bersama Nvidia, tim menggabungkan denoising yang ditingkatkan dan algoritme indirect lighting
- Ray tracing di Alan Wake 2 lebih akurat dan tangguh dibanding yang terlihat di Control
- Karena semua animasi geometri vegetasi dibuat dan disimulasikan dengan skinning, ray tracing membuat vegetasi animasi tampak lebih baik
- Pemain PC dapat menggunakan teknologi Nvidia DLSS terbaru jika konfigurasi GPU dan CPU memungkinkan
-
DLSS Frame Generation
-
DLSS Ray Reconstruction
- Path Traced Indirect Lighting
-
1 komentar
Komentar Hacker News
Mengingat seluruh studio Remedy hanya berukuran beberapa ratus orang, mereka selalu tampil melampaui kelasnya dalam hal grafis
Di antara studio yang sedang menonjol, sepertinya hanya Remedy dan CD Projekt Red yang bisa bersaing dengan mesin besar seperti Unreal, Unity, dan EA Frostbite dalam kualitas gambar dan performa
Kalau Anda tertarik pada grafika komputer atau technical art, presentasi GDC/SIGGRAPH mereka sangat bagus
Alan Wake 2 secara teknis adalah salah satu game paling indah sepanjang masa, dan secara pribadi menurut saya juga begitu secara artistik. Fakta bahwa game ini tetap terlihat bagus meski semua pengaturan diturunkan adalah pencapaian nyata, karena sulit membuatnya tetap terlihat bagus sambil tetap bisa berjalan di perangkat keras lama
Namun seperti yang dikatakan analis semacam Digital Foundry, jika GPU tidak mendukung mesh shader, performanya sangat buruk. Artikel ini juga menyebutkan penggunaan mesh shader untuk culling; berkat itu, objek seperti cangkir kopi atau ban bisa dibuat benar-benar bulat sambil menghindari masalah seperti “setiap NPC punya gigi 10 ribu poligon di dalam mulutnya” yang merusak performa Cities Skylines 2. Salah satu keunggulan besar yang ditawarkan Nanite di Unreal 5 juga ada di bagian ini
Ada garis yang cukup jelas dari demo menakjubkan tahun 1993, Second Reality, sampai Alan Wake 2 tiga puluh tahun kemudian
https://www.youtube.com/watch?v=iw17c70uJes
Masalah performanya jauh lebih besar daripada sekadar “merender gigi yang tidak terlihat”: https://blog.paavo.me/cities-skylines-2-performance/
Sebagai contoh memang mudah dipahami, tetapi masalah yang lebih besar adalah LOD yang hilang dan kurangnya culling
Bukankah CD Projekt Red sedang memindahkan karya-karya berikutnya ke UE5? Sayang sekali. Cyberpunk benar-benar indah, dan saya ingin melihat game multipemain yang dibuat dengan mesin itu
CDPR punya 1236 orang, DICE pembuat Frostbite punya 714 orang, dan Epic punya 2200 orang sebelum PHK terbaru
Semua angka berdasarkan Wikipedia
Kalau bukan orang-orang yang mendefinisikan dan memopulerkan grafika komputer modern, siapa lagi yang akan mendorong GPU sampai batasnya?
Bahkan pada contoh pertama, cukup mengganggu melihat kaki tergelincir di lantai, atau karakter terhalang objek sehingga tidak bisa maju tetapi tetap meluncur seperti berjalan di tempat
Saya penasaran kapan masalah seperti ini akan terselesaikan
Tentu saja mesinnya sendiri luar biasa, dan efek visual serta sistemnya termasuk yang terbaik yang pernah saya lihat
RDR2 punya animasi yang sangat realistis, tetapi sebagai gantinya kontrolnya terasa agak “mengambang”
Secara pribadi, saya lebih suka gerakan yang gesit, ketika saya menekan kiri maka karakter di layar langsung bergerak ke kiri. Sistem animasi yang tampak lebih realistis pada akhirnya menciptakan jeda sampai animasi kaki bisa “mengejar” input pemain
Namun raycasting dan kalkulasi IK terus-menerus tidak gratis, jadi ada kompromi dengan performa, dan juga berbenturan dengan responsivitas
Banyak game memilih pergerakan yang lebih cepat dan respons kontrol. Pada akhirnya, secara teknis ini masalah yang sudah diselesaikan sejak bertahun-tahun lalu, tetapi seperti semua elemen desain game, ini soal pilihan dan kompromi
Naughty Dog dan banyak studio lain memakai metode ini. Namun seperti komentar lain, ketegangan mendasar antara responsivitas dan akurasi animasi tetap ada
Di karya Northlight sebelumnya, Control, hal ini tidak terlalu terasa [2]
[1] https://youtu.be/jQb07FHJ-bQ?t=628
[2] https://youtu.be/fcDK6tnx4vM?t=6700
Sebenarnya itu tentang algoritma yang mencampur animasi agar transisinya tampak alami
Rasanya segar melihat sesuatu selain game lain yang berbasis Unreal Engine
Memiliki mesin internal sendiri pasti sangat sulit; mesinnya sendiri sudah menjadi masalah, tetapi alat untuk membuat level, animasi, dan sebagainya mungkin justru lebih sulit
Meski begitu, sepertinya ada juga keuntungannya. Jika punya kendali lebih besar atas arsitektur level rendah, peluang optimasi juga meningkat. Itu lebih sulit dilakukan di mesin serbaguna seperti Unreal
Saya ingin segera mencoba game ini
Saya masih belum paham mengapa kompilasi shader bisa menyebabkan stutter, dan sebagian besar mesin internal lain tidak punya masalah seperti itu. Saya juga tidak tahu mengapa itu belum diperbaiki. Bahkan kalau pembaruan perbaikan keluar besok, butuh bertahun-tahun sampai game-game memanfaatkannya
Dengan begitu banyak mesin siap pakai yang didukung komunitas besar, untuk membuat sendiri, Anda benar-benar harus membutuhkan kendali penuh
Saya suka nada tulisannya
Misalnya, tim marketing mungkin akan berkata “karakternya lebih responsif dan terasa hidup daripada sebelumnya,” tetapi di catatan pengembangan internal tertulis “karakter tidak menabrak objek atau tersangkut di ruang sempit”; bagian itu terasa bagus
Seluruh kalimatnya adalah marketing, dan komedi di dalamnya pun marketing
Saya penasaran bagaimana pandangan Remedy sekarang soal penggunaan bahasa D di ekosistem mereka. Kalau masih dipakai, saya juga ingin melihat kesulitan apa yang mereka hadapi selama pengembangan AW2
Referensi: Using an Emerging Language in Quantum Break (https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdceurope201...)
DConf 2016: Quantum Break: AAA Gaming With Some D Code -- Ethan Watson (https://www.youtube.com/watch?v=7YjLW7anNfc)
Yang pasti, sekarang mereka juga tidak sedang mencari programmer D
Kalau ingin menelusuri sumbernya, tautan ini bisa jadi titik awal: https://forum.dlang.org/post/lymybpygzfalbdgoaizr@forum.dlan...
Orang yang memberikan presentasi tersebut sudah tidak bekerja di sana, dan melihat tempat besar seperti Facebook juga berhenti memakai D, sepertinya mereka tidak akan memakainya lagi. Meski begitu, saya senang kalau ternyata dugaan itu terbukti salah
Kalau orang itu pergi atau pindah dari posisi yang memungkinkan dia berkontribusi dan melakukan pemeliharaan, teknologinya perlahan mulai diganti kecuali ada dukungan dan penerimaan dari tim serta studio lainnya
Dari yang saya dengar, ada satu orang yang mendorong agar kode ditulis dengan D, tetapi saya tidak tahu apakah orang itu masih di sana
Saya ingat sebagian tim yang membuat konten kelas atas di Unreal Marketplace juga ikut terlibat dalam game ini
https://mawiunited.com/
Kontennya luar biasa. Saya berharap ada lebih banyak studio yang membuat konten UE5 seperti ini
Menarik bahwa mereka beralih memakai Luau dari Roblox sebagai lingkungan scripting
Saya selalu penasaran mengapa begitu banyak tempat di teknologi game memakai Lua untuk scripting. Terutama bahkan ketika merancang dari awal
Apa pun yang bisa memakai C runtime dapat menyematkan scripting Lua
Karena itu Lua sudah dipakai seperti pilihan default, dari Baldur’s Gate 1 hingga Warcraft III dan judul modern seperti Roblox
Gerakan karakter masih terasa cukup seperti uncanny valley
Di video “voxel-based character controller”, cara jalannya terlihat seperti meluncur, dan beberapa detik pertama “NPC movement” juga tampak canggung
Sepertinya karena setiap langkah benar-benar sama dan semuanya memakai panjang langkah yang sama. Akibatnya para karakter bergerak dengan sinkron yang terasa aneh
Di bagian akhir video, ketika para karakter beralih antara berjalan dan berlari secara individual, gerakannya terlihat lebih bervariasi dan jauh lebih realistis. Saya penasaran mengapa begitu sulit menambahkan lebih banyak variasi detail gerakan secara umum
Namun untuk mendukung poin itu, hampir semua NPC yang bersahabat hanya berdiri diam. Saat musuh menyerbu di area bermusuhan, kita tidak memperhatikan cara mereka berjalan, dan toh mereka tertutup kabut
Secara pribadi, saya menganggap Control sebagai demo teknologi untuk semua ini. Itu juga menjelaskan mengapa jumlah musuhnya jauh lebih sedikit dan dibingkai sebagai cerita horor
Jadi maksudnya mereka punya engine game ECS, renderer kelas AAA, teknologi mirip Nanite, engine scripting berbasis Lua, dan animasi wajah setingkat Hollywood?
Mereka seharusnya merilis engine-nya. Itu bisa menjadi pesaing kuat Unreal. Berkat ECS, skalabilitasnya lebih baik, dan dengan Luau penulisannya juga lebih mudah
Saya mengetahuinya dengan menyakitkan saat mencoba membeli game itu di Linux. Jadi kalau mereka bersaing dengan Unreal, hubungan dengan pihak sana kemungkinan besar akan memburuk
Namun mengubah software internal menjadi produk yang digunakan orang lain adalah urusan yang sama sekali berbeda
Memang benar Remedy mengadopsi pipeline meshlet, tetapi dalam rendering mutakhir, itu sekarang sudah hampir menjadi arus utama. Saya belum melihat penyebutan bahwa mereka memakai compute shader untuk benar-benar merender segitiga kecil seperti Nanite, meski mungkin saja saya melewatkannya
Sekarang Alan Wake 2 bahkan hanya nyaris berjalan di pengaturan High meski ray tracing dimatikan
Secara visual ini engine yang menakjubkan, tetapi bagi saya pribadi spesifikasi yang dibutuhkan terlalu tinggi
Arsitektur Entity-Component-System (ECS) juga digunakan di engine game open-source yang masih muda seperti Bevy[1]
Saya sudah lama tidak mengembangkan game, tetapi mendengar pembahasan tentang arsitektur yang menyingkirkan pendekatan berorientasi objek yang berat dan rumit yang sering terlihat di game membuat saya ingin mencoba terjun lagi
[1]: https://bevyengine.org/
ECS mulai mendapatkan momentum sejak awal 2000-an, dan sekarang, meski tidak universal, sudah lama digunakan seperti dasar yang umum, begitu pula di beberapa engine open-source
Misalnya, lihat https://github.com/Adelost/entity-component-systems-study#re...