อะไรคือทางเลือกในการลบล้างความเสียหายเพื่อแก้ไขการหยุดชะงักของการต่อสู้?


37

ความเสียหายจากรอยขีดข่วนเป็นช่างเกมโดยที่การโจมตีที่ประสบความสำเร็จจะสร้างความเสียหายน้อยที่สุด มักจะใช้ในระบบการต่อสู้แบบหักลบซึ่งการป้องกันจะถูกลบออกจากความเสียหายที่กระทำโดยผู้โจมตีโดยตรง ดังนั้นเป้าหมายจะได้รับความเสียหายน้อยที่สุดเสมอ

ข้อเสียของระบบดังกล่าวสำหรับฉันอย่างน้อยก็คือมันเป็นแฮ็ค มันต้องใช้สูตรง่ายๆเช่นDamage = Attack - Defenseและเปลี่ยนมันเป็น (เล็กน้อย) Damage = max(Attack - Defense, 1)ที่ซับซ้อนมากขึ้นที่หนึ่ง:

ฉันยังรู้สึกว่ามันเบี่ยงเบนจากทักษะของผู้เล่นในการพัฒนาตัวละคร / ฯลฯ ไม่ว่าพวกเขาจะได้รับโบนัสการป้องกันเท่าใดการโจมตีทุกครั้งจะสร้างความเสียหายเล็กน้อย เหตุใดคุณจึงต้องได้รับการป้องกันที่สูงถ้ามันไม่ได้มีความหมายอะไรเลย?

นอกจากนี้ตอนนี้สนับสนุนการใช้ตัวเลขที่มากขึ้นสำหรับ Hp และความเสียหายดังนั้นความเสียหายจากรอยขีดข่วนนั้นเป็นสิ่งที่ละเลยไม่ได้อย่างแท้จริง ท้ายที่สุดถ้าความเสียหายขั้นต่ำคือ 1 และคุณมีเพียง 10 Hp นั่นก็ยังคงเป็น 10% ของพลังชีวิตของคุณ แม้จะมี 20 Hp นั่นก็คือ 5% และฉันจะหลีกเลี่ยงการใช้ตัวเลขที่มีขนาดใหญ่กว่านี้เว้นแต่จะจำเป็นจริงๆ

อย่างไรก็ตามมีสิ่งหนึ่งที่สำคัญอย่างยิ่งต่อความเสียหายของรอยขีดข่วน: มันแก้ปัญหาการหยุดชะงัก

การหยุดชะงักเกิดขึ้นเมื่อทั้งสองฝ่ายไม่สามารถทำดาเมจกับอีกฝ่ายได้ หากคุณลงทุนทรัพยากรทั้งหมดในการป้องกันและการโจมตีน้อยตัวละครของคุณอาจไม่ได้รับความเสียหาย แต่พวกเขาจะไม่สามารถจัดการได้มากนัก ดังนั้นคุณสามารถเผชิญหน้าได้โดยที่ทั้งสองฝ่ายไม่สามารถทำดาเมจได้ โดยเฉพาะอย่างยิ่งถ้าคุณไม่มีกลไกสุ่มอย่างเช่นเพลงฮิต (ซึ่งฉันก็เกลียด)

อย่างน้อยก็มีความเสียหายจากการขูดขีดใครบางคนก็จะชนะในที่สุด อาจเป็นเพียงหนึ่งเดียวที่มีการโจมตีมากที่สุดของ Hp หรือสูงสุด แต่การต่อสู้จะสิ้นสุดลง

ดังนั้นฉันชอบที่จะมีระบบการต่อสู้ที่จะให้ผลลัพธ์เสมอ แต่ฉันไม่ชอบมีรอยขีดข่วนเสียหาย ทางเลือกของฉันคืออะไร?

ทางเลือกที่ไม่เกี่ยวข้องกับการหมุนหมายเลขสุ่ม ฉันต้องการการต่อสู้ที่จะกำหนด 100% หากการต่อสู้แบบเดียวกันนั้นเกิดขึ้น

