Üç rakip kahramanın formülü, her birinin yenebileceği ve yenildiği bir tane var


12

Sahip olduğum bir proje için bir oyun tasarlamaya çalışıyorum, ana fikir:

3 Kahraman türü
3 Kahraman başına istatistikler

Herhangi bir seviye yoktur, bu nedenle farklılıklar istatistiklerde bulunmalıdır.

Dövüş mantığı - Dövüş mantığı, type1hero'nun tip2hero kazanma şansının yüksek olması, type2hero'nun type3hero şansı iyi ve type3hero'nun tip1hero kazanma şansının yüksek olmasıdır.

Bir haftadan fazla bir süredir bunu düzeltmeme izin verecek bir istatistik tabanlı formül bulmaya çalışıyorum ama yapamam, dün sayılarla karışıyordum ve iyi oldu ama formülü çıkaramıyorum.

Lütfen bana yol gösterebilir veya dövüş mantığını yerine getiren bir lvl olmayan oyunda nasıl formüller oluşturmaya başlayabileceğime dair ipuçları verebilir misiniz?


1
"Bir hafta boyunca bunu düzeltmek için izin verecek bir istatistik tabanlı formül bulmaya çalışıyorum" - Ne düzeltmek? Bu bir Taş-kağıt-makas tamircisi; matematiksel olarak tanımlayamazsınız, çünkü x > y ∧ z > x ∧ y > zen azından bildiğim ve kullandığım temel matematikte x, y, z yoktur .
Markus von Broady

2
Harika bir yanıt alırken, bu soru çok iyi değil.
MichaelHouse

@MarkusvonBroady: Böyle bir sıralamayı matematiksel olarak tanımlamanın olağan yolu, yönlendirilmiş bir grafik / geçişsiz ilişkidir. Bunu gerçek sayılarla yapmayacağınız konusunda haklısınız.
Joren

5
@ Byte56: Çok hoş bir şekilde sunulmadığını kabul etsem de, arkasında gizli olan soru ilginç olmaya devam ediyor: cevaplarda ifade edildiği gibi, taş-kağıt-makas gibi genel bir şekilde 3 yönlü bir dövüş sisteminin nasıl modüle edileceği altında. -1 değerinde değil, imho.
Jesse Emond

@JesseEmond Aşağıdaki bir cevapta *. Sorun çok basit, cevap üzerine yorum yaptığım gibi, sadece taş-kağıt-makas mekaniği olarak gizlenmiş çeşitli zırhlar ve saldırı türleri. Sağlanan formül çok temiz olmasına rağmen.
Markus von Broady

Yanıtlar:


38

Oyununuz geçişsiz bir oyundur . Taş-kağıt-makas mantığını kullanarak 3 istatistik R , P ve S ile uygulayabilirsiniz . Bu istatistikleri ne istersen ara, ama ben RPS mantığına bağlı kalacağım.

Şimdi R1 / P1 / S1 ve R2 / P2 / S2 istatistiklerine sahip iki kahramanınız olduğunu varsayalım. Birbirlerine ne kadar zarar vereceklerini hesaplamamız gerekiyor.

Kayaların makaslara zarar vermesini istiyorsun. Kahraman 2'ye araçlar kahraman 1 Fırsatlarımın «kaya» hasar varsa o R1 > 0ve eğer S2 > 0. Çalışan bir formül basitçe min(R1, S2).

Bu bize hemen hasar formüllerini verir:

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)

Gerçek bir örnekle neler olduğunu görelim:

    Hero1  Hero2
R    120     50
S     30    130
P     15     30

İstatistikler göz önüne alındığında, kahraman 1 açıkça bir «rock» tipi ve kahraman 2 açıkça bir «makas» tipidir. Sonuçlar burada:

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

Kesin sonuçlar: 165versus 75. Hero 1, beklendiği gibi kazanır.

Bu formüllerle ilgili birçok eksiklik var, ancak umarım size geçişsiz savaş kurallarının nasıl uygulanacağı hakkında bir fikir verir .


2
+1, basitçe çeşitli saldırı ve zırh türleri olarak tanımlayacağım (zift, temel, fiziksel)
Markus von Broady

1

Her kahraman Melee Combat (M), Dodge (D) ve Wizardry (W) eğitiyor.

Kaçmak yakın dövüş savaşından çok iyi kaçar ve büyülü saldırılar daha az olur.

Her turda, bir kahraman (MD) + (W - 0.5D) 'ye eşit hasar verir (M ve W saldırganın istatistiklerinden, D savunucunun istatistiklerinden.)

Yani bir Savaşçı istatistiklere sahip olabilir:

M: 100, D: 20, G: 0

Bir Rogue istatistiklere sahip olabilir:

M: 30, D: 80, G: 30

Ve bir Sihirbaz aşağıdaki gibi istatistiklere sahip olabilir:

M: 10, D: 10, G: 80

Savaşçı Rogue'a karşı, savaşçı 20 DPS, haydut 30 DPS verir. Avantaj Rogue! Rogue vs. Wizard, haydut 20 DPS, sihirbaz 40 DPS verir. Avantaj Sihirbazı! Sihirbaz ve Savaşçı, sihirbaz 70 DPS, savaşçı 90 DPS verir. Avantaj Savaşçısı!


Bu cevap Sam'in ötesinde hiçbir şey eklemiyor . Ayrıca, haydut en küçük avantaja sahiptir ( diğer ikisine 30 - 20 == 10kıyasla 40 - 20 == 90 - 70 == 20). Elbette bu, haydutların doğal olarak dezavantajlı olduğu anlamına mı geliyor?
Anko

Bu geçişsiz sistemlerin güzelliği, neredeyse otomatik olarak dengelenmeleridir. Dezavantajlı haydutlar, daha az insanın onları oynayacağı ve sihirbazın yenmesi için daha az hedef ve savaşçının yenilmesi için daha az rakip bırakacağı anlamına gelir. Ancak herkes savaşçıyı seçerse: haydutun geri dönüşü.
Marcks Thomas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.