สิ่งที่สามารถทำได้เพื่อปรับปรุง AI เกมกลยุทธ์เรียลไทม์ที่ดีที่สุด?


12

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

ยังคงคำถามคือสิ่งที่จะต้องทำเพื่อปรับปรุงเกี่ยวกับเรื่องนี้เพื่อให้ได้ AI ที่ดีที่สุด นอกจากนี้หากคุณมีตัวอย่างของเกมที่ใช้ฟีเจอร์บางอย่างมันจะยอดเยี่ยมมาก

แก้ไข:มีคำอธิบายเล็กน้อยที่ฉันสามารถให้สำหรับผู้ที่ยังไม่ได้อ่านชื่อเรื่องหรือวรรคสองสามอธิบายถึงปัญหา นี่คือเกมกลยุทธ์แบบเรียลไทม์และ AI ขั้นสุดยอด นั่นหมายถึง Strarcraft, Warcraft, Generals, Red Alert, Age of Empires, AI War ฯลฯ เกมที่มีระดับความยากมากกว่าหนึ่งระดับ แต่การมุ่งเน้นที่นี่คือความท้าทายขั้นสูงสุด

tenpn มีโพสต์ที่ยอดเยี่ยมที่เต็มไปด้วยทรัพยากรที่ดีเยี่ยม ขอบคุณ tenpn! ฉันหวังว่าผู้คนจำนวนมากจะมีส่วนร่วมในทิศทางนั้น


6
คำถามนี้ไม่สมเหตุสมผลหากไม่มีกรณีเฉพาะ เกมทุกเกมมีวิธีการใช้ AI ที่แตกต่างกันขึ้นอยู่กับกลไกของเกมที่เกี่ยวข้องและ 'วิธีการปรับปรุงเกม' จะแตกต่างกันอย่างมาก อย่างน้อยที่สุดสิ่งนี้ควรเป็น Community Wiki เนื่องจากไม่มีคำตอบ 'ถูก' ที่นี่
MrCranky

2
เพิ่มเติมจากอดีต: พิจารณาว่าหมากรุกเป็นเกมที่ใช้กลยุทธ์
Rushyo

1
ทำไมคุณต้องการที่จะ? การทำ AI ที่สมบูรณ์แบบสำหรับเกมของ Pong นั้นเป็นเรื่องเล็กน้อยและไม่สนุกกับการเล่น เป้าหมายของเกม AI คือการไม่เอาชนะผู้เล่นเนื่องจากเป็นผู้เล่น (ไม่ใช่คอมพิวเตอร์) ที่น่าจะสนุก
Ian Schreiber

1
เอียน: OP พูดถึงบางสิ่งที่แตกต่างจากโป่ง มันง่ายที่จะสร้าง AI AI Pong ที่เหนือชั้นหรือ Tic-Tac-Toe AI หมากรุกสามารถนำไปใช้กับ AI ที่มีเพียงสิ่งที่ดีมากที่สุดและดีที่สุดเท่านั้นที่สามารถเอาชนะได้ แต่ RTS เป็น ballgame ที่แตกต่างกัน
คอมมิวนิสต์คอมมิวนิสต์

2
คุณอาจสนใจใช้อัลกอริทึมSTRIPS
user712092

คำตอบ:


12

เป็นคำถามที่ตอบยาก ในการระบุว่าต้องปรับปรุงอะไรบ้างคุณต้องมี AI ที่เป็นที่รู้จักเพื่อทำงาน อย่างไรก็ตามนี่คือตัวอย่างของ RTS AI จาก aigamedev.com (ต้องลงทะเบียน):

น่าเสียดายที่สิ่งที่ดีที่สุดส่วนใหญ่อยู่เบื้องหลังการจ่ายเงิน

วิธีแก้ปัญหา AI ทั่วไปคือผู้วางแผนปฏิบัติการที่มุ่งเน้นเป้าหมายซึ่งใช้กฎเพื่อจัดทำแผนเพื่อระบุเป้าหมาย มันผ่านมาซักพักแล้ว แต่ก็เท่ห์มาก มีภาพรวมสั้น ๆ (pdf) ที่มีอยู่ในเว็บไซต์ของ Jeff Orkin เกี่ยวกับวิธีการนำไปใช้กับ FPS แต่หลักการเดียวกัน (ที่มีกฎและเป้าหมายแตกต่างกัน) ทำงานให้กับ RTS

RTSs หลายแห่งจะใช้ทายาทของ GOAP ที่มีระดับที่แตกต่างกันเพื่อรับเป้าหมายจากระดับที่สูงกว่าและเกี่ยวข้องกับรายละเอียดในระดับต่าง ๆ ของสนามรบ ฉันอ่านบทความยอดเยี่ยมเกี่ยวกับ AI ของ wargame hex WWII บางส่วนที่มีโครงสร้างเช่นนี้ แต่สำหรับทั้งหมดที่เป็น google ฉันไม่สามารถหาลิงก์ได้ในขณะนี้ โกลด์สตาร์สำหรับทุกคนที่สามารถช่วยเหลือฉันได้

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

เทคโนโลยีทั่วไปอื่น ๆ รวมถึงสถาปัตยกรรมยูทิลิตี้ (pdf) สำหรับการให้คะแนนและลำดับความสำคัญและกระดานดำสำหรับการแยกวิเคราะห์โลกของเกม