หากคุณต้องการข้อมูลเฉพาะเกี่ยวกับการเล่นเกมให้คิดในแง่ของการต่อสู้แบบเทิร์นเบสซึ่งการต่อสู้นั้นเป็นไปโดยอัตโนมัติ (คุณออกแบบกองกำลังของคุณ


8
คุณสามารถทำระบบเกราะที่แย่ลง (ต่อการเผชิญหน้า) เพื่อแก้ปัญหาการหยุดชะงักได้หรือไม่?
Tetrad

1
ฉันขอแนะนำให้คุณดูที่ "รูปแบบการออกแบบของเกมสวม
Exilyth

3
ตำแหน่งผู้ให้การสนับสนุนของ Devil: แทนที่จะบังคับให้ผู้เล่นเล่นด้วยวิธีที่ปลอดภัยของคุณทำไมไม่ให้พวกเขาตัดสินใจว่าพวกเขาต้องการใช้งานสร้างที่โง่ที่สามารถหยุดชะงักได้หรือไม่
Patrick Hughes

3
@PatrickHughes: เพราะฉันเชื่อว่ามันเป็นเกมที่ออกแบบมาไม่ดีเพื่อให้ผู้เล่นสามารถวางตัวเองในตำแหน่งที่ไม่ดีโดยไม่ได้รับการเตือนล่วงหน้า และถึงแม้จะมีการเตือนล่วงหน้าพวกเขาจะต้องสามารถออกไปได้เมื่อพวกเขาเห็นว่ามันเกิดขึ้น หากตัวเลือกการออกแบบตัวละครของพวกเขาไม่สามารถนำกลับมาได้พวกเขาจำเป็นต้องรู้ล่วงหน้าว่าพวกเขาไม่ได้เมาอย่างถาวรด้วยการเลือกตัวเลือกที่ดูเหมือนเป็นความคิดที่ดีในเวลานั้น
Nicol Bolas

1
การรวมกันของrpg-design-patterns.speedykitty.com/doku.php/ ......กับrpg-design-patterns.speedykitty.com/doku.php/pattern:hit_pointsและการขาดการสุ่มทำให้เกิดปัญหาตามที่อธิบายไว้ในคำถาม ปัญหาอาจจะบรรเทาได้โดยใช้rpg-design-patterns.speedykitty.com/doku.php/...หรือrpg-design-patterns.speedykitty.com/doku.php/...
Exilyth

คำตอบ:


41

คุณสามารถใช้ระบบความเมื่อยล้า / ความแข็งแกร่ง เมื่อมีการโจมตีเพิ่มขึ้นเรื่อย ๆ ผู้เล่นจะกลายเป็นผู้เหนื่อยล้ามากขึ้นเรื่อย ๆ ซึ่งหมายความว่าพวกเขาไม่สามารถรักษาระดับการป้องกันที่ดีได้ (แขนเกราะนั้นเริ่มรู้สึกหนักมากหลังจากแกว่งดาบ 50 ครั้ง) เมื่อความเหนื่อยล้าเพิ่มขึ้น ซึ่งหมายความว่าผู้เล่นที่พัฒนาตัวละครที่ดีจะไม่ได้รับความเสียหายในการเผชิญหน้าอย่างรวดเร็ว แต่การต่อสู้ที่ยืดออกไปอีกต่อไปจะส่งผลให้เกิดความเสียหายที่เพิ่มขึ้นเพื่อป้องกันการหยุดชะงัก


21

ดูเหมือนว่าเป็นคำถามปลายเปิด โซลูชัน (ที่ไม่ได้กล่าวถึง) เพื่อป้องกันการหยุดชะงัก:

  • อนุญาตให้ deadlocks เป็นผลลัพธ์ที่ใช้ได้ นี่เป็นวิธีแก้ปัญหาที่คาดหวังน้อยที่สุดหรือโดยทั่วไป ยกตัวอย่างเช่นในเกม RTS นี่อาจเป็นการหยุดยิงที่ไม่สบายใจหรือความขัดแย้งต่ำ แต่สำคัญในความรุนแรง
  • การ จำกัด เวลาโดยอนุญาตให้ผูกได้
  • การ จำกัด เวลาในการตีครั้งแรก / คะแนน / คะแนนหลังจากชนะการ จำกัด
  • อันตรายแบบสุ่มในระบบ (a la bombs ในSuper Smash Bros ) สิ่งนี้จะเปลี่ยนจุดสนใจของสถานการณ์จากการโจมตีเป็นการป้องกัน
  • ปัจจัยภายนอกใด ๆ ที่ทำให้ระบบไม่สมดุล (เช่นเอเจนต์ที่สามที่มีความเสียหายสูงและเกราะต่ำข้อตกลงจากทั้งสองฝ่ายถึง "การดวล" โดยไม่มีเกราะทั้งหมด)
  • การป้องกันลดลงเป็น% (อาจเป็นวิธีที่ง่ายที่สุดตราบใดที่การป้องกันยังต่อยอดอยู่)
  • ทักษะหรือยุทธวิธีที่เปลี่ยนแปลงพลวัตของการเล่นเกม (ตัวเลือกที่ไม่ส่งผลให้เกิดความเสียหายเช่นทักษะ Cloak / Invisibility)
  • หมายถึงการทำดาเมจที่สูงขึ้น (การโจมตีคริติคอลคลาสสิก, โบนัสล่องหน, โบนัสสูง, โบนัสภูมิประเทศ, ความสามารถที่เปลี่ยนพื้นที่สุ่มเป็นลาวา)
  • หมายถึงความเสียหายหรือลดเกราะหรือก่อให้เกิดความเสียหายที่กำหนดเป้าหมายโดยตรงไปยังตัวละครป้องกันสูง (ทักษะที่บุกรุกเกราะในการคำนวณดังนั้นตัวแทนที่มีการป้องกันต่ำกว่าจะได้รับความเสียหายน้อยลง)
  • จำกัด การใช้ไอเท็มหรือทักษะ (เช่นระเบิดพลังความสามารถ แต่การระบายน้ำ) มีประโยชน์เฉพาะในกรณีที่มีเป้าหมายระยะยาวนอกเหนือจากการหยุดชะงักเพื่อความสมดุลในการใช้งานที่ จำกัด
  • จบการต่อสู้เทียม (ตัวเลือก "หนี" แบบคลาสสิก)

7

คุณอาจเพิ่มการสะสมของบาดแผล แน่นอนขวานทองแดงยักษ์จะไม่เจาะเกราะเหล็กหนัก แต่มันจะสร้างความเสียหายทื่อและอาจทำลายกระดูก เช่นเดียวกับกระสุนและเสื้อ

ทุกครั้งที่ตัวละครถูกโจมตีให้แปลงส่วนหนึ่งของการเจาะและสาดความเสียหายเป็นความเสียหายทื่อซึ่งสะสม หลังจากขีด จำกัด บางอย่าง (ขึ้นอยู่กับความอดทนเป็นต้น) ความเสียหายสะสมจะรบกวนทักษะการต่อสู้ของตัวละคร ตัวเลือกบางอย่างที่นี่:

  • เกราะอาจมีประสิทธิภาพน้อยลงเมื่อทำการยิงโดนในส่วนของร่างกายเดียวกัน

  • บาดแผลสำคัญ: ความเสียหายเป็นระยะอ่อนแรงเนื่องจากความเจ็บปวด

  • บาดแผลรุนแรง: การสูญเสียสติในระยะสั้น (ทำให้ตัวละครอ่อนแอมาก)

  • บาดแผลรุนแรง: การสูญเสียสถานะถาวร (ถ้าตัวละครสามารถอยู่รอดได้)

ที่เกี่ยวข้อง: กลไกความเสียหายในป้อมปราการคนแคระ


2
ฉันกำลังจะแนะนำให้ทุกความเสียหาย bludgeoning อาวุธที่ไม่สามารถถูกบล็อกด้วยเกราะ ดาบและมีดสั้นจะมีความสามารถในการกระบองเล็ก ๆ น้อย ๆ แต่ขวานและ maces จะมีประสิทธิภาพมาก
jmegaffin

5

ใช้ความเสียหายประเภทต่าง ๆ ด้วยชุดเกราะที่ป้องกันความเสียหายบางประเภทเท่านั้น ตัวอย่างเช่นความเสียหายจลนศาสตร์ความเสียหายจากกรดความเสียหายจากไฟไหม้และอื่น ๆ ไม่มีเกราะป้องกันความเสียหายแต่ละประเภท

ผู้ใช้สามารถเลเยอร์เกราะเพื่อป้องกันความเสียหายทุกประเภท แต่ไม่สามารถป้องกันความเสียหายได้ทุกประเภทในเวลาเดียวกัน นี่เป็นการใช้กลยุทธ์บางอย่างในการต่อสู้ด้วยเช่นกันซึ่งผู้เล่นจะต้องเปลี่ยนประเภทความเสียหายเพื่อให้ได้ผ่านเกราะหลายชั้น


4

คุณไม่มีสถิติการป้องกันและให้ HP ที่ใหญ่กว่ากับศัตรูที่ใหญ่กว่า ฉันรู้ว่าคุณต้องการหลีกเลี่ยงตัวเลขมโหฬาร แต่ถ้าคุณต้องการเกมแบบเปิดที่กำหนดซึ่งการโจมตีไม่ได้ขึ้นอยู่กับการป้อนข้อมูลของผู้เล่นโดยตรง (ไม่มีโอกาสที่จะเกิดข้อผิดพลาดของมนุษย์ในการโจมตี) สถิติการป้องกันดูเหมือนว่าไม่มีจุดหมาย เช่นกัน

หากคุณกังวลเกี่ยวกับการนำเสนอคุณสามารถแบ่ง HP ออกเป็น Hearts หรือ Health pips EG 100 hp = 1 heart หัวใจเริ่มเป็นสีดำเมื่อตัวละครแพ้ HP แล้วหายไปทั้งหมด ด้วยวิธีดังกล่าวทำให้ผู้เล่นเข้าใจได้ง่ายกว่า 129301239103123hp แต่คุณไม่ต้องกังวลเกี่ยวกับการสร้างสมดุลของสมการเวทย์มนตร์

หากคุณเป็นกังวลเกี่ยวกับความสมจริงคุณสามารถทำให้เป็นภาพเคลื่อนไหวเพื่อให้ดูเหมือนว่าเป้าหมายของการโจมตีประสบความสำเร็จในการปิดกั้นหรือมีรอยขีดข่วนเบา ๆ จนกระทั่งการสังหารเกิดขึ้น


1
" ถ้าคุณต้องการเกมที่มีการกำหนดแบบเลี้ยวซึ่งการโจมตีไม่ได้ขึ้นอยู่กับข้อมูลของผู้เล่นโดยตรง [... ] สถิติการป้องกันก็ดูไร้จุดหมายเช่นกัน " การป้องกันไม่ได้ขึ้นอยู่กับแนวคิดของ "โอกาสต่อการ - นางสาว". มันเหมือนกับการลดความเสียหายใน D&D ไม่ใช่ THAC0 (หรือสิ่งที่พวกเขาเรียกมันว่าสมัยนี้) Defense หมายความว่าการโจมตี 40 ดาเมจสามารถลดลงเป็น 10 ดาเมจถ้าคุณมี 30 ด่าน ฉันไม่เห็นว่ามันจะ "ไร้จุดหมายได้อย่างไร"
Nicol Bolas

1
ฉันรู้ว่าคณิตศาสตร์นั้นแตกต่างกันเล็กน้อย แต่จริงๆแล้วมันไม่ได้มีความแตกต่างกันมากนักในแง่ของการเล่นเกมระหว่างการให้ตัวละครในสัดส่วนที่เหมาะสมกับสุขภาพแทนและความเสียหายจะลดลงตามจำนวนที่แน่นอน ไม่ว่าจะต้องมีวิธีการสร้างความเสียหายให้กับเป้าหมายเสมอ แก้ไข: นั่นคือสมมติว่าไม่มีการโจมตีพิเศษใด ๆ ที่ไม่สนใจการป้องกันหรือการปรับเปลี่ยนการเล่นเกมอื่น ๆ
Lewis Wakeford

การมีสถิติการป้องกันการลบจะให้อะไรมากกว่า Hp (นอกเหนือจากทุกสิ่งที่คุณยกเว้นเช่นการโจมตีพิเศษหรือการดัดแปลง) มันสร้างการแบ่งชั้นระหว่างผู้ใช้ที่เสียหายตลอดเวลาและผู้ใช้ที่มีความเสียหายสูง ตัวละครที่โจมตีหลายครั้ง แต่ด้วยความเสียหายที่ต่ำกว่าจะวิ่งออกมาจากตัวละครที่มีการป้องกันสูงในขณะที่ตัวละครที่สร้างความเสียหายได้ช้าลงจะสร้างความเสียหายได้มากขึ้นเมื่อเวลาผ่านไป เพียง Hit-points จะไม่สร้างการแบ่งเป็นชั้นนี้
Nicol Bolas

4

เพิ่มกลไกการสึกหรอเพื่อการป้องกัน ทำให้การโจมตีทุกครั้งลดการป้องกันของเป้าหมายลงเล็กน้อย

ในที่สุดแม้แต่การโจมตีที่อ่อนแอก็จะทำให้การป้องกันเป้าหมายแย่ลงพอที่จะสร้างความเสียหายจริง


3

หากคุณตกลงกับการก้าวออกจากโลกของจำนวนเต็มและเต็มใจที่จะเพิ่มระบบการลบคุณสามารถใช้อัลกอริทึมการลดความเสียหายจาก Warlords Battlecry III:

damage = attack

while DR > 0:
    usedDR = DR
    if DR > damage
        usedDR = damage
    damage = damage - usedDR * 0.5
    DR = (DR - usedDR) / 2

HP = HP - damage

นี่คือฟังก์ชันที่ทำงานคล้ายกับ pseudocode ด้านบนมาก:

damage(attack, DR) = attack * 2 ^ -(DR/attack)

เมื่อ DR มีขนาดเล็กกว่าการโจมตี (ความเสียหายที่เข้ามา) มันจะทำงานเหมือนกับการโจมตี - k * DR โดยที่ k คือ 0.693 ( ln(2)แน่นอน) เมื่อ DR อยู่ใกล้กับหรือใหญ่แล้วเสียหายที่ได้รับความเสียหายกว่าจะลดลงครึ่งหนึ่งDR/attackครั้ง ตัวอย่างเช่น DR = 30 และการโจมตี = 10 ความเสียหายจะเป็น 1.25 (การโจมตีลดลงครึ่งหนึ่ง 3 ครั้ง)

มันอาจดูซับซ้อนและยากขึ้นสำหรับคนที่จะประเมิน แต่มันแฮ็คฟรีและการเปลี่ยนแปลงของพารามิเตอร์ทั้งสองเกี่ยวข้องกัน หากผู้โจมตีได้รับโบนัสพลังโจมตีหรือผู้พิทักษ์ได้รับหรือสูญเสีย DR ด้วยจำนวนเล็กน้อยความเสียหายที่เกิดขึ้นจะเปลี่ยนไป


1

ใช้ลูกลอย

แม้ว่าคุณจะแสดง HP จำนวนเต็มให้กับผู้เล่นให้ใช้ float สำหรับ hp และ float เพื่อรับความเสียหาย

ตอนนี้ฉันใช้คลาสเกราะแบบเศษส่วนซึ่งเกราะ 1.0 จะเปลี่ยนแปลงไม่ได้และเกราะที่ 0.0 หมายถึง "รับความเสียหายเต็มที่" ความเสียหายลดลงเมื่อ:

float hpReduction = hp - dmg*(1.f - armor) ;

สูตรนี้มีผลต่อการอนุญาต "ความเสียหายสองเท่า" โดยการตั้งค่าเกราะเป็น -1

ฉันมีความเสียหายทั้งหมดไว้เป็นหมวดหมู่เช่นกันดูตาร์คราฟของหวั่นไหว / ระเบิดประเภทความเสียหายหรืออีฟระบบการพิมพ์ความเสียหายเช่น

ดังนั้นตอนนี้รอยขีดข่วนเล็กน้อยที่เกราะระดับ 0.99 ของคุณจะทำให้ Cherry Tapคุณตาย แต่การโจมตีจะไม่สร้างความเสียหายให้กับผู้เล่น การโจมตีครั้งต่อไป .. )


