Nhìn lại chặng đường phát triển Breath of The Wild (Kỳ 2)

Ở kì 1 chúng ta đã có góc nhìn nhẹ qua về công đoạn phát triển, còn trong kì 2 chúng ta sẽ đi sâu vào những thứ tạo nên thành công của game.

Ở kì 1 chúng ta đã có những cái nhìn khái quát hơn về các tính năng đặc biệt trong game, trong kì 2 KenhTinGame sẽ dẫn dắt bạn đi sâu quá trình phát triển tựa game Breath of The Wild.

1. Real-time Local Reflection (Phản chiếu cục bộ)

Trong đa số các game, hiệu ứng phản chiếu thời gian thực được thực hiện thông qua các kỹ thuật tính toán sẵn như Cubemapping, hoặc thông qua kỹ thuật Screen Space Reflection, hoặc Plannar Reflection, trong đó được Render sẵn khung cảnh và áp vào vật liệu phản chiếu, sau đó tính toán các điểm ánh xạ tùy theo góc nhìn và điều chỉnh hoặc tính toán trước các lớp chuyển động tùy theo kỹ thuật. Trong thực tế, kỹ thuật Local Reflection Real Time thuờng không hề được áp dụng cho Video Game do tốn tài nguyên, bởi vậy người viết rất ấn tượng và bất ngờ vì không nghĩ nó được áp dụng khắp nơi trong Breath of The Wild. Điểm khác nhau giữa Local Reflection và Cubemap/Screen Space Reflection đó là với Local Reflection, bề mặt phản chiếu có thể phản chiếu các đối tượng theo thực tế, bao gồm cả các đối tượng bị khuất khỏi góc nhìn.

Plannar Reflection cũng có thể cho ra hiệu ứng tương tự local reflection nhưng nó không được áp dụng nhiều trong game Openworld vì yêu cầu khả năng xử lý cao để tính toán và Render khung cảnh nhiều lần. Hiệu ứng phản chiếu cục bộ trong Breath of The Wild bị giới hạn bởi thuộc tính vật liệu theo nguyên tắc. Thuộc tính này ràng buộc khả năng ánh xạ của đối tượng và chỉ cho phép đối tượng tăng dần khả năng phản chiếu ở góc thấp. Khi quan sát kỹ, thì hiệu ứng phản chiếu ánh sáng trong game sử dụng một thuật toán lai, các đối tượng phát sáng sẽ được phản chiếu trên tất cả mọi loại bề mặt và gần như thấy ở mọi góc độ nếu như khoảng cách giữa bề mặt và đối tượng này đủ gần. Các đối tượng sáng còn lại nhưng không thực sự chiếu sáng, sẽ được phản chiếu bằng kỹ thuật Screen-Space Reflection.

2. Physical-Based Rendering

Physical-based rendering không có nghĩa là render đối tượng theo đúng vật liệu thực tế. Đây chỉ là một phương pháp áp dụng trong quy trình Render 3D cho phép tất cả các vật liệu (bề mặt texture) tương tác và ảnh huởng một cách riêng biệt và độc lập với nguồn sáng. Trước đây, phương pháp render truyền thống yêu cầu các họa sĩ 3d phải tự uớc tính được các vật thể tương tác ra sao với ánh sáng và tái tạo bề mặt texture cho phù hợp, điều này dẫn đến việc thiếu thống nhất về hình ảnh giữa các đối tượng, thậm chí giữa các đối tượng cùng loại.
Với Physical-Based Rendering, các nguyên lý về ánh sáng và tương tác được kết hợp trong quy trình Render, và toàn bộ các Texture bề mặt được phân thành các lớp vật liệu (Material) với chỉ số vật lý riêng biệt. Phương pháp này cho phép các họa sĩ thiết lập các đối tượng ở các khung cảnh khác nhau với nhiều nguồn sáng phức tạp khác nhau, các đối tượng sẽ tự tính toán và thể hiện mà không cần các họa sĩ phải tự uớc tính trước các đối tượng đó sẽ trông như thế nào như cách truyền thống, phương pháp này cũng hỗ trợ cho việc triển khai đồng loạt 1 thế giới Openworld rộng với sự thay đổi ánh sáng ngày đêm khác nhau.

Trong Breath of the Wild, các engine sử dụng Physical-Based Rendering theo một cách nghệ thuật hơn, thay vì tập trung vào tả thực các đối tượng, điều này dẫn đến việc nhiều người không nghĩ rằng game sử dụng quy trình này, và thực tế cũng cho thấy sử dụng Physical-Based Rendering không có nghĩa là phải tả thực. Một minh chứng nhỏ cho quy trình này, là trong Breath of The Wild, các đối tượng sẽ phản chiếu và tương tác với các nguồn sáng khác nhau một cách đôc lập và linh động, khác nhau tùy vào vật liệu. Một bằng chứng khác cho thấy game sử dụng Physical-Based Rendering, đó là ứng dụng hiệu ứng phản chiếu của tất cả các đối tượng theo nguyên lý Fresnel.

