Làm thế nào để báo cáo các lỗi được tìm thấy trên các cấp được tạo theo thủ tục?


8

Có nhiều chủ đề về cách tạo quy trình hoạt động nhưng tôi không thể tìm thấy bất kỳ thông tin nào về cách kiểm tra và - điều quan trọng hơn - cách báo cáo lỗi có thể xảy ra ở các cấp được tạo theo thủ tục. Cách tốt nhất để mô tả một lỗi, ví dụ liên quan đến thiết kế cấp độ, trên bản đồ sẽ khác nhau mỗi khi bạn chơi trò chơi mới là gì? Thông tin nào cần được đưa vào báo cáo lỗi để sao chép nó sẽ dễ dàng hơn cho nhà thiết kế cấp, nghệ sĩ cấp độ, v.v. và sau đó trong quá trình hồi quy?

EDIT: Điều đáng nói là trò chơi, tôi đang chuẩn bị thử nghiệm, đang ở giai đoạn đầu phát triển và liên tục thay đổi cùng với các hệ thống chịu trách nhiệm tạo cấp độ. Mục đích của nghiên cứu này là tìm hiểu cách mô tả các lỗi (thông tin cần đưa vào báo cáo) để hồi quy trong môi trường thay đổi sẽ tốn ít thời gian và hiệu quả nhất có thể.


2
Đối tượng mục tiêu của bạn là ai? Ý tôi là, ai sẽ điền vào các báo cáo lỗi này?
Vaillancourt

1
Một trong những giải pháp khả thi là thêm chức năng "tiết kiệm" hoặc ít nhất là một số cơ chế băm. Bằng cách đó, người kiểm tra có thể bao gồm toàn bộ cấp độ cho báo cáo của mình hoặc ít nhất là bao gồm hàm băm văn bản mà sau đó có thể được đảo ngược thành một loạt các cấp độ giống nhau. Tùy chọn đầu tiên là đơn giản nhưng ăn lưu lượng / không gian. Tùy chọn thứ hai cần một số động não nghiêm túc để thực hiện. Tôi có thể sai, nhưng theo như tôi nhớ thì Diablo 2 đã sử dụng băm. Vì vậy, mức độ (và các cấp độ khác trông giống hoặc ít hơn) được mô tả bằng hàm băm.
Sergey.quixoticaxis.Ivanov

Loại trò chơi nào? Các kỹ thuật IE được sử dụng trong trò chơi theo lượt có thể không phù hợp với trò chơi thời gian thực & ngược lại.
Pikalek

@ Alexandre Vaillancourt: Người kiểm tra sẽ báo cáo lỗi bằng cách sử dụng một công cụ tự động sẽ thu thập một số thông tin đơn giản như số lượng vật thể, số lượng AI, v.v. Tôi tự hỏi những gì khác có thể được đưa vào không chỉ trong các báo cáo tự động đó mà còn trong thông thường báo cáo được viết bởi người kiểm tra. @Pikalek: Đây là một game hành động FPP với thế giới mở và lối chơi thời gian thực.
BoYLER

Câu trả lời:


18

Nó cũng có thể rất hữu ích khi thuật toán tạo bản đồ của bạn có tính xác định và có thể lặp lại dựa trên giá trị hạt giống ban đầu. Vì vậy, khi bạn nhập cùng một giá trị hạt giống, bạn sẽ có được bản đồ tương tự. Điều này có thể dễ thực hiện hơn bạn nghĩ. Hầu hết các API tạo số ngẫu nhiên có thể được khởi tạo với giá trị hạt giống và sau đó luôn tạo cùng một chuỗi các số ngẫu nhiên cho cùng một hạt giống. Nếu bạn đang sử dụng một trong số ít các nền tảng không phải là trường hợp này (như JavaScript dựa trên trình duyệt), bạn có thể triển khai trình tạo số ngẫu nhiên của riêng mình. Có rất nhiều thuật toán xung quanh không khó thực hiện và thường luôn yêu cầu giá trị hạt giống.

Người kiểm tra của bạn sau đó có thể đề cập đến hạt giống bản đồ trong các báo cáo lỗi của họ. Một báo cáo lỗi như "Cây mọc giữa hồ" có thể có hướng dẫn sinh sản "Tạo bản đồ với hạt a4f6dd32 và đi đến vị trí 4321500: 1269100". Sau khi bạn xác minh điều này, bạn có thể đặt điểm dừng của trình gỡ lỗi có điều kiện trong thuật toán tạo bản đồ của mình, trình kích hoạt trên đoạn bản đồ bị ảnh hưởng và kiểm tra chính xác những gì đang diễn ra.

Một thuật toán tạo bản đồ xác định cũng cho phép bạn thực hiện kiểm tra tự động. Bạn có thể có nhiều hạt thử nghiệm khác nhau với các đầu ra đã biết và sau đó kiểm tra các thử nghiệm tự động của bạn nếu đầu ra đó vẫn giống nhau sau khi bạn thực hiện một số cải tiến hiệu suất trong thuật toán tạo.


Cảm ơn tất cả các ý tưởng. Tôi chưa thể thử và đưa chúng vào sử dụng, vì trò chơi không ở trạng thái có thể chơi / kiểm tra được. Nó thực sự sẽ cần nhiều thời gian hơn để sẵn sàng thử nghiệm. Bây giờ tôi chỉ đang làm nghiên cứu về vấn đề này.
BoYLER

Đây là một câu trả lời tuyệt vời. Tôi hiện đang tạo một trò chơi sử dụng Dungeon Architect để tạo ngẫu nhiên các cấp dựa trên hạt giống. Tôi đã tiến thêm một bước và tạo ra một lớp đơn lẻ ngẫu nhiên loại bỏ các giá trị Ngẫu nhiên cho TẤT CẢ các hệ thống con, cả DA và của riêng tôi. Lợi ích là nếu tôi biết giá trị hạt giống và giá trị của chính cấp độ đó (giả sử dungeon 1-1 hoặc rừng 3-6), tôi có thể tạo lại chính xác cấp độ đó, với cùng một mob, ở cùng một nơi với cùng một vị trí bảng loot và mọi thứ. Vì giá trị này được ghi lại, tôi sẽ dễ dàng phân tích báo cáo lỗi và tạo lại kịch bản.
Jesse Williams
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.