0

กราฟทักษะอาจทำให้ทักษะการจัดการความเสียหายเป็นสิ่งที่จำเป็นสำหรับทักษะการป้องกันในระดับที่สูงขึ้นเพื่อลดความสามารถของผู้เล่นในการสร้างงานที่ไม่สมดุล

การโจมตีแบบคริติคอลสามารถสร้างความเสียหายได้ตราบใดที่การป้องกันของคนนั้นไม่สูงอย่างน่าหัวเราะ หากคุณทำให้มันเป็นระยะแทนที่จะสุ่มคุณยังคงมีการต่อสู้ที่กำหนดขึ้น

หลังจากการโจมตีไม่สำเร็จจำนวนหนึ่งคุณอาจลดความเร็วในการโจมตีโดยอัตโนมัติเพื่อให้โอกาสการโจมตีและความเสียหายที่สูงขึ้นโดยอัตโนมัติ ตัวละครรอยขีดข่วนที่เร็วที่สุดของคุณทำการโจมตีสิบครั้งต่อวินาที ตอนนี้หลังจากการโจมตี 15 ครั้งที่ไม่ได้ทำดาเมจจะได้รับการโจมตีสามครั้งต่อวินาทีที่ +50% เพื่อโจมตีและสร้างความเสียหาย 200% สิ่งนี้คล้ายกับเพลงฮิต แต่มันเร็วกว่าสำหรับสถานการณ์แบบนี้