Theo nguyên lý này, trong thực tế, tất cả các đối tượng đều có khả năng phản chiếu khi nhìn tại một góc nghiêng nhất định, góc này càng nhỏ và gần với đường song song với mặt phẳng đối tượng thì khả năng phản chiếu càng cao, các bạn có thể thử cúi sát mắt vào mặt bàn và có thể thấy phản chiếu. Tuy nhiên, hiệu quả của sự phản chiếu này tùy thuộc vào bề mặt vật liệu trơn láng hay xù xì, và cả chất liệu của nó. Và vì điều này, các lập trình viên phân tách khái niệm “ Tính phản xạ/Phản chiếu” và “Hệ số phản xạ/Mức độ phản chiếu” khi thiết kế các đối tượng trong game.
Tùy vào loại vật liệu mà tính phản xạ sẽ khác nhau, ví dụ như có loại vật liệu ánh sáng khi chiếu đến bề mặt vật liệu này được phản xạ phân tán ra khắp mọi nơi thay vì theo 1 huớng cụ thể, các loại vật liệu này được gọi là vật liệu tán xạ, mặc dù có tính phản xạ 100%, nhưng bạn sẽ không thấy hình ảnh phản chiếu rõ ràng trên bề mặt này, do nó có hệ số phản xạ thấp. Hệ số phản xạ quyết định chất lượng hình ảnh phản chiếu có rõ ràng hay không, và nó không bao giờ đạt 100% ngay cả trong thực tế và biến thiên tùy loại vật liệu. Quay lại BoTW, như đã nói, tất cả các đối tượng trong game đều được lập trình tuân theo nguyên lý Fresnel để có hiệu ứng phản chiếu khi nhìn ở 1 góc phù hợp.

Vật liệu phát sáng và ánh sáng vùng là một yếu tố đơn giản, nghĩa là khi vật liệu của các đối tượng phát sáng cũng tạo ra ánh sáng với hình dạng tương tự như đối tượng đó. Nói thêm cho dễ hiểu, nguồn sáng di động trong các game khác đa số là một vùng sáng hình cầu hoặc ánh sáng chiếu trực tiếp về 1 huớng cụ thể, nhưng trong Breath of The Wild, các nguồn sáng này được lập trình để tái tạo vùng sáng theo Custom Shape, theo đúng hình dạng của đối tượng. Các bạn có thể thấy trong clip demo gameplay của trò chơi, thanh gươm phát ra nguồn sáng đều khắp hình dạng chứ không chỉ là một vùng tròn. Cũng lưu ý là chỉ có Global illumination, bao gồm mặt trời, mặt trăng và sấm chớp là có khả năng tạo bóng, các nguồn sáng Custom khác thì không.

3. Screen Space Ambient Occlusion

Trong thực tế, luôn có một lượng nhất định ánh sáng cục bộ có khả năng chiếu sáng cho môi trường sau khi ánh sáng đã bị phản xạ qua lại giữa các vật thể nhiều lần trong môi trường, đến mức nó trở nên hoàn toàn phân tán và có thể hình dung nó như một thể tích ánh sáng được “giam” trong môi trường. Nếu bóng đổ của đối tượng là kết quả của nguồn sáng chiếu đến trực tiếp, thì Ambient Occlusion được hiểu là kết quả của vùng ánh sáng cục bộ này tác động lên các đối tượng nhỏ như khe nứt, cạnh đối tượng, đồng thời đóng vai trò chiếu sáng và thậm chí “Tô màu” cho vùng không gian không được trực tiếp chiếu sáng. Phương pháp sử dụng trong Breath of The Wild là SSAO, Screen Space Ambient Occlusion, game chỉ tính toán và điều chỉnh Ambient Occlusion trong khung cảnh nhìn thấy bởi camera.

4. Hệ thống mô phỏng gió trong game

Hệ thống này thật ra khá ấn tượng vì không ai nghĩ nó sẽ làm kỹ như vậy. Về cơ bản, toàn bộ hệ thống vật lý trong game được liên kết với 1 hệ thống mô phỏng gió. Hệ thống này hoàn toàn linh động và sẽ có tác động khác nhau đối với các đối tượng tùy theo trọng lượng của nó, bao gồm cả vũ khí, cung tên, lá rơi, nước, nhân vật …. Tuy nhiên 2 đối tượng quan trọng và dễ thấy nhất đó là các lá cỏ và toàn bộ hệ thống mô phỏng và nội suy mây. Nhìn kỹ, các bạn sẽ thấy chuyển động của cỏ và mấy khớp hoàn toàn với huớng thổi của gió.

Đến đây bạn cũng đã thấy, việc phát triển một tựa game Ultimate Game of the Year quả thực không phải hoàn toàn đơn giản đúng không? Và đó cũng là một góc nhìn khái quát khi bạn đứng vào vai của những nhà phát triển game, họ sẽ cho bạn thấy nó quả là một việc kì công và phức tạp đến thế nào. Cũng không ngoa khi tựa game The Legend of Zelda: Breath of The Wild lại tạo nên kì tích và thu về nhiều thành công đến như vậy. Nếu chưa trải nghiệm thì xin chia buồn, bạn đã bỏ lỡ đi một tựa game có giá trị khám phá và trải nghiệm rất cao trong những tựa game từ trước đến giờ được phát triển.

Nguồn: Cộng Đồng Nintendo Switch Việt Nam

Tìm hiểu thêm: Nhìn lại chặng đường phát triển Breath of The Wild (Kỳ 1)