Đã bao giờ bạn từng trải nghiệm lại các tựa game cũ, game retro và thấy hơi… gai mắt ? Đã bao giờ phong cách đồ họa đầy góc cạnh, sần sùi, mờ ảo, thiếu chi tiết đập vào mắt bạn liên tục, khiến cho bạn vừa chơi vừa tự hỏi “Thế quái nào tuổi thơ mình thấy thứ này đẹp được nhỉ?” Nếu bạn trả lời “Có!” thì cũng là lẽ thường thôi.
Lý do chủ quan và dễ hiểu nhất, ta đơn giản thấy một tựa game đẹp bởi vì ở thời đại đó, không có những sản phẩm tốt hơn. Ví dụ nếu lấy Doom (1993) so với Far Cry 5 chẳng hạn, thì chắc chắn rằng Doom sẽ… nhìn như rác. Đó là bởi vì ở thời điểm hiện tại, ta đã trải nghiệm rất nhiều tựa game mát nhãn rồi. Nhưng vào thời điểm Doom ra mắt, có bao nhiêu tựa game đối đầu được nó về đồ họa? Do vậy, nếu từng chơi Doom nói riêng hay các tựa game cũ nói chung và thấy ấn tượng là bởi vì chúng mang cho ta một trải nghiệm mà bạn chưa từng thấy. Và cái ấn tượng “game này đẹp lắm” đấy cứ theo ta mãi, cho tới khi bạn khởi chạy tựa game đó 20 năm sau và so với các tựa game hiện đại…
Tuy nhiên, có những lý do khách quan khác hơn là trí nhớ đó. Nhìn chung, khi công nghệ mới phát triển, bạn sẽ kì vọng nó vượt trội hơn công nghệ cũ, đặc biệt là khi công nghệ cũ ấy đã cách xa cả một, hai chục năm. Nhưng có thể có một thứ gì đó khiến việc hiển thị hình ảnh game cũ bằng công nghệ cũ khác hơn so với công nghệ mới, và làm bạn cảm thấy thiếu hấp dẫn.
Vậy hãy cùng Vietgame.asia khám phá những cách để mang niềm cảm hứng trở lại với những tựa game cũ nhé!
“GIẢ LẬP” CRT
Ngày nay, khi mà các màn hình LCD mỏng, nhẹ, cong, độ phân giải 4K, viền 1mm, hỗ trợ HDR… đã chiếm lĩnh toàn bộ thị trường, thì liệu có ai còn nhớ tới loại màn hình “đồ sộ” CRT?
Về cách thức hoạt động, chắc các bạn cũng hiểu màn CRT có rất nhiều điểm khác biệt so với các loại “màn hình phẳng” hiện đại. Và điều đó kéo theo hình ảnh được hiển thị cũng khác.
CRT (cathode ray tubes) là một chiếc ống chân không chứa ít nhất một chiếc súng electron và một màn hình lân quang được dùng để hiển thị hình ảnh. Ống CRT có thể điều chỉnh, tăng tốc và chuyển hướng các chùm electron để điều khiển vị trí electron đập vào màn hình. Dòng electron được bắn ra sẽ đập vào màn hình từ trái qua phải, tạo ra một dòng màu sắc, và đó được gọi là một dòng quét (scanline). Như vậy, về mặt thuật ngữ, scanline là dòng màu tạo nên bức ảnh khi khẩu súng electron quét từ trái qua phải.
Tuy nhiên, nói tới scanline trong game trên màn CRT, người ta thường nói tới các dòng đen, tức là những dòng không có màu, hay nói đúng hơn là những dòng mà khẩu súng electron bỏ qua. Ví dụ màn hình được chia thành 480 dòng, thì khẩu súng electron sẽ “bắn” 240 dòng xen kẽ nhau thôi, và để 240 dòng còn lại đen tuyền.
Về lý giải tại sao CRT khi hoạt động lại cần scanline, bài viết xin không đi sâu, vì nó khá là kỹ thuật và chứa nhiều vấn đề không liên quan. Nhưng quan trọng là kết quả, và bạn có thể thấy khác nhau rõ ràng:
Ảnh bên trái là tựa game được chạy trên màn hình CRT, còn bên phải là kết quả khi chơi trên giả lập bằng màn hình phẳng hiện đại. Đương nhiên là “vẻ đẹp nằm trong mắt người xem”, nên nếu bạn thấy hình bên phải đẹp hơn thì cũng không có vấn đề gì cả. Nhưng mấu chốt ở đây là hình ảnh được hiển thị sẽ thay đổi rõ rệt vào loại màn hình bạn dùng, và sẽ có những người cảm thấy scanline mang lại một cảm giác mịn màng, dễ chịu, mượt mà, thuận mắt và hoài cổ hơn.
Kể cả sau này, khi công nghệ CRT tiến bộ thêm nên một số màn hình CRT sử dụng công nghệ shadow-mask có thể làm giảm sự hiện diện của scanline đi rõ rệt, thì màn CRT còn có thể có những đặc điểm khác như bloom hay image retention, và bản thân các màn CRT cũng khác nhau nhiều về chất lượng hình ảnh nữa. Công bằng mà nói, hầu hết các đặc điểm này đều là khiếm khuyết, và công nghệ đời sau đã khắc phục được chúng, nhưng với game thì các “khiếm khuyết” này lại đóng vai trò khá quan trọng vào trải nghiệm người chơi. Hơn thế nữa, các nhà phát triển game cũng biết tới những “khiếm khuyết” này, nên họ tận dụng nó ít nhiều để làm ra những tựa game mà khi kết hợp với màn hình CRT sẽ cho ra kết quả mát nhãn.
Do vậy, nếu bạn cảm thấy cách mà các tựa game cũ hiển thị trên màn hình phẳng không được như mình mong muốn, bạn có thể phải tìm cách để thêm các hiệu ứng mô phỏng màn hình CRT khi chơi game. Và cách đơn giản, đỡ ong đầu nhất để bạn trải nghiệm game cũ thông qua lăng kính CRT là sử dụng một trình giả lập nào đó hỗ trợ đổ bóng CRT, mà cụ thể là Retroarch.
Trong giới giả lập game, Retroarch có thể được coi là “chị đại”. Đây là chương trình mã nguồn mở, phát triển trên nền giao diện lập trình ứng dụng libretro (libretro API), cho phép bạn tải về các lõi (core) khác nhau, với mỗi core là một giả lập cho hệ máy riêng. Do đó, danh sách các thiết bị giả lập có thể chạy trên Retroarch khá là lớn. Nói đến giả lập là nói tới một “vùng xám” nhạy cảm trong chơi game bản quyền, nhưng nếu bạn có đĩa game cũ và máy để chơi game đó thì Retroarch sẽ giúp bạn trải nghiệm đồ họa CRT trên nền màn hình LCD hiện đại.
Trình giả lập này hỗ trợ nhiều công cụ đổ bóng (shader) từ libretro, và trong số đó có các công cụ đổ bóng CRT khác nhau. Công cụ đổ bóng CRT tốt nhất hiện tại có lẽ là CRT-Royale, cho phép bạn giả lập mọi khía cạnh của một màn hình CRT một cách chi tiết. Tuy nhiên, nó lại khá phức tạp, chứa nhiều thông số và có một số tính năng giả lập đòi hỏi bạn phải có màn 4K hoặc thậm chí 8K mới tận dụng tốt được.
Những ảnh trên chụp cùng một cảnh nhưng qua các bộ công cụ đổ bóng khác nhau (sử dụng thông số mặc định). Như đã nói, sự khác nhau giữa các màn hình CRT là rất lớn và khái niệm đẹp hay không với màn CRT phụ thuộc khá nhiều vào tuổi thơ hay gu thẩm mĩ của bạn. Dẫu sao thì những thế hệ sau sẽ không còn được tiếp xúc với màn CRT nữa, nên nếu bạn thích cảm giác láng mịn chi tiết của những điểm ảnh hơn là những nét đen mờ ảo của màn hình CRT thì cũng hoàn toàn bình thường thôi.
Cuối cùng, nếu bạn thắc mắc không biết có cách nào “làm ngược”, trải các tựa game hiện đại trên nền CRT, thì câu trả lời là có nhé! Reshade nôm na là một phần mềm có tác dụng thêm hiệu ứng đồ họa cho game, và trong đó có hiệu ứng scanline của màn CRT. Các tùy chỉnh sẽ không được chi tiết như trong Retroarch đâu, nhưng nếu giỏi lập trình, bạn luôn có thể tự tay chuyển đổi các công cụ đổ bóng của libretro sang Reshade và “giúp đỡ nhân loại”.
AI UPSCALE / AI UPSCALING
Tuy đều nhằm mục đích mang tới trải nghiệm tuyệt vời hơn cho người dùng, nhưng nếu coi “giả lập” CRT là chiêu “mang hình ảnh về quá khứ” thì AI Upscaling là đòn “đưa mọi thứ tới tương lai”.
Đề tìm hiểu về công nghệ này, trước hết chúng là cần biết upscale là gì đã.
Trong đồ họa, upscale có thể được hiểu nôm na là tăng độ phân giải. Ví dụ như bạn có một bức ảnh kích thước 1280×720 và bạn muốn “phóng” nó lên kích thước 1920×1080 thì đó gọi là upscale. Nghe qua thì có vẻ đơn giản là dễ hiểu, nhưng thực tế upscale vẫn luôn là một thử thách lớn trong ngành đồ họa, bởi bản chất của upscale là: bạn đang tự “đẻ” ra điểm ảnh.
Lấy một bức ảnh bộ phân giải 1920×1080 rồi thu nhỏ nó lại 10 lần, còn 192×108. Khi bạn phóng to nó 10 lần lên lại, bạn sẽ thu được bức ảnh cũ đúng không? KHÔNG. Bạn sẽ thu được một thứ gì đó “mờ ảo”.
1 bức ảnh 1920×1080 chứa hơn 2 triệu điểm ảnh (cụ thể là 2.073.600), tức có thể nói trong bức ảnh đó có hơn 2 triệu mẩu thông tin định hình lên nó. Còn một bức ảnh 192×108 thì chỉ có hơn 20 nghìn mẩu thông tin tương tự. Nếu xuất phát từ 2 triệu mẩu thông tin, bạn có thể “vứt” 1,98 triệu mẩu đi để còn có 20 nghìn mẩu. Nhưng nếu xuất phát từ 20 nghìn mẩu, bạn tự lấy đâu ra thông tin chính xác về 1,98 triệu mẩu kia để hồi phục hình ảnh gốc? Dễ hiểu hơn nữa, cho dãy số 1, 2, 3,… 10, rồi bảo bạn vứt 8 số đi để còn 2 số thì đơn giản. Nhưng cho bạn các số 2 và 5, rồi bảo bạn suy luận để điền thêm 8 số cho giống đáp án thì bạn suy luận kiểu gì để ra được?
Đương nhiên bạn có thể tự “tưởng tượng” trong đầu là cái ảnh gốc nó như thế nào, nhưng máy tính thì không thể “đọc não” bạn để biết được bạn “tưởng tượng” ra cái gì. Nó cần phải tự làm các bước tính toán của riêng mình để tạo thêm điểm ảnh, mà cách tính toán thông thường, truyền thống và “nông dân” nhất là: lấy giá trị của những điểm ảnh quanh đó rồi chia trung bình. Đây là cách giải quyết đơn giản nhất, nhưng cũng chính kết quả của cách làm ấy gây nên hiện tượng mờ đục.
Các tựa game cũ cũng tương tựa vậy. Chúng vốn được thiết kể để xuất ra ở độ phân giải rất thấp, như 240p chẳng hạn, và khi được đưa đến thời kì của những màn hình Full HD, 1440p, 4K… chúng sẽ chẳng thể nào bắt mắt được: họa tiết thì đơn giản, hình ảnh thì mờ nhạt, màu sắc thiếu ấn tượng… Để giải quyết vấn đề này cần các biện pháp upscale phức tạp hơn là chia trung bình, và công nghệ hiện đại mang tới cho chúng ta AI Upscaling.
Các bức ảnh trên được lấy từ game Final Fantasy IX, phiên bản PlayStation, có độ phân giải gốc là 400×250 và được upscale lên 4 lần. Tuy nhiên phiên trái là upscale bằng phương pháp thủ công truyền thống, còn bên phải là upscale bằng waifu2x, công cụ AI Upscaling cực kì nổi tiếng hiện nay. Và như các bạn có thể thấy, kết quả khác nhau rõ rệt.
AI, Artificial Intelligent hay trí thông minh nhân tạo, có khả năng giúp upscale các bức ảnh một cách chính xác hơn vì nó không chỉ tập trung vào một vài điểm ảnh cụ thể để sử dụng biện pháp “cộng vào chia đôi” như toán lớp 1. Thay vào đó, chương trình được “học”, được “huấn luyện” từ rất nhiều ví dụ, rất nhiều mẫu ảnh có sẵn và tổng hợp nên các thông số riêng. Để rồi khi cần upscale gì đó, từ những thông số đã học, chương trình sẽ nhìn tổng thể một vùng lớn của bức ảnh đó, phân tích được điểm này là gì, mang màu gì, nên có kích cỡ như thế nào, và từ đó xuất ra bức ảnh chất lượng tốt nhất. Hơn nữa, nhiều lúc chưa phải upscale xong là sẽ được bức ảnh “ngon ăn”, mà còn làm các khâu như khử lỗi màu, làm mịn… và biện pháp truyền thống khó có thể thực hiện được tốt những yêu cầu phức tạp.
Một cách ngắn gọn để phân biệt hai phương thức upscale là: phương pháp truyền thống thực hiện công việc dựa trên những gì nó được lập trình từ con người, còn AI Upscaling thực hiện cũng công việc đó dựa trên những gì nó rút ra được từ dữ liệu đã cung cấp. Nôm na là một bên có khuynh hướng “học” từ lý thuyết, còn bên kia lại thiên về “học” từ thực tế.
Nếu bạn thực sự muốn tìm hiểu về AI Upscaling thì Reddit GameUpscale là một nơi lý tưởng để mở đầu, và nó cho bạn danh sách khá nhiều công cụ, cách thức hay như Waifu2x, ESRGAN, A.I. Gigapixel…
Cuối cùng, nếu bạn có biết tới quảng cáo các dòng TV cao cấp của Samsung hay LG chẳng hạn thì khả năng cao các cụm từ AI Upscaling, AI UpScaler, upscale AI… sẽ được nhắc tới nhiều. Những chiếc TV đó có độ phân giải lên tới 8K, nhưng ở thời điểm hiện tại thì có phim nào, chương trình nào phát sóng ở độ phân giải đó? Để tận dụng độ phân giải 8K thì bắt buộc phải upscale, và upscale truyền thống để tạo ra những hình ảnh “mờ ảo” không phải là ý hay khi bạn muốn bán những chiếc TV trị giá hàng trăm triệu. Đương nhiên không thể nói công nghệ upscale được tích hợp trong các TV đó là hoàn hảo, nhưng đại ý là giá trị của AI Upscaling không chỉ dừng lại ở đưa game cũ về thời hiện tại nói riêng, mà có thể áp dụng cho toàn bộ lĩnh vực đồ họa và hình ảnh nói chung nữa đó.
RAY TRACING CHO… GAME CŨ?
Tương tự như AI Upscaling, Ray Tracing có thể nói là một công nghệ phục vụ tương lai, thế nhưng không như AI Upscaling hiện đã và đang được ứng dụng rất nhiều, Ray Tracing hiện mới chỉ ở giai đoạn “tập đi” ở thị trường game.
Ray Tracing, hay dò tia, là công nghệ truy xuất nguồn sáng, từ đó các thuật toán sẽ đảm nhiệm việc tính toán để tạo nên các hình ảnh phản chiếu, đổ bóng cũng như tạo ra các hiệu ứng ánh sáng phản xạ theo thời gian thực. Còn phương pháp kết xuất đồ họa truyền thống cho game là rasterization kèm đổ bóng: chuyển đổi một hình biểu thị dưới dạng vectơ sang hình ảnh được biểu thị dưới dạng điểm ảnh, sau đó thay đổi màu, họa tiết, độ sáng tối để xuất ra khung hình cuối cùng.
Một cách đơn giản, Ray Tracing hoạt động dựa trên những gì trong thực tế: mô phỏng nguồn sáng tới từ đâu, đập vào vật thể thế nào thì sẽ ra được cách đổ bóng và phản chiếu tương ứng. Còn phương tháp truyền thống có thể hiểu là cho bạn một đống vật thể, rồi bảo bạn tự đi mà suy luận để vẽ thêm vị trí bóng hay hình ảnh phản chiếu tùy theo nguồn sáng. Mọi thứ sẽ đơn giản nếu như chỉ có một cái cốc và một cái đèn, nhưng sẽ cực kì khó đoán nếu có nhiều nguồn sáng khác nhau và rất nhiều vật thể như ngoài đời thật. Do vậy, hầu hết các hiệu ứng đổ bóng hay phản chiếu gì đó mà bạn thấy trong game đều được “đoán”, chứ không phải được “mô phỏng”. Thế nên Ray Tracing được kì vọng một ngày sẽ thay thế hoàn toàn được phương pháp truyền thống trong game. Tuy nhiên, “kì vọng” và “thực tế” thường cách nhau khá xa.
Ray Tracing chẳng phải là công nghệ quá mới mẻ gì lắm, bởi nó đã được ứng dụng trong lĩnh vực làm phim một thời gian rồi. Nó có thể mang tới chất lượng hình ảnh thật, sống động, đủ để khiến bạn không thể phân biệt được đâu là kĩ xảo trong các bộ phim bom tấn. Bởi vì trong ngành điện ảnh, điểm yếu “chí mạng” của Ray Tracing có thể được giảm thiểu ít nhiều. Và điểm yếu đó là: thời gian tính toán.
Tạo nên Big Hero 6, Disney sử dụng một siêu máy tính với 55 ngàn lõi CPU. Tạo nên Monsters University, Pixar sử dụng 2400 máy tính với 24 ngàn lõi để làm ra được 1 khung hình mỗi… 29 giờ, tức 104.400 giây. Tới đây chắc các bạn đã hiểu vấn đề. Máy tính cá nhân chưa có tới hàng ngàn lõi CPU, và không ai chơi game với tốc độ 0.000001 FPS cả.
Hình ảnh lấy từ video của Digital Foundry.
Do vậy, Ray Tracing chỉ mới được tích hợp vào phần cứng để chơi game gần đây, với khởi đầu là dòng card RTX của Nvidia, và từ đó tới giờ vẫn còn nhiều bất cập như:
- Ray Tracing trong game có quy mô bé hơn nhiều so với trong điện ảnh nên độ chính xác không thể bằng được.
- Số tựa game tích hợp Ray Tracing trên thị trường đếm được trên đầu ngón tay.
- Có thể làm giảm FPS một cách tệ hai, đặc biệt là nếu bạn đang không sử dụng dòng card RTX, nên nhiều người không thèm dùng luôn.
- Độc quyền Nvidia: mã nguồn đóng, không có trên console, không thể dùng để mod game.
- …
Tới đây, bạn có thể nghĩ Ray Tracing là một công nghệ không có tương lai… nhưng sự thật cả AMD và Intel đang cố gắng chạy đua với tính năng này đấy.
Ray Tracing là một bước tiến bộ “dĩ nhiên” của công nghệ đồ họa trong game, và Nvidia là một trong những bên dẫn đầu. Sản phẩm Ray Tracing mà Nvidia mang tới hiện tại vẫn còn khiếm khuyết, nhưng nó là bước đi tiền đề để ngành công nghiệp đồ họa phát triển. Hi vọng cả AMD và Intel sẽ không mất quá lâu để bắt kịp, và cũng hi vọng những khiếm khuyết của Ray Tracing sẽ được khắc phục nhanh chóng.
Vậy thì Ray Tracing có thể giúp gì trong việc “gợi lại cảm hứng” cho những tựa game cũ? Câu trả lời đã được Nvidia trình diễn trong trailer cho Quake II RTX.
Quake II ra mắt vào năm 1997, và hơn 20 năm sau, người chơi sẽ có cơ hội chiêm ngưỡng phiên bản Ray Tracing của tựa game cũ này miễn phí nếu như đã sở hữu tựa game trên Steam. Và do là một game cũ nên texture quality (độ chi tiết của gợn vân bề mặt các vật thể) của Quake II RTX khá là thấp so với những tựa game hiện đại, rất phù hợp để phô diễn “điểm sáng” của Ray Tracing mà không phải lo về lượng FPS thấp. Đồng thời, người xem sẽ có một cái nhìn “xuyên thời đại” về một sản phẩm cũ nhưng được khoác màu áo mới nhờ công nghệ.
Cuối cùng, rất có thể Quake II RTX chỉ là khởi đầu thôi. Một khi công nghệ Ray Tracing phát triển, trở nên phổ biến, hỗ trợ nhiều loại phần cứng và có mã nguồn mở, sẽ có nhiều tựa game cũ đổ bộ lên các hệ máy hiện đại với Ray Tracing đi kèm. Và biết đâu đấy, Ray Tracing sẽ mang tới một màu sắc mới cho những tựa game “vang bóng một thời” như Crysis, Far Cry hay Half-Life 2 thì sao.