Tôi cho rằng đây là một câu hỏi cân bằng trò chơi và không phải là một câu hỏi mã hóa, và có rất nhiều cách để xử lý vấn đề này. Từ thuật toán hiện có của bạn, tôi nghi ngờ bạn đang làm cho nó phức tạp hơn mức cần thiết (ba thuộc tính VÀ một số ngẫu nhiên tạo nên một hệ thống cực kỳ lầy lội theo quan điểm của người chơi). Bản năng đầu tiên của tôi là đơn giản hóa!
Thuộc tính ưa thích làm nhiều việc, thay vì kết quả được xác định bởi nhiều thuộc tính. DEX hoạt động tốt như là yếu tố quyết định chính của cơ hội tấn công; việc bổ sung mọi thứ khác chỉ nhằm mục đích làm cho nó khó cân bằng hơn. Hãy nghĩ về nó theo cách này: sát thương dự kiến của người chơi trên mỗi đòn đánh là% sát thương của họ nhân với sát thương trung bình của họ khi họ đánh. Làm thế nào để bạn có kế hoạch tính% "mong đợi" hoặc "điển hình" để đạt% với rất nhiều biến số?
Tôi thấy một vấn đề khác, đó là công thức của bạn không có quy mô, và đây có lẽ là những gì bạn đang gặp phải. Giả sử DEX, Lucks và TỐC ĐỘ có xu hướng tăng trong suốt quá trình chơi, sự khác biệt giữa người chơi và quái vật trong các chỉ số đó cũng sẽ có xu hướng tăng. Chỉ là một ví dụ, nếu DEX trò chơi đầu của người chơi nằm trong phạm vi 4 đến 6 và quái vật cũng vậy, đó là công cụ sửa đổi 10-20% để đánh. Nếu phạm vi giống như 10 đến 20 trong các giai đoạn sau của trò chơi, thì đó là công cụ sửa đổi 100%.
Một cách để khắc phục đó là giữ số liệu thống kê cố định. Phạm vi người chơi và quái vật là như nhau trong suốt trò chơi và nhận được thứ gì đó như +1 DEX là một thỏa thuận rất lớn, cực kỳ hiếm và được xử lý như vậy (nếu nó tồn tại). Sau đó, công thức của bạn sẽ hoạt động tốt cho toàn bộ trò chơi và bạn sẽ thấy một người chơi có cùng cơ hội đánh trúng.
Một cách khác là thay đổi "10" được mã hóa cứng theo tỷ lệ theo cấp độ, vì vậy có thể đó là "cấp 10 + cấp quái vật" hoặc "cấp 10 ngục tối" hoặc thứ gì đó, gây khó khăn tăng nhẹ khi trò chơi tiến lên trừ khi người chơi tăng cấp số liệu thống kê của họ phù hợp.
Cách thứ ba, như những người khác đã nói, là đặt mũ cứng ở mức% cao nhất và thấp nhất có thể chấp nhận để đạt% và chỉ cần nói "nếu giá trị tính toán nhỏ hơn X, thay vào đó hãy sử dụng X".
Để hoàn thiện, tôi sẽ chỉ ra rằng không có luật tuyệt đối nào mà bạn PHẢI bao gồm một cú đánh trúng đích ngay từ đầu. Thực hiện một hành động trong một trò chơi không hiệu quả không đặc biệt thú vị và không thực sự bổ sung vào trải nghiệm ngoại trừ trong những trường hợp hiếm hoi. Một cách khác là để người chơi LUÔN LUÔN tấn công và chỉ gây rối với phạm vi sát thương để đôi khi họ sẽ gây sát thương ít hơn nhiều so với những người khác. Hãy nhớ rằng các hệ thống phức tạp là niềm vui cho người thiết kế hơn người chơi.