คุณสามารถใช้เปอร์เซ็นต์การลดความเสียหายจากเกราะ แต่เพื่อให้น่าสนใจยิ่งกว่าวิธีอื่น ๆ ในการลดค่า HP สูงสุดของคุณคุณสามารถให้เปอร์เซ็นต์การลดลงนั้นยิ่งใหญ่สำหรับผู้ที่อ่อนแอกว่า ตัวอย่างเช่นการลด 90% สำหรับความเสียหาย 1-20hp, 60% สำหรับ 20-30 และ 30% สำหรับทุกอย่างอื่น

สุดท้ายไม่ต้องกังวลกับจำนวนมาก พวกมันให้ระดับการควบคุมที่ดีกว่าของคุณเล็กน้อย การมีตัวละครเลเวล 1 เริ่มต้นด้วยพลังชีวิต 100 คะแนนหมายความว่าคุณสามารถมีบางสิ่งที่ฆ่าพวกเขาได้ในเจ็ดครั้ง แต่ไม่ใช่ห้า หมายความว่าคุณสามารถได้รับความเสียหายจากพิษและความเสียหายอื่น ๆ เมื่อเวลาผ่านไปซึ่งจะไม่ทำลายล้างอย่างรุนแรง (เช่นเดียวกับที่คุณชอบ) หากคุณไม่ชอบแสดงตัวเลขขนาดใหญ่ค้นหาวิธีที่จะไม่แสดง


