เคล็ดลับในการสร้าง AI สำหรับเกมแข่งรถ 2 มิติ


10

ฉันมีโครงการโรงเรียนเพื่อสร้าง AI สำหรับเกมแข่งรถ 2 มิติซึ่งมันจะแข่งขันกับ AIs อื่น ๆ ( ไม่มีการชน )

เราได้รับภาพบิตแมปสีดำและสีขาวของลู่แข่งเราได้รับอนุญาตให้เลือกสถิติพื้นฐานสำหรับรถของเรา (การจัดการการเร่งความเร็วความเร็วสูงสุดและเบรก) หลังจากที่เราได้รับแผนที่ AI จะเชื่อมต่อกับเซิร์ฟเวอร์ของเกมและมอบให้เป็นตัวเลขที่สองสำหรับการเร่งความเร็วและการควบคุมปัจจุบัน ภาษาที่ฉันเลือกคือ C ++ คำถามคือ:

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

2d  c++  ai  racing 

1
มันขึ้นอยู่กับความถูกต้องของการจำลองทางฟิสิกส์ ถ้าไม่มีวิชาฟิสิกส์ฉันจะต้องวิ่งเร็วตลอดเวลา ... ไม่อย่างนั้นฉันจะเริ่มช้าลงก่อนถึงรอบการหมุนแต่ละรอบและเร็วขึ้น 2 / 3rd ผ่านการเลี้ยว
เนท

คำตอบ:


2

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

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


1
ดูเหมือน overkill กับฉัน
o0 '

2
@ Lo'oris แน่นอนโดยเฉพาะอย่างยิ่งเนื่องจากนี่อาจเป็นโครงการโรงเรียนที่ค่อนข้างเรียบง่ายและมีเวลา จำกัด ในการสร้างวิธีแก้ปัญหาสำหรับฉันไม่คิดว่าการเรียนรู้แบบมีผู้สอนเป็นวิธีที่จะไปกับสิ่งนี้
Ray Dey

มันไม่ยากที่จะตั้งค่าและขึ้นอยู่กับระดับของเรื่องที่ OP กำลังทำอยู่วิธีนี้อาจไม่จำเป็นต้องใช้ทักษะมากไป มันเป็นสิ่งที่ฉันต้องการ (และทำไปแล้ว) ความสนุกและสามารถทำได้ง่ายมากเพื่อให้ได้ผลลัพธ์ที่มีประสิทธิภาพ ส่วนที่ยากที่สุดคือการกำหนดสิ่งที่ควรทำในการประมวลผลล่วงหน้า ...
deceleratedcaviar

2

หากคุณสามารถประมวลผลแผนที่ล่วงหน้าก่อนใช้งาน AI ให้คำนวณเส้นทางแข่งที่ดีที่สุดผ่านส่วนต่าง ๆ ของแผนที่

โพสต์บน GameDev.net นี้มีข้อเสนอแนะจำนวนมาก

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

อีกวิธีที่ฉันได้เห็นก็คือการเรียนรู้การเสริมแรงแบบง่าย (Q-learning) ซึ่งอาจต้องใช้เวลาสักสองสามซ้ำเพื่อให้ได้เส้นทางที่ดี มันอธิบายไว้ในกระดาษนี้: http://www.cs.ubc.ca/~zhijin/540report.pdf


1

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

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