ฉันกำลังออกแบบเกมวางแผนกลยุทธ์การต่อสู้กับกองยานอวกาศ 3D-6DOF ซึ่งเป็นเครือข่ายซึ่งอาศัยการปรับแต่งเรือเป็นอย่างมาก ให้ฉันอธิบายเกมนิดหน่อยเนื่องจากคุณจำเป็นต้องรู้เรื่องนี้บ้างเพื่อตั้งคำถาม
สิ่งที่ฉันตั้งเป้าหมายคือความสามารถในการสร้างกองยานของคุณเองด้วยรูปร่างที่กำหนดเองและโมดูลที่ติดตั้ง (ใบพัด, คานรถแทรกเตอร์ ... ) ซึ่งจะให้ข้อดีและข้อเสียกับเรือแต่ละลำดังนั้นคุณจึงมีการกระจายกองเรือที่แตกต่างกัน เช่นเรือยาวที่มีใบพัดสองใบที่ด้านข้างจะปล่อยให้เรือหมุนไปรอบ ๆ เครื่องบินได้อย่างง่ายดายเรือที่ใหญ่กว่าจะเคลื่อนที่ช้าลงเว้นแต่คุณจะวางใบพัดจำนวนมากไว้ที่ด้านหลัง (ดังนั้นจึงต้องใช้จุดและพลังงานมากขึ้นเมื่อเคลื่อนที่ เคลื่อนที่อย่างรวดเร็วไปในทิศทางนั้น) ฉันวางแผนที่จะรักษาสมดุลของเกมทั้งหมดรอบคุณสมบัตินี้
เกมจะหมุนรอบสองขั้นตอน: คำสั่งซื้อและขั้นตอนการต่อสู้ ในช่วงระยะเวลาการสั่งซื้อคุณสั่งเรือต่าง ๆ เมื่อผู้เล่นทุกคนเสร็จสิ้นขั้นตอนการสั่งซื้อขั้นตอนการต่อสู้จะเริ่มต้นขึ้นและคำสั่งซื้อเรือรบจะได้รับการแก้ไขในแบบเรียลไทม์จากนั้นแอคชั่นจะหยุดและมีคำสั่งใหม่
ปัญหาเกิดขึ้นเมื่อฉันคิดถึงอินพุตของผู้เล่น ในการเคลื่อนย้ายเรือคุณจะต้องเปิดหรือปิดใบพัดต่าง ๆ หากคุณต้องการบังคับเลี้ยวไปข้างหน้าเบรกหมุนไปมา ... ใบพัดเหล่านี้ไม่ต้องทำงานด้วยกำลังทั้งหมดดังนั้นคุณจึงสามารถเคลื่อนไหวได้มากขึ้น การรวมกันกับใบพัดน้อย
ฉันคิดว่าวิธีนี้น่าเบื่อนิดหน่อย ผู้เล่นไม่ต้องการเล่นซอกับมอเตอร์หรืออะไรก็ตามคุณแค่ต้องการ MOVE และ KILL วิธีที่ฉันตั้งใจให้ผู้เล่นสั่งให้เรือเหล่านี้เป็นไปตามจุดหมายปลายทางและการหมุนแล้ว AI จะคำนวณพลังของใบพัดที่ถูกต้องเพื่อให้ได้การเคลื่อนไหวและการหมุน แรงขับไม่จำเป็นต้องเหมือนกันตลอดการคำนวณเทิร์นทั้งหมด (หลังจากได้รับคำสั่งซื้อ) ดังนั้นมันจะเจ๋งถ้าเรือรบตอบโต้ขณะที่พวกมันเคลื่อนที่ปรับกำลังของใบพัดตามความต้องการแบบไดนามิก แต่อาจเป็น ยากเกินไปที่จะติดตั้งและไม่จำเป็นสำหรับเกมที่จะทำงาน
ในทั้งสองกรณีAI จะตัดสินใจได้อย่างไรว่าใบพัดแบบใดที่จะเปิดใช้งานเพื่อให้ได้เส้นทางที่ดีที่สุด (หรืออย่างน้อยก็ไม่เลวร้ายที่สุด)?
ฉันคิดเกี่ยวกับวิธีการบางอย่าง:
- การเรียนรู้ AI:ประเภทเรือจะได้เรียนรู้เกี่ยวกับการเคลื่อนไหวของพวกเขาโดยการลองผิดลองถูกปรับพฤติกรรมด้วยการใช้งานที่มากขึ้นและในที่สุดก็กลายเป็น "ฉลาด" ฉันไม่ต้องการมีส่วนร่วมในการเข้ารหัส AI และฉันคิดว่ามันน่าหงุดหงิดสำหรับผู้เล่น (แม้ว่าคุณจะสามารถให้มันเรียนรู้ได้โดยไม่ต้องเล่น)
- การเคลื่อนไหวการประทับเวลาที่คำนวณล่วงหน้า:เมื่อมีการสร้างเรือการเคลื่อนไหวที่เป็นไปได้ทั้งหมดจะถูกคำนวณสำหรับการกำหนดค่าใบพัดแต่ละครั้งและพลังงานสำหรับเดลต้าเวลาที่กำหนด หน่วยความจำเข้มข้นน่าเกลียดไม่ดี
- การคำนวณวิถีก่อน:เหมือนข้างบน แต่ไม่ใช่สำหรับแต่ละเดลต้าเวลา แต่วิถีทั้งหมดซึ่งจะถูกปรับให้มากที่สุดเท่าที่จะทำได้ ต้องใช้การกำหนดค่าใบพัดแบบคงที่สำหรับระยะการต่อสู้ทั้งหมดและยังคงมีหน่วยความจำมากน่าเกลียดและไม่ดี
- การบังคับใช้สัตว์เดรัจฉานอย่างต่อเนื่อง: AI จะทำการตรวจสอบการตั้งค่าใบพัดทั้งหมดอย่างต่อเนื่องตลอดช่วงการต่อสู้ทั้งหมดทำการคำนวณขั้นตอนสองสามครั้งและตัดสินใจว่าจะดีที่สุดอย่างไร คอนดิชั่น: ตอนนี้สิ่งที่ดีอาจไม่ดีในภายหลังและมันก็เป็น CPU ที่เข้มข้นน่าเกลียดและแย่เกินไป
- บังคับเดรัจฉานเดี่ยว:เหมือนข้างบน แต่บังคับเดรัจฉานเพียงอย่างเดียวที่จุดเริ่มต้นของการจำลองดังนั้นจึงจำเป็นต้องมีการกำหนดค่าใบพัดอย่างต่อเนื่องตลอดช่วงการต่อสู้ทั้งหมด
- การตรวจสอบมุมที่สอดคล้องกัน:นี่ไม่ใช่วิธีการเคลื่อนไหวเต็มรูปแบบ แต่อาจเป็นวิธีการยกเลิกการกำหนดค่าใบพัดแบบ "โง่" ด้วยเวกเตอร์ปกติของตัวขับเคลื่อนในปัจจุบันและตัวสุดท้ายคุณสามารถประมาณกำลังงานที่จำเป็นสำหรับใบพัดตามมุม คุณต้องทำสิ่งนี้อย่างต่อเนื่องตลอดช่วงการต่อสู้ ฉันคิดว่าอันนี้ออกเร็ว ๆ นี้ดังนั้นฉันจึงไม่ได้คิดมากเกินไป ก่อนหน้านี้มันมีข้อเสียเปรียบ "สิ่งที่ดีในตอนนี้อาจไม่ดีในภายหลัง" และมันก็ไม่สนใจใบพัดอื่น ๆ ที่อาจทำงานร่วมกันเพื่อสร้างการขับเคลื่อนที่ดีขึ้น
ฉันติดอยู่ที่นี่จริงๆ ความคิดใด ๆ