Saya mencoba merancang game untuk proyek yang saya miliki, ide utamanya adalah:
3 Jenis pahlawan
3 Statistik per pahlawan
Tidak ada level yang terlibat sehingga perbedaannya harus terletak pada statistik.
Fight logic - Logika pertarungan adalah type1hero memiliki peluang bagus untuk menang type2hero, type2hero memiliki peluang bagus type3hero dan type3hero memiliki peluang bagus untuk menang type1hero.
Selama lebih dari seminggu saya mencoba untuk menemukan formula berdasarkan statistik yang akan memungkinkan saya untuk memperbaikinya tetapi saya tidak bisa, saya mencampuri angka kemarin dan itu layak tetapi saya tidak bisa mengekstrak formula itu.
Bisakah Anda membimbing saya atau memberi saya petunjuk tentang bagaimana saya harus mulai membuat formula pada game Non lvl yang memenuhi logika pertarungan?
sumber
x > y ∧ z > x ∧ y > z
setidaknya tidak dalam matematika dasar yang saya tahu dan gunakan.Jawaban:
Game Anda adalah game yang tidak transitif . Anda dapat menerapkannya dengan 3 statistik R , P dan S , menggunakan logika rock-paper-scissors. Sebut statistik ini apa pun yang Anda inginkan, tetapi saya akan tetap menggunakan logika RPS.
Sekarang anggaplah Anda memiliki dua pahlawan, dengan statistik R1 / P1 / S1 dan R2 / P2 / S2. Kita perlu menghitung berapa banyak kerusakan yang akan mereka lakukan satu sama lain.
Anda ingin batu memberikan kerusakan pada gunting. Itu berarti hero 1 memberikan «rock» damage ke hero 2 jika
R1 > 0
dan jikaS2 > 0
. Salah satu formula yang berhasil adalah sederhanamin(R1, S2)
.Yang segera memberi kita rumus kerusakan:
Mari kita lihat apa yang terjadi dengan contoh nyata:
Mengingat statistik, pahlawan 1 jelas merupakan tipe «batu» dan pahlawan 2 jelas merupakan tipe «gunting». Inilah hasilnya:
Hasil akhir:
165
versus75
. Pahlawan 1 menang, seperti yang diharapkan.Ada banyak kekurangan dengan formula ini, tapi saya harap mereka memberi Anda ide tentang bagaimana menerapkan aturan tempur intransitif .
sumber
Setiap pahlawan berlatih di Melee Combat (M), Dodge (D), dan Wizardry (W).
Menghindar menghindari pertarungan jarak dekat dengan sangat baik, dan serangan sihir kurang baik.
Setiap putaran, seorang pahlawan memberikan damage yang sama dengan (MD) + (W - 0.5D) (M dan W berasal dari statistik penyerang, D berasal dari statistik pembela.)
Jadi seorang Prajurit mungkin memiliki statistik:
M: 100, D: 20, W: 0
Nakal bisa memiliki statistik:
M: 30, D: 80, W: 30
Dan seorang Wizard mungkin memiliki statistik seperti:
M: 10, D: 10, W: 80
Warrior vs Rogue, the warrior memberikan 20 DPS, sedangkan the rogue memberikan 30 DPS. Keuntungan Rogue! Rogue vs. Wizard, si bajingan menangani 20 DPS, sementara si penyihir menangani 40 DPS. Wisaya Keuntungan! Wizard vs Warrior, wizard memberikan 70 DPS, sedangkan warrior memberikan 90 DPS. Prajurit Keuntungan!
sumber
30 - 20 == 10
dibandingkan dengan40 - 20 == 90 - 70 == 20
dua lainnya). Tentunya ini berarti bajingan secara inheren dirugikan?