RNG là gì?

Bạn đã bao giờ cảm thấy choáng ngợp bởi số lượng từ viết tắt trong thế giới game chưa? Từ thể loại đến thuật ngữ kỹ thuật, có rất nhiều thứ để theo dõi. Ví dụ như RNG chẳng hạn.

Trong bài viết này, Quantrimang.com sẽ giải thích RNG là gì trong bối cảnh game video. Bài viết sẽ xem xét ý nghĩa của RNG, nghiên cứu một số ví dụ và xem nó thậm chí có thể áp dụng như thế nào cho speedrunning (phá đảo một tựa game).

RNG là gì?

RNG là gì?

RNG là viết tắt của Random Number Generator. Điều này được định nghĩa là một thiết bị hoặc thuật toán đi kèm với các cơ hội ngẫu nhiên. Trong thuật ngữ chơi game, RNG đề cập đến các sự kiện không giống nhau mỗi khi bạn chơi.

Mặc dù nghe có vẻ đơn giản, nhưng máy tính thực sự gặp sự cố khi tạo số ngẫu nhiên. Điều này là do các máy tính được thiết kế để làm theo hướng dẫn, điều này trái ngược với sự ngẫu nhiên. Bạn không thể nói với một cỗ máy: “Hãy đưa ra một số ngẫu nhiên”, bởi vì việc đưa hướng dẫn để chọn một cái gì đó ngẫu nhiên có vẻ như hơi mâu thuẫn.

True RNG (TRNG) và Pseudo-RNG (PRNG)

Do đó, để thực sự tạo ra một số ngẫu nhiên bằng máy tính, bạn phải sử dụng một thiết bị vật lý được gọi là hardware random number generator (trình tạo số ngẫu nhiên phần cứng). Công cụ này sử dụng các quá trình vật lý cực nhỏ như tiếng ồn điện tử (electronic noise), để đưa ra những số ngẫu nhiên.

Không có cách nào để một người có thể dự đoán hoặc biết được những gì xảy ra với các sự kiện như thế này, nên chúng thực sự ngẫu nhiên nhất có thể. Loại RNG này rất quan trọng trong các hệ thống tập trung vào bảo mật và do đó xuất hiện trong những hình thức mã hóa phổ biến. Nếu ai đó có thể tìm ra cách hệ thống đưa ra các con số ngẫu nhiên cho một giao thức mã hóa, đó sẽ là một vấn đề lớn.

Tuy nhiên, đây không phải là mối quan tâm với RNG trong chơi game. Để có tốc độ nhanh và tái tạo dễ dàng hơn, nhiều chương trình, bao gồm cả các game, sử dụng thứ được gọi là pseudorandom number generation (tạo số giả ngẫu nhiên).

Pseudo-RNG sử dụng một thuật toán (hãy coi nó giống như một công thức) thực hiện các phép toán trên giá trị seed (khởi đầu) để đưa ra một số ngẫu nhiên. Để đạt được các kết quả đầu ra khác nhau mỗi lần, điều quan trọng là sử dụng một seed ngẫu nhiên nhất có thể.

Một ví dụ đơn giản sẽ lấy số mili giây hiện tại làm seed, sau đó thực hiện một số thao tác trên nó, như sau:

int rand = (a * milliseconds + b) % c

Điều này không thực sự ngẫu nhiên, bởi vì sử dụng cùng một seed sẽ tạo ra kết quả giống nhau mỗi lần. Nhưng nó đủ tốt cho các game video.

True RNG (TRNG) và Pseudo-RNG (PRNG)

Ví dụ về RNG trong chơi game

Bây giờ, bạn đã biết các kỹ thuật của RNG, hãy cùng xem một số ví dụ về RNG trong các game để xem nó đóng vai trò như thế nào.

Loot RNG

RNG đóng một vai trò lớn trong các game tập trung vào loot như Destiny, Borderlands và Diablo. Khi bạn mở một rương kho báu (treasure chest) hoặc đánh bại kẻ thù, phần thưởng được tạo ra không giống nhau trong mọi trường hợp. Game xác định phần thưởng ngẫu nhiên mỗi lần, vì vậy bạn có thể gặp may mắn và nhận được một vật phẩm siêu hiếm ngay lập tức, hoặc một bộ áo giáp cấp thấp lặp đi lặp lại.

