Công thức cho ba anh hùng cạnh tranh, mỗi người có một người họ có thể đánh bại và một người họ bị đánh bại


12

Tôi đang cố gắng thiết kế một trò chơi cho một dự án mà tôi có, Ý tưởng chính là:

3 loại anh hùng
3 chỉ số mỗi anh hùng

Không có cấp độ liên quan vì vậy sự khác biệt phải được định vị trên các số liệu thống kê.

Chiến đấu logic - Logic của chiến đấu là loại 1 anh hùng có cơ hội chiến thắng loại 2 anh hùng, anh hùng loại 2 có cơ hội tốt loại 3 anh hùng và anh hùng loại 3 có cơ hội chiến thắng loại1 anh hùng tốt.

Trong hơn một tuần, tôi đang cố gắng tìm một công thức dựa trên số liệu thống kê cho phép tôi khắc phục điều này nhưng tôi không thể, tôi đã can thiệp vào các con số ngày hôm qua và nó rất tốt nhưng tôi không thể trích xuất công thức ra khỏi nó.

Bạn có thể vui lòng hướng dẫn tôi hoặc cho tôi gợi ý về cách tôi nên bắt đầu tạo công thức trên trò chơi Non lvl để đáp ứng logic chiến đấu không?


1
"Trong hơn một tuần tôi đang cố gắng tìm một công thức dựa trên số liệu thống kê cho phép tôi khắc phục điều này" - Khắc phục điều gì? Đây là một thợ cơ khí Rock-paper-kéo ; bạn không thể mô tả nó một cách toán học, bởi vì không có x, y, z cho x > y ∧ z > x ∧ y > zít nhất là không phải trong các toán học cơ bản mà tôi biết và sử dụng.
Markus von Broady

2
Trong khi bạn đã nhận được một câu trả lời tuyệt vời, câu hỏi này không tốt lắm.
MichaelHouse

@MarkusvonBroady: Cách thông thường để mô tả một cách toán học một thứ tự như thế này là với một biểu đồ được định hướng / quan hệ nội động từ. Bạn đúng rằng bạn sẽ không làm điều này với những con số thực.
Joren

5
@ Byte56: Mặc dù tôi đồng ý rằng nó không được trình bày theo một cách rất hay, nhưng câu hỏi ẩn đằng sau vẫn rất thú vị: làm thế nào để điều chỉnh hệ thống chiến đấu 3 chiều theo cách chung chung, giống như kéo giấy bằng đá, như được thể hiện trong các câu trả lời phía dưới. Không có giá trị -1, imho.
Jesse Emond

@JlieEmond Trong một câu trả lời dưới đây *. Vấn đề rất đơn giản, như tôi đã nhận xét về câu trả lời, đó chỉ là nhiều loại áo giáp và các loại tấn công được ngụy trang như một thợ cơ khí kéo giấy. Mặc dù công thức được cung cấp là rất gọn gàng.
Markus von Broady

Câu trả lời:


38

Trò chơi của bạn là một trò chơi không tự phát . Bạn có thể thực hiện nó với 3 chỉ số R , PS , sử dụng logic kéo giấy bằng giấy. Gọi các số liệu thống kê này bất cứ điều gì bạn muốn, nhưng tôi sẽ tuân theo logic RPS.

Bây giờ giả sử bạn có hai anh hùng, với các chỉ số R1 / P1 / S1 và R2 / P2 / S2. Chúng ta cần tính toán mức độ thiệt hại mà chúng sẽ gây ra cho nhau.

Bạn muốn đá để gây sát thương cho kéo. Điều đó có nghĩa là anh hùng 1 gây sát thương «đá» cho anh hùng 2 nếu R1 > 0và nếu S2 > 0. Một công thức hoạt động đơn giản min(R1, S2).

Mà ngay lập tức cung cấp cho chúng tôi các công thức thiệt hại:

Damage(hero1 on hero2) = min(R1, S2) + min(S1, P2) + min(P1, R2)
Damage(hero2 on hero1) = min(R2, S1) + min(S2, P1) + min(P2, R1)

Hãy xem điều gì xảy ra với một ví dụ thực tế:

    Hero1  Hero2
R    120     50
S     30    130
P     15     30

Xét về chỉ số, hero 1 rõ ràng là loại «đá» và anh hùng 2 rõ ràng là loại «cắt kéo». Đây là kết quả:

Damage(hero1 on hero2) = min(120, 130) + min(30, 30) + min(15, 50)
                       = 120 + 30 + 15
                       = 165
Damage(hero2 on hero1) = min(50, 30) + min(130, 15) + min(30, 120)
                       = 30 + 15 + 30
                       = 75

Kết quả cuối cùng: 165so với 75. Anh hùng 1 thắng, đúng như dự đoán.

Có nhiều thiếu sót với các công thức này, nhưng tôi hy vọng chúng cho bạn ý tưởng về cách thực hiện các quy tắc chiến đấu nội động .


2
+1, tôi sẽ mô tả nó đơn giản như nhiều loại tấn công và áo giáp khác nhau (trạng thái, nguyên tố, vật lý)
Markus von Broady

1

Mỗi anh hùng luyện tập trong Melee Combat (M), Dodge (D) và Wizardry (W).

Tránh né tránh chiến đấu cận chiến rất tốt, và các cuộc tấn công ma thuật kém hơn.

Mỗi vòng, một anh hùng gây sát thương bằng (MD) + (W - 0,5D) (M và W là từ chỉ số của kẻ tấn công, D là từ chỉ số của người phòng thủ.)

Vì vậy, một Chiến binh có thể có các chỉ số:

M: 100, D: 20, W: 0

Một Rogue có thể có các số liệu thống kê:

M: 30, D: 80, W: 30

Và một Wizard có thể có các số liệu thống kê như:

M: 10, D: 10, W: 80

Chiến binh so với Rogue, chiến binh gây ra 20 DPS, trong khi kẻ lừa đảo gây ra 30 DPS. Lợi thế Rogue! Rogue vs Wizard, kẻ lừa đảo gây ra 20 DPS, trong khi thuật sĩ gây ra 40 DPS. Lợi thế thuật sĩ! Wizard vs Warrior, thuật sĩ tạo ra 70 DPS, trong khi chiến binh gây ra 90 DPS. Chiến binh lợi thế!


Câu trả lời này không thêm bất cứ điều gì ngoài Sam . Ngoài ra, lừa đảo có lợi thế nhỏ nhất ( 30 - 20 == 10so với 40 - 20 == 90 - 70 == 20hai người kia). Chắc chắn điều này có nghĩa là những kẻ bất hảo vốn đã thiệt thòi?
Anko

Vẻ đẹp của các hệ thống không tự động này là chúng cân bằng gần như tự động. Rogues bất lợi có nghĩa là sẽ có ít người chơi chúng hơn, để lại ít mục tiêu hơn cho thuật sĩ đánh bại và ít đối thủ hơn để chiến binh bị đánh bại. Tuy nhiên, nếu mọi người chọn chiến binh: sự trở lại của kẻ lừa đảo.
Marcks Thomas
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.