ในขณะที่ฉันเห็นด้วยกับย่อหน้าเปิดของ DampeS8N (เช่นเกม AI ต้องฉลาดพอที่จะทำให้ผู้เล่นคิดว่ามันฉลาด) ฉันรู้สึกว่าคำถามนี้ต้องการรายละเอียดเพิ่มเติมเล็กน้อย โครงสร้างข้อมูลที่ใช้งานอาจเป็น FSM สำหรับทุกระดับ แต่ไม่ได้ตอบคำถามว่าระบบแต่ละระบบทำงานอย่างไร
ข้อจำกัดความรับผิดชอบ: ฉันเล่นเกมอารยธรรมแทบจะไม่ดังนั้นความเข้าใจในการเล่นเกมจึงมี จำกัด หากมีข้อผิดพลาดที่ชัดเจนฉันขอโทษ โปรดแก้ไขฉันและฉันยินดีจะแก้ไข
ฉันจะได้รับราคาจากต้นฉบับบทความจีเอ็น
1. ยุทธวิธี AI
ในระดับต่ำสุด AI ยุทธวิธีใช้กองกำลังใกล้จะชนะการต่อสู้ในระดับท้องถิ่น
นี่อาจเป็นส่วนมาตรฐานที่สุดของระบบย่อย มีวิธีที่ไม่ จำกัด ในการดำเนินการสิ่งนี้จากการใช้ FSMs ต้นไม้พฤติกรรม (หรือแม้แต่การกระทำแบบสุ่มขึ้นอยู่กับความยากลำบากของ AI)
อย่างไรก็ตามเนื่องจากเกมนี้เป็นเกมเทิร์นเบสซึ่งคล้ายกับความเสี่ยงฉันจึงคิดว่าสิ่งที่น่าจะเกิดขึ้นคือแต่ละหน่วยจะได้รับคะแนน จากนั้นจะมีตัวทวีคูณแนบกับคะแนนนี้ขึ้นอยู่กับตัวแปรที่แตกต่างกัน (ความจงรักภักดี, โบนัสภูมิประเทศ ฯลฯ )
ผลลัพธ์จะถูกคำนวณโดยบางสิ่งเช่นนี้:
If (AI unit score >> (much greater) enemy unit score) Then Completely destroy enemy unit
If (AI unit score > (somewhat greater) enemy unit score) Then Partially destroy enemy unit
If (AI unit score < (somewhat less) enemy unit score) Then Partially destroy AI unit
If (AI unit score << (much less) enemy unit score) Then Completely destroy AI unit
มันสมเหตุสมผลที่ AI จะพยายามและเพิ่มคะแนนนี้เมื่ออยู่ในการต่อสู้
เพิ่มค่า epsilon (เช่นโอกาสสุ่มล้มเหลว / ความสำเร็จเล็กน้อย) และคุณมี AI ที่ดูดี (ไม่มีใครต้องการคู่ต่อสู้ที่สมบูรณ์แบบนั่นไม่ใช่เรื่องสนุก!)
2. ปฏิบัติการ AI
ขั้นตอนเดียวจากนั้น AI ปฏิบัติงานจะเลือกการต่อสู้ที่จะต่อสู้และทำให้แน่ใจว่ามีกองกำลังที่จำเป็น
ฉันคิดว่ามีสองประเด็นในเรื่องนี้:
- การประเมินความแข็งแกร่งในปัจจุบัน
- การเสริมกำลังของยูนิต
- การประเมินว่าจะต่อสู้เพื่อเลือก / หลีกเลี่ยง
การประเมินความแข็งแกร่งปัจจุบัน - เพียงแค่กรีดร้องแผนที่ที่มีอิทธิพลต่อฉัน มันสามารถแสดงได้อย่างง่ายดายบนตารางฐานสิบหก เนื่องจากระบบย่อยนี้เน้นการต่อสู้ค่าอิทธิพลสามารถเป็นตัวแทนของค่าความแข็งแรงของแต่ละหน่วยในพื้นที่ หากคุณมีกองทัพขนาดใหญ่ที่มุ่งเน้นไปที่พื้นที่หกเหลี่ยมขนาดเล็กค่าอิทธิพลจะมีขนาดใหญ่มากและ AI ที่ปฏิบัติงานจะคำนึงถึงเรื่องนี้เมื่อประเมินการต่อสู้ที่จะเลือก อย่าลืมค่าอิทธิพลของกองทัพฝ่ายตรงข้ามก็จะถูกคำนวณเช่นกัน สิ่งนี้ช่วยให้ AI ในการปฏิบัติงานสามารถทำนายภัยคุกคามที่อาจเกิดขึ้นได้
การเสริมกำลังของหน่วย - โดยการรับข้อมูลเกี่ยวกับฝ่ายตรงข้ามจากแผนที่อิทธิพล AI สามารถกำหนดหน่วยที่อยู่ภายใต้การคุกคามมากที่สุด AI จะสามารถออกคำสั่งไปยังหน่วยใกล้เพื่อไปเสริมกำลังฝ่ายที่ถูกคุกคาม
การประเมินว่าจะต่อสู้เพื่อเลือก / หลีกเลี่ยง - สถานการณ์บางอย่างสามารถเกิดขึ้นได้ที่นี่ หาก AI ตรวจพบหน่วยกำลังถูกคุกคามและไม่มีหน่วยใกล้เคียงที่จะช่วยได้) ตัดสินใจที่จะเสียสละหน่วย (ถ้าพวกเขาเป็นทหารราบที่ต่ำต้อยแทนที่จะเป็นนายพลที่ไม่สามารถถูกแทนที่ได้) หรือ b) สั่งหน่วย เพื่อล่าถอย ในทางกลับกันหาก AI ตรวจพบยูนิตศัตรูที่อ่อนแอใกล้กับกองทัพ
นี่คือกระดาษที่ดีที่ใช้ประโยชน์จากแผนที่มีอิทธิพลในเกม Real Time Strategy
3. กลยุทธ์ AI
การเคลื่อนไหวยิ่งสูงขึ้น AI เชิงกลยุทธ์จะจัดการอาณาจักรโดยรวมโดยมุ่งเน้นที่การสร้างเมืองและสิ่งที่จะทำกับพวกเขา
"ฉันจะสร้างเมืองได้ที่ไหน" ฟังดูเหมือนการประเมินตำแหน่ง โปรแกรมหมากรุกและเกมอื่นใช้เพื่อกำหนดความต้องการของตำแหน่งที่กำหนด ตัวอย่างเช่น:
Hex A: ใกล้กับทรัพยากร, บนพื้นที่สูง, ใกล้กับพันธมิตร, ใกล้กับศัตรู Hex B: ห่างไกลจากแหล่งข้อมูล, ในภูมิประเทศระดับกลาง, ระยะทางปานกลางจากพันธมิตร, ห่างจากศัตรู
ฟังก์ชันการประเมินตำแหน่งสามารถใช้ปัจจัยสามประการดังนี้:
Score = Proximity to resources (closer yields a higher score) +
terrain elevation (higher yields higher score) +
proximity to allies (closer is better) +
proximity to enemies (farther is better)
และรูปหกเหลี่ยมใดที่มีคะแนนสูงกว่าจะเป็นที่ที่เมืองถูกสร้างขึ้น ข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชั่นการประเมินผลสามารถพบได้ที่นี่
ฉันคิดว่า AI เชิงกลยุทธ์ยังมีกลยุทธ์หลอก prebaked ในเกมขึ้นอยู่กับประเภทของชัยชนะที่ AI กำลังทำอยู่
4. กลยุทธ์เชิงกลยุทธ์ระดับสูง
ที่ด้านบนสุดของบันไดคือกลยุทธ์ที่ยิ่งใหญ่ของ AI ซึ่งจะตัดสินว่าจะชนะเกมได้อย่างไร
ฉันคิดว่านี่น่าจะเป็นพวงที่ง่ายที่สุดและให้ความประทับใจว่ามันน่าประทับใจกว่าที่เป็นจริง ในเกมเช่นนี้จะมีจำนวนชัยชนะเพียงเล็กน้อยเท่านั้น บทความกล่าวถึงชัยชนะพิชิตโดยสมมติว่ามีชัยชนะของพันธมิตร ฯลฯ มันอาจจะง่ายเหมือนการสุ่มเลือกประเภทใดประเภทหนึ่งแล้วส่งผ่านไปยังระบบอื่น
แก้ไข: แน่นอนตาม DampeS8N ประเภทของแผนที่สามารถกำหนดเงื่อนไขชัยชนะที่ดีที่สุดที่จะไปซึ่งในกรณีนี้มันอาจเป็น hardcoded โดยนักออกแบบหรือฟังก์ชั่นการประเมินผลการเรียงลำดับตัวแปรในตัวแปรที่แตกต่างกัน
สรุป
ฉันคิดว่าสิ่งที่สำคัญจริง ๆ ที่ควรทราบเกี่ยวกับระบบประเภทนี้คือวิธีการที่ระบบย่อยมีเลเยอร์พวกเขาไม่จำเป็นต้องสื่อสารกันอย่างมากกับแต่ละคน ดูเหมือนว่าจะเป็นสถาปัตยกรรมจากบนลงล่างที่มีการผสมผสานขององค์ประกอบต่างๆอย่างหลวม ๆ จากการออกแบบทางเทคนิคจุดที่ดูสะอาดและมีความยืดหยุ่นและอาจจะใช้แรงบันดาลใจจากพฤติกรรมฉุกเฉินและ / หรือSubsumption สถาปัตยกรรม
ฉันขอโทษจริงๆสำหรับความยาวของโพสต์นี้มันกลายเป็นสัตว์ร้าย :(
ฉันหวังว่ามันจะช่วยได้!