0

คุณบอกว่าคุณต้องการให้มีการลงมติเสมอ แต่นั่นจะต้องเป็นชัยชนะหรือไม่?

พิจารณาแนวทางที่ใช้โดยDominions - เมื่อครบ 50 ผู้โจมตีจะทำการเปลี่ยนเส้นทางโดยอัตโนมัติ ในการเปิด 75 กองหลังจะพ่ายแพ้อัตโนมัติ (รูทีนไม่ทำงานโดยอัตโนมัติ - บางหน่วยมีภูมิคุ้มกันต่อการกำหนดเส้นทางและแม้ว่ายูนิตที่ไม่สามารถเคลื่อนที่ได้จะไม่สามารถออกจากที่อื่นได้) ในเทิร์น 100 ทุกสิ่งที่เหลือจะถูกฆ่า

ในขณะที่ฉันไม่เห็นด้วยกับวิธีที่แน่นอนฟังก์ชั่น (มีสถานการณ์ที่มันใช้เวลานานเกินไปที่จะฆ่าอีกด้าน) แนวคิดพื้นฐานยังคงใช้ได้

สิ่งที่ฉันอยากจะแนะนำ:

ดูที่การวัดพลังของแต่ละด้าน (Hit points เป็นจุดเริ่มต้นที่ชัดเจน แต่ควรระวังDominionsมีปัญหาในเรื่องนี้เมื่อนับจำนวน "การสูญเสีย" ที่ไม่มีความหมายนับจากการตี - การเปลี่ยนรูปร่างการอัญเชิญการอัญเชิญ ฯลฯ ส่งผลให้กองทัพได้รับบาดเจ็บเนื่องจากไม่ได้รับบาดเจ็บ ไม่ต้องทำอะไรเลย) ติดตามถึงค่าต่ำสุดและสังเกตว่ามีกี่รอบนับตั้งแต่มีการตั้งค่าขั้นต่ำใหม่ หากมันใช้เวลานานเกินไปหากไม่มีการตั้งค่าขั้นต่ำใหม่คุณจะต้องหยุดชะงักบางชนิดและผู้โจมตีควรล่าถอย