Tất nhiên, để giữ cho game cân bằng, loot drop (việc xác định phần thưởng) không hoàn toàn ngẫu nhiên. Game có các hệ thống để ngăn bạn lấy vũ khí tốt nhất trong game từ rương kho báu đầu tiên bạn mở. Mỗi game có cách xử lý khác nhau, có lẽ bằng cách giới hạn thiết bị nhận được dựa trên cấp độ người chơi của bạn.

Việc nhận được các chiến lợi phẩm tốt hơn là một trong những lý do khiến game video rất “gây nghiện”.

Xác định tỷ lệ phần trăm cơ hội với RNG

Xác định tỷ lệ phần trăm cơ hội với RNG

Nhiều game sử dụng RNG để tìm ra tỷ lệ phần trăm một sự kiện nào đó xảy ra. Điều này thường thấy trong các game nhập vai (RPG).

Ví dụ, khi bạn tấn công trong các game nhập vai như Persona 5 hoặc Chrono Trigger, bạn có thể kích hoạt một đòn chí mạng gây thêm sát thương. Điều này xảy ra ngẫu nhiên, mặc dù trong nhiều game, bạn có thể tăng cơ hội bằng cách sử dụng một số vật phẩm nhất định. Trong game Pokémon, RNG xác định tần suất các trận chiến xảy ra với Pokémon hoang dã và sinh vật nào bạn gặp phải.

Những ví dụ tương tự về điều này xuất hiện trong các game như Super Smash Bros. Nhân vật Mr. Game & Watch có một động thái gọi là Judge, hiển thị một số từ 1 đến 9 khi được sử dụng. Giá trị được xác định bằng RNG mỗi khi bạn sử dụng nó, ngoại trừ việc bạn không thể nhận được cùng một số hai lần liên tiếp.

Thực hiện procedural generation thông qua RNG

RNG là trung tâm của procedural generation, một xu hướng phổ biến trong chơi game. Procedural generation đề cập đến quá trình tạo nội dung game thông qua thuật toán thay vì chế tạo mọi thứ thủ công.

Các game nổi tiếng được xây dựng xoay quanh procedural generation bao gồm Minecraft và Spelunky. Những game này tạo ra thế giới độc đáo thông qua một giá trị seed, nghĩa là mỗi người chơi sẽ có một trải nghiệm khác nhau mỗi lần chơi game.

Giống như những hình thức RNG khác, các nhà phát triển game thêm hạn chế để nhiều thế giới được tạo ra hoàn toàn ngẫu nhiên. Chẳng hạn, bạn sẽ không tìm thấy các khối đất nổi ngẫu nhiên trên một đại dương trong Minecraft.

RNG trong speedrunning 

Rất có thể bạn đã nghe về RNG game video trong bối cảnh speedrunning (phá đảo game). Vì những speedrunner (người phá đảo game) có mục đích hoàn thành một game nhanh nhất có thể, nên họ luyện tập rất nhiều để tìm hiểu game từ trong ra ngoài. Do đó, RNG thêm một yếu tố không thể đoán trước vào hình thức chơi game speedrun.

Mặc dù thường gây ra vấn đề, nhưng RNG không phải lúc nào cũng mang nghĩa tiêu cực trong speedrun. Có một số khác biệt giữa các lần chơi có thể làm cho game hấp dẫn hơn bởi vì nó giúp dễ dàng cải thiện thời gian với một chút may mắn.

RNG speedrun nhỏ đến trung bình

Đôi khi, RNG hầu như không quan trọng đối với mỗi lần chơi. Vị trí chính xác nơi kẻ thù xuất hiện trong một căn phòng, hoặc liệu bạn có bị đòn chí mạng trong một trận chiến thông thường hay không, không ảnh hưởng rất lớn đến tổng thời gian của bạn.

