2 poin oleh GN⁺ 2023-11-08 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2023-11-08
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

    • Remedy adalah perusahaan yang dimulai oleh para hacker demoscene, termasuk orang-orang dari Future Crew
      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
    • Sayang komentar bagus itu berakhir dengan kesalahpahaman pada bagian “setiap NPC punya gigi 10 ribu poligon di dalam mulutnya sehingga merusak performa Cities Skylines 2”
      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
    • Finlandia punya developer GPU yang benar-benar hebat, dan besar kemungkinan demoscene memberi pengaruh besar. Remedy luar biasa
      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
    • Remedy punya 360 karyawan
      CDPR punya 1236 orang, DICE pembuat Frostbite punya 714 orang, dan Epic punya 2200 orang sebelum PHK terbaru
      Semua angka berdasarkan Wikipedia
    • Remedy pada dasarnya bisa dianggap sebagai penerus garis Future Crew yang terkenal lewat demo Unreal/Second Reality
      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

    • Ini selalu merupakan kompromi antara gerakan yang responsif dan gerakan yang realistis
      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
    • Sebenarnya ini masalah yang sudah terpecahkan. Berbagai sistem IK bisa menanganinya dengan baik, dan sebagian game membuat IK kaki mengikuti medan atau IK tangan mendorong permukaan
      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
    • Alan Wake II benar-benar memakai motion matching, pendekatan terbaik yang saya tahu untuk masalah animasi ini, dan itu juga disebutkan di tulisan blognya
      Naughty Dog dan banyak studio lain memakai metode ini. Namun seperti komentar lain, ketegangan mendasar antara responsivitas dan akurasi animasi tetap ada
    • Ini bisa menjadi faktor yang cukup penting. Biasanya sudut kamera dibuat agar kaki karakter tidak terlalu terlihat [1]
      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
    • Saya pernah melihat demonstrasi solusinya di kanal YouTube Two Minute Papers
      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

    • Warisan demoscene terus berlanjut
    • Karena itu, sayang Cyberpunk pindah ke Unreal. Mesin lamanya solid, dan tidak seperti Unreal, ia memanfaatkan semua core CPU dengan baik
      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
    • Saya setuju bahwa mesin internal sendiri itu luar biasa sulit
      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

    • Masalah kronis bahasa marketing tampaknya adalah semuanya harus dirumuskan ulang agar “bisa dipahami” bahkan oleh orang yang sama sekali tidak tahu apa pun tentang produk yang sebenarnya sedang dipasarkan
    • Bagian belakang kalimat itu juga masih sepenuhnya bahasa marketing
      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)

    • Sepertinya tidak pernah ada konfirmasi resmi, tetapi ada kabar bahwa setelah Quantum Break mereka menghapus D sepenuhnya dari codebase
      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...
    • Saya juga ingin tahu lebih banyak soal itu
      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
    • Di studio game, penggunaan bahasa lain atau teknologi yang unik biasanya sering digerakkan oleh inisiatif satu orang
      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

    • Sekarang biaya untuk mengintegrasikan Lua ke dalam game nyaris gratis
      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
    • Tidak ada dependensi tambahan, kita bisa sepenuhnya mengontrol library yang disertakan, dan tidak ada persyaratan struktur folder yang konyol
    • Dibanding bahasa scripting lain, Lua cepat, familier, dan sangat mudah disematkan ke program C++
  • 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

    • Saat berada di tengah aksi sungguhan, sebagian besar hal seperti itu tidak terlalu terlihat, karena kita sibuk melihat hal lain
      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
    • Saya penasaran apakah suatu hari akan muncul sesuatu seperti WalkGPT yang punya mode normal dan mode zombie
  • 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

    • Epic Games membiayai pengembangan Alan Wake 2, dan gamenya juga eksklusif Epic Games Store
      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
    • Ada banyak studio yang punya teknologi seperti itu
      Namun mengubah software internal menjadi produk yang digunakan orang lain adalah urusan yang sama sekali berbeda
    • Menyebutnya mirip Nanite sepertinya agak berlebihan
      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
    • Saat pertama kali membeli 3090, saya berharap akhirnya bisa memainkan Control dengan ray tracing aktif, tetapi ternyata tidak bisa
      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/

    • Ada juga sejarah penerapan ECS pada hal-hal yang lebih lama
      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...