0

อีกทางเลือกหนึ่งที่ฉันยังไม่เห็นคือค่าเกราะของคุณทำให้การโจมตีติดลบคุณสามารถเพิ่ม RNG เล็กน้อยสำหรับบล็อกจริง:

const stratchDamage = 1;
var armour = 10; 
var blockCount = 0;

function registerAttack (incomingAttack)
{
    var incomingDamage = incomingAttack - armour;

    // Nothing unusual, deal damage
    if( incomingDamage > 0 ) 
    {
        dealDamage(incomingDamage);
    } 

    // Armour cancels out attack, deal scratch damage
    else if( incomingDamage == 0 ) 
    {
        dealDamage(scratchDamage);
    }

    // Armour over attack value, check if can block
    else
    {
        var trueBlockChance = armour - incomingDamage;

        // blockCount starts at 0, will always block first attack
        if( trueBlockChance  > blockCount ) 
        {
            // Can technically do nothing, or trigger block animations etc
            block();
            blockCount ++; // Increment block so they can't block forever
        }
        else
        {
            dealDamage(stratchDamage);
            blockCount = 0;
        }
    }
}

เมื่อพิจารณาถึงการขาดดุลของความเสียหายที่มากขึ้นหลังจากที่เกราะได้รับการโจมตีมากขึ้นตัวละครสามารถบล็อกก่อนที่จะได้รับความเสียหายจากรอยขีดข่วนอีกครั้ง