6

ประเด็นก็คือถ้าคุณมี AI

ที่สามารถเอาชนะมนุษย์คนใดก็ได้โดยไม่ต้องโกงทรัพยากรในเกมวางแผนแบบเรียลไทม์

จากนั้นคุณมีเกมที่จะไม่มีใครเล่นเพราะพวกเขาไม่สามารถผ่านด่านแรกได้

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

ดังนั้นจึงไม่เกี่ยวกับการสร้าง AI ที่ซับซ้อน (ซึ่งไม่ยากเลย AI สามารถประมวลผลทุกอย่างภายในพื้นที่เล่นพร้อมกันในขณะที่ผู้เล่นสามารถประมวลผลสิ่งที่อยู่บนหน้าจอเท่านั้น) แต่เกี่ยวกับการสร้างเกมที่สมดุล


1
ในการชี้แจงการสร้าง AI ที่สามารถเอาชนะมนุษย์ใด ๆ นั้นไม่ใช่เรื่องยากเนื่องจาก AI สามารถควบคุมหน่วยของตนด้วยความละเอียดที่ดีกว่าที่มนุษย์คาดหวัง (เนื่องจากข้อ จำกัด ของ UI) มนุษย์ใช้เวลาไม่กี่วินาทีในการตอบสนองต่อเหตุการณ์เลือกและสั่งการหน่วยในขณะที่ AI สามารถอัปเดตคำสั่งสำหรับทุกยูนิตทีละตัวในแต่ละ 'รอบเกม' เพื่อตอบสนองต่อเหตุการณ์ใด ๆ แต่ในทางปฏิบัติสิ่งนี้ไม่ได้ทำเพราะมันจะทำให้เกมน่าเบื่อ ส่วนที่ยากจริงๆคือการทำให้ AI นั้นฉลาดพอที่จะเอาชนะได้
Skizz

3
เพื่อชี้แจงความกระจ่าง - การทำ AI ที่ไม่สามารถเอาชนะได้นั้นไม่ใช่เรื่องยาก การทำให้เอไอที่สามารถเอาชนะได้ท้าทายและมีส่วนร่วมนั้นทำได้ยากและยากกว่ามาก
Skizz

3

สามารถทำอะไรได้มากมาย แต่ปฏิกิริยาตอบสนองของฉันต่อคำถามนี้คือคำถามตอบโต้: ทำไมทุกคนถึงต้องการ RTS AI ขั้นสุดท้าย แล้วทำไมคนนี้ถึงไม่เล่นออนไลน์กับคู่ต่อสู้คนอื่นล่ะ

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

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


1

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

ใน RTS คุณกำลังดูชุดของค่าที่สามารถจัดเรียงอย่างเหมาะสม คุณรู้แน่ชัดว่าต้องใช้เวลานานแค่ไหนในการรับทรัพยากร, ค่าใช้จ่ายในการสร้างไอเท็ม, เวลาในการสำรวจเส้นทาง ฯลฯ

หากคุณเป็นผู้สร้างตารางและมีข้อมูลที่พร้อมให้คุณเป็นเรื่องของตัวเลขที่กระทืบข้อมูลเพื่อค้นหาอัตราส่วนที่ดีที่สุดสำหรับผลลัพธ์

แต่มันสนุกแค่ไหนที่ได้เล่นกับศัตรูที่ทำสิ่งเดียวกันตามบริบทของสนามแข่งขันเสมอ?

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

คุณต้องการให้ผู้เล่นรู้สึกถึงความพึงพอใจในการเผชิญหน้ากับคู่ต่อสู้ที่ท้าทายแทนที่จะตี AI ที่อ่อนแอหรือถูกสังหารโดย Hal9000 ความสมบูรณ์แบบของฝ่ายตรงข้าม CPU อยู่ในความไม่สมบูรณ์ของมัน :)


2
และแตกต่างกัน แต่เกี่ยวข้องกัน: มันดีถ้า AI ทำสิ่งที่ไม่ใช่ตัวเลือกที่ดีที่สุดในทางเทคนิค แต่เพิ่มความสนุกเล็กน้อยให้กับเกมเช่นการใช้ยูนิตที่ผิดปกติหรือการเคลื่อนไหว (เช่นกองกำลัง airdropping ที่ด้านหลังของฐานผู้เล่น )
Bart van Heukelom

0

สิ่งสำคัญคือคุณต้องติดตามการพัฒนาเชิงกลยุทธ์ของเกม จำนวนการพัฒนาจะไม่ทำให้ AI ชนะการแข่งขัน Starcraft 1 (ในการเล่นที่ยุติธรรม) หากคิดว่ากองทัพหลักของนาวิกโยธินเป็นวิธีการเล่นเกม Terran vs Terran

สิ่งนี้ไม่เพียง แต่จะป้องกันไม่ให้ AI พ่ายแพ้อย่างต่อเนื่องเนื่องจากการเลือกใช้กลยุทธ์ที่ล้าสมัย แต่การมีแนวทางการเล่นเกมที่มากขึ้นจะทำให้ AI นั้นน่าสนใจยิ่งขึ้นหาก AI นั้นมีตัวเลือกที่ใช้ได้ตลอดทาง

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

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