Trong các trường hợp khác, RNG có thể gây ra sự chậm lại đáng kể. Ví dụ, trong Super Mario Sunshine, trận đấu với King Boo liên quan đến việc quay một máy chơi game slot với 5 kết quả có thể xảy ra. Để đánh bại King Boo, trước tiên bạn phải ghép ba biểu tượng quả dứa để tạo ra nhiều loại trái cây.

RNG trong speedrunning 

Sau đó, bạn phải ném một trái ớt vào King Boo để đốt cháy lưỡi của nó, tiếp theo là đánh nó bằng bất kỳ loại trái cây nào khác. Với RNG tốt, ớt sẽ xuất hiện ở một vị trí thuận tiện để bạn có thể nhanh chóng hoàn thành cuộc chiến. Tuy nhiên, nếu không may mắn, bạn có thể phải quay roulette nhiều lần.

RNG "phá game"

Một số game có những phần không may mắn với RNG hoàn toàn có thể làm hỏng việc chơi. Một ví dụ về điều này xảy ra với Banjo-Kazooie.

Gần cuối game, bạn tham gia một chương trình đố vui có tên Grunty’s Furnace Fun, kiểm tra bạn bằng những câu hỏi về cuộc phiêu lưu. Những câu hỏi có thể về Gruntilda, nhân vật phản diện trong game. Nếu bạn nói chuyện với chị gái Brentilda của Gruntilda trong suốt game, cô ấy sẽ cho bạn câu trả lời cho những câu hỏi này.

Tuy nhiên, câu trả lời chính xác cho những câu hỏi này là ngẫu nhiên ở mỗi lần chơi. Speedrunner không muốn lãng phí thời gian nói chuyện với Brentilda, vì vậy họ phải đoán câu trả lời vào thời điểm này. Điều này hoàn toàn phụ thuộc vào may mắn. Nếu chọn câu trả lời sai quá nhiều lần, họ có thể “chết” và mất rất nhiều thời gian.

Có phần phụ thuộc vào RNG này vào cuối game gây khó chịu cho speedrun, bởi vì người chơi không thể làm việc gì khác ngoài hy vọng mình gặp may mắn. Mặc dù vậy, những speedrunner vẫn thường tìm ra cách để vượt qua những rào cản này, như video dưới đây cho thấy:

Vận dụng RNG

Như bài viết đã thảo luận, pseudo-RNG của game video không thực sự ngẫu nhiên, bởi vì bạn có thể tái tạo kết quả nếu bạn sử dụng cùng một seed. Nhiều game sử dụng bộ đếm thời gian nội bộ làm seed, có thể hơi khó khai thác. Nhưng các game khác dễ dàng hơn nhiều để chơi.

Golden Sun, một game nhập vai trên Game Boy Advance, là một ví dụ tuyệt vời về điều này. Game xác định phần thưởng bạn nhận được khi hoàn thành một trận chiến dựa trên những hành động bạn đã thực hiện trong cuộc chạm trán. Điều này có nghĩa là nếu bạn chiến đấu trong một trận chiến chống lại cùng một kẻ thù bằng cách sử dụng cùng một chiến thuật, bạn sẽ nhận được cùng một vật phẩm như vậy mỗi lần.

Vận dụng RNG

Speedrunner có thể sử dụng các công cụ giả lập để phân tích một game và tìm hiểu xem họ có thể thao túng RNG của nó không. Sau đó, họ có thể tận dụng lợi thế bằng cách đảm bảo kết quả mong muốn hoặc giảm thiểu việc lãng phí thời gian tiềm năng từ RNG. Nhưng với những người chơi bình thường không hiểu về seed, loại RNG này là đủ ngẫu nhiên rồi.

Bài viết đã xem xét RNG là gì, ví dụ về cách RNG ảnh hưởng đến các game và làm thế nào để áp dụng nó cho speedrun. Bây giờ có lẽ bạn đã hiểu rõ hơn về vai trò của RNG trong chơi game.

Bạn có thể tham khảo thêm một số bài viết của Quantrimang.com như:

Chúc bạn thành công!

Chủ Nhật, 15/09/2019 06:59
52 👨 642