นี่เป็นการเพิ่มสเกลเล็กน้อยสำหรับสถิติการป้องกันในขณะที่ไม่ทำให้พวกเขาปลอดภัย แต่ยังช่วยให้การโจมตีผ่านช่างบล็อกนี้หากคุณต้องการให้พวกเขาทำและป้องกันการหยุดชะงักโดยธรรมชาติ

การต่อสู้อาจใช้เวลานานถ้าคุณมีสถิติสแต็คในการป้องกันของคุณมากกว่าการกระทำผิดกฎหมาย แต่มันจะไปถึงที่นั่นในที่สุด


อ้างจาก OP: ฉันต้องการการต่อสู้ที่จะกำหนด 100% สิ่งนี้ไม่อนุญาตสำหรับการต่อสู้ที่กำหนดขึ้น 100%
Charanor

จากนั้นบล็อกก็สามารถหมุนได้เช่นกันสำหรับแต่ละระดับของ TrueBlock ในการโจมตีศัตรูจะต้องโจมตีหลายครั้งเพื่อให้เกิดความเสียหายกับรอยขีดข่วน แนวคิดเดียวกันสามารถนำไปใช้
Tom 'Blue' Piddock

@ Charanor - ปรับคำตอบให้เป็น 100% deterministic
Tom 'Blue' Piddock

-1

เกมต่อสู้ 3 มิติจำนวนมากหลีกเลี่ยงความเสียหายจากรอยขีดข่วน ตัวอย่างคือ Tekken และ Soul Calibur 2 พวกเขาหลีกเลี่ยงสิ่งนี้โดยทำให้ยากต่อการป้องกันที่สมบูรณ์แบบ การโจมตีบางอย่างรวดเร็วเกินไปที่จะตอบสนอง ฉันคิดว่ามันเป็นทางออกที่ดีงาม


-1

ฉันคิดว่าการลดประสิทธิภาพของการป้องกันไม่ใช่ทางเลือกที่ดี การลดผู้เล่นทำให้เกิดประสบการณ์เกมที่ไม่ดี ทำไมไม่ลองอีกทางหนึ่งล่ะ?

ทำไมไม่เพิ่มพลังให้กับการโจมตีเมื่อเวลาผ่านไป สิ่งนี้ทำให้ความเสียหายของรอยขีดข่วนเพิ่มขึ้นตามกาลเวลาลดแรงจูงใจในการปิดกั้น ในช่วงกลางเกมตัวละครสามารถฆ่าคนอื่นได้ในขณะที่เขาคร่ำครวญขณะที่เขาปกป้อง

pnp rpgs บางตัวใช้ "กลไกความตึง" ความตึงเครียดในแต่ละเทิร์นจะเพิ่มขึ้นทีละหนึ่ง ทุกม้วนมีตัวปรับแต่งเพิ่มเติมของค่าความตึงผลักการต่อสู้ไปยังจุดสิ้นสุด

อีกแนวคิดหนึ่งที่มาจากเกมต่อสู้คือการโจมตีที่ต้องผ่านการป้องกัน ฉันไม่รู้ว่าเกมของคุณเป็นแบบเปิดหรือแบบเรียลไทม์ แต่การโจมตีนี้สามารถเปิดคู่ต่อสู้เพื่อคอมโบหรือปิดการใช้งานเขาหรือความสามารถบางส่วนของเขาชั่วคราว

ฉันเชื่อว่าเคล็ดลับไม่ได้เป็นการเพิ่มพลังป้องกัน เลือกตัวเลือกอื่น ๆ เช่นเดียวกับการป้องกันหรือลดเวลาในการป้องกันที่เป็นตัวเลือกที่ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.