คำถามติดแท็ก ai

การออกแบบและ / หรือตรรกะของเอนทิตีในเกมตัดสินใจเกี่ยวกับพฤติกรรมของมัน

2
วิธีการคำนวณมุมยิงและความเร็วในการยิงเป้าเคลื่อนที่?
ฉันกำลังพัฒนาเกม 2D บน Android และฉันกำลังสร้างอัลกอริธึมการเล็งสำหรับขีปนาวุธ AI เพื่อโจมตีศัตรูไม่ว่าจะตามเส้นทางหรือเคลื่อนที่ได้ฟรี ในขณะนี้มันเพียงแค่คำนวณว่าเป้าหมายจะอยู่หลังระยะทางใดและยิงกระสุนปืนเพื่อไปพบมันในระยะทางนั้น แน่นอนว่านี่หมายถึงการเปลี่ยนแปลงความเร็วของกระสุนปืนเพื่อให้บรรลุเป้าหมาย ไม่มีใครมีเคล็ดลับสำหรับอัลกอริทึมแบบง่าย - ish (เหมาะสมที่สุด - ish) ในการคำนวณเมื่อกระสุนปืนต้องการยิงและตำแหน่งที่ต้องการเล็งหากมันสามารถเคลื่อนที่ด้วยความเร็วคงที่เท่านั้น? พูดว่า projectile ไปที่ความเร็วของเป้าหมายเป็นสองเท่า? วิธีเดียวที่ฉันสามารถนึกถึงเกี่ยวข้องกับการค้นหาและดูเหมือนจะค่อนข้างใหญ่
11 2d  android  mathematics  ai  aiming 

1
การค้นหาความเร็วที่ถูกต้องสำหรับ AI เพื่อให้บรรลุเป้าหมาย
ฉันมีเรือที่เดินทางด้วยความเร็วสูงสุดmaxSpeedและสามารถเปลี่ยนrotationSpeedองศาต่อวินาที เรือเคลื่อนที่ไปในทิศทางที่หันหน้าไปทางเสมอซึ่งหมายความว่ายิ่งแล่นเรือเร็วเท่าไหร่รัศมีการเลี้ยวยิ่งใหญ่ขึ้นเท่านั้น ฉันรู้ตำแหน่งของฉันการหมุนและตำแหน่งของเป้าหมาย สิ่งที่ฉันอยากรู้คือเป้าหมายอยู่ในรัศมีวงเลี้ยวของฉันด้วยความเร็วนี้หรือดีกว่าความเร็วสูงสุดที่ฉันสามารถเคลื่อนที่ได้คืออะไรเพื่อที่จะเลี้ยวไปยังเป้าหมายโดยไม่วนรอบอย่างต่อเนื่อง มีวิธีที่มีประสิทธิภาพ (ish) การทำเช่นนี้? นี่คือสิ่งที่ฉันคิดอยู่จนถึงตอนนี้: เพราะฉันรู้ว่าฉันเดินทางไปไกลแค่ไหนต่อขั้นตอนและเท่าไหร่ที่ฉันหมุนไปตามขั้นตอนเท่าไหร่ฉันจึงสามารถรู้ได้ว่าฉันจะอยู่ที่ไหนในสองเฟรม ตำแหน่งปัจจุบันของฉันคือ p1 ตำแหน่งถัดไปของฉันคือ p2 จากนั้น p3 ฉันสามารถหาเส้นแบ่งครึ่งตั้งฉากของ (p1, p2) และ (p2, p3) จุดตัดของพวกเขาจะให้ศูนย์กลางของวงกลมแก่ฉัน ฉันสามารถทดสอบว่าเป้าหมายอยู่ในวงกลมนั้นหรือไม่ ฉันไม่แน่ใจว่าสิ่งนี้จะทำงานในแบบ 3 มิติ (ฉันไม่แน่ใจว่าจะคำนวณทรงกลมด้วยอินพุตของฉัน) โซลูชันนี้ไม่ได้ช่วยอะไรมากนักในการค้นหาความเร็วที่เหมาะสมสำหรับการเดินทางฉันจะต้องลองสองสามครั้งด้วยความเร็วที่แตกต่างกันเพื่อค้นหาความเร็วที่เหมาะสม ทุกคนสามารถปลดปล่อยแสงให้กับทางออกที่ดีกว่าได้หรือไม่?

3
ฉันสามารถกระโดดจาก A ถึง B ได้หรือไม่
ฉันกำลังทำ AI พื้นฐานสำหรับนักเลื่อนด้านข้างของฉันและฉันจำเป็นต้องรู้ว่าหน่วย AI สามารถเข้าถึงจุด B จากจุด A ได้ง่ายๆหรือไม่โดยการกระโดด เที่ยวบินวิถีของตัวละครของฉันเป็นบิตผิดปกติเพราะพวกเขาสามารถใช้บังคับในกลางอากาศ (เช่นในแจ๊ส Jackrabbit 2 ตัวอย่าง) ดังนั้นจึงแตกต่างจากวิถีดั้งเดิมของกระสุนปืนซึ่งเป็นเรื่องเกี่ยวกับ ... เส้นทางที่กระสุนปืนโยนหรือเปิดตัวจะใช้เวลา (... ) โดยไม่มีแรงขับ ... ฉันคิดว่าปัญหาของฉันเป็นเรื่องเกี่ยวกับกระสุนปืนด้วยการขับเคลื่อน (เช่นจรวด) เพื่อแสดงให้เห็นว่านี่เป็นลักษณะที่โค้งของเที่ยวบินสำหรับตัวละครของฉันถ้าฉันกระโดดและกดปุ่ม "ซ้าย" อย่างต่อเนื่อง (มันดูแตกต่างกันที่ปลายด้านซ้ายนี่คือจุดที่ฉันสร้าง manuevers กลางอากาศ): แรงที่กระทำระหว่างการบินจะขนานกับแกน X เสมอดังนั้นมันจึงเป็นF = (-f, 0)ถ้าฉันถือ "ซ้าย" และมันคือF = (f, 0)ถ้าฉันถือ "ขวา" เขาสามารถเคลื่อนไหวได้เหมือนนักเล่นสกี: ดังนั้นมันจึงแตกต่างจากวิถีคลาสสิกซึ่งเป็นเพียงพาราโบลา (ที่มา: วิกิพีเดีย ): เพื่อให้ยากขึ้นฉันกำลังจำลองการต้านทานอากาศอย่างง่ายเพื่อให้ตัวละครของฉันสามารถเร่งความเร็วได้สูงสุดถึงค่าความเร็วสูงสุดเท่านั้น ทำได้โดยใช้แรงเล็กน้อยในทิศทางตรงกันข้ามของการเดินทาง : b2Vec2 …

4
การมอบหมายงาน
ใน RTS ที่คนงานได้รับมอบหมายเช่นสร้างกำแพงคนงานจะตัดสินใจได้อย่างไรว่าจะสร้างกำแพงแบบใด ผู้เล่นตัดสินใจว่าจะสร้างกำแพงที่ไหน แต่พวกเขาไม่ได้กำหนดคนงานแต่ละคนให้กับผนังห้องสี่เหลี่ยม ในเกม RTS หลาย ๆ เกมคนงานทำงานที่อยู่ใกล้พวกเขา แต่ใน RTS ของฉันฉันต้องการใช้กลยุทธ์ในการทำภารกิจที่ชัดเจนในช่องสี่เหลี่ยมเฉพาะเป็นกลยุทธ์หลักดังนั้นฉันจึงไม่ต้องการให้คนโง่ทำงานเป็นกลุ่มและออกจากงานต่อไป ออกไปไม่ได้ทำ ฉันใช้ตัวอย่างผนังอาคาร มันอาจเป็นเหมืองหินทำถนนเก็บไม้หรืออะไรก็ตาม สิ่งสำคัญคือผู้ใช้เลือกที่ แต่ไม่ใช่ใคร คนงานสามารถทำงานกับสี่เหลี่ยมที่อยู่ติดกับสี่เหลี่ยมที่เข้าถึงได้เท่านั้น สี่เหลี่ยมที่พวกเขาทำงานด้วยตนเองอาจไม่สามารถใช้ได้จนกว่างานจะเสร็จสมบูรณ์ คนงาน 1 และ 2 ได้รับคำสั่งให้ขุดสี่เหลี่ยม A, B, C และ D พวกเขาสามารถเคลื่อนย้ายหนึ่งตารางต่อเกมติ๊กและการขุดหนึ่งตารางใช้เวลา 10 เห็บ คุณจะตัดสินใจได้อย่างไรว่าคนงานเหมืองคนไหนทำเหมืองสี่เหลี่ยม ดูเหมือนว่าตัวเองชัดเจนว่า 1 ควรเป็นของฉันและ 2 ควรเป็นของฉัน 1 คือ 4 สี่เหลี่ยมห่างจาก A ดังนั้นจะทำการขุดเสร็จใน 14 เห็บ 1 ควรจะไปที่ไหนต่อไปและทำไม? และถ้ามีอีกสี่เหลี่ยมจัตุรัส …
10 ai 

2
อัลกอริทึมสำหรับการเพิ่มประสิทธิภาพของเกมจับคู่กับคิวที่รู้จัก
ฉันพยายามเขียน Solver ใน C # .NET สำหรับเกมที่รู้จักในชื่อ Flowerz สำหรับการอ้างอิงของคุณคุณสามารถเล่นได้บน MSN ที่นี่: http://zone.msn.com/gameplayer/gameplayer.aspx?game=flowerz ฉันกำลังเขียนเพื่อความสนุกไม่ใช่เพื่องานประเภทใดหรืองานใด ๆ ที่เกี่ยวข้อง ด้วยเหตุนี้ข้อ จำกัด เพียงอย่างเดียวคือคอมพิวเตอร์ของฉัน (intel i7 core พร้อม RAM 8GB) ไม่จำเป็นต้องวิ่งไปที่อื่นเท่าที่ฉันกังวล ในระยะสั้นกฎของมันเป็นดังนี้: มีคิวที่เต็มไปด้วยดอกไม้สี ความยาวของมันคืออะไรก็ได้ คิวไม่สามารถได้รับผลกระทบ คิวจะถูกสร้างขึ้นเมื่อเริ่มต้นของระดับ ดอกไม้มีหนึ่งหรือสองสี หากมีสองสีแสดงว่ามีสีด้านนอกและสีภายใน ในกรณีที่มีสองสีสีด้านนอกจะใช้สำหรับการจับคู่ หากมีการจับคู่แล้วสีด้านนอกจะหายไปและดอกไม้เป็นดอกไม้สีเดียวที่มีสีเดียวกับดอกไม้ด้านใน เป้าหมายของเกมคือการสร้างแมตช์ที่มีสามสี (หรือมากกว่า) ที่มีสีเดียวกัน เมื่อดอกไม้ที่มีสีเดียวเป็นส่วนหนึ่งของการแข่งขันมันจะถูกลบออกจากสนามเด็กเล่นสร้างพื้นที่ว่าง คุณสามารถจับคู่ดอกไม้สีเดียวกับสีด้านนอกของดอกไม้สองสี ในกรณีนี้ดอกไม้สีเดียวจะหายไปสีด้านนอกของดอกไม้สองสีจะหายไปและสีภายในยังคงอยู่ คุณชนะรอบเมื่อคิวว่างเปล่าและมีพื้นที่ว่างอย่างน้อยหนึ่งที่เหลือ การแข่งขันแบบเรียงซ้อนเป็นไปได้ น้ำตกคือเมื่อดอกไม้ด้านนอกสามดอก (หรือมากกว่า) หายไปและเมื่อสีภายในของมันรวมกันเป็นโซ่อีก 3 ดอก (หรือมากกว่านั้น) สนามเด็กเล่นอยู่เสมอ 7x7 …
10 c#  algorithm  ai  puzzle 

3
แสดงช่วงบนตารางหกเหลี่ยม
นี่คือสถานการณ์ ฉันมีกระดานหกเหลี่ยมและหน่วยบนมันมีค่าความเร็วหรือการเคลื่อนย้าย 4.Diffrent ภูมิประเทศมีค่าใช้จ่ายที่แตกต่างกันเมื่อฉันคลิกที่หน่วยเกมจะแสดงช่วงการเคลื่อนที่ ทางออกของฉันคือการตรวจสอบแต่ละ hex ในช่วง 4 กับ A * pathfinding และถ้าค่าพา ธ น้อยกว่า 4 แล้ว hex นี้อยู่ในช่วงเกมสุดท้ายแสดงให้ฉันเห็นช่วงของหน่วยนั้น คำถามของฉันคือ: มีวิธีอื่นในการค้นหาช่วงบนกริดฐานสิบหกหรือตารางกริดเพราะแม้ว่าฉันภูมิใจในสิ่งที่ฉันทำในโซลูชันของฉันฉันคิดว่ามันเป็นเรื่องเล็กน้อยเกินจริงหรือไม่ :)) อะไรทำให้ฉันถามคำถามนี้ฉันสังเกตเห็นว่าเมื่อความเร็วหน่วยเป็น 4 หรือ 6 หรือแม้กระทั่ง 8 ช่วงเวลาในการคำนวณสำหรับคอมพิวเตอร์ของฉันนั้นดีมาก แต่เมื่อความเร็วเท่ากับ 10 ขึ้นไปฉันสังเกตว่าฉันต้องรอสองสามวินาทีในการคำนวณ . ดีในเกมจริงฉันไม่เห็นอะไรเช่นนี้และการหาเส้นทาง A * ของฉันนั้นได้รับการปรับให้เหมาะสมดังนั้นฉันคิดว่าโซลูชันของฉันผิด ขอบคุณสำหรับคำตอบใด ๆ

3
จะค้นหาเส้นทางผ่านสิ่งกีดขวางได้อย่างไร
วิธีแสดงสถานการณ์ต่อไปนี้ดีที่สุด - agent ( @) จำเป็นต้องไปถึงเป้าหมาย ( $) เส้นทางถูกบล็อกโดยคูเมือง ( ~~~) มีคราด (หรืออุปกรณ์อื่น ๆ เช่นรองเท้าบูทน้ำ) ที่จะทำให้สามารถข้ามสิ่งกีดขวางได้ .....~~~... . ground ...=.~~~... = rake .....~~~.$. ~ water .@...~~~... @ agent .....~~~... $ goal วิธีการหาเส้นทางอย่างถูกต้องจาก@ไปยังที่$ระบุไม่มีเส้นทางที่พร้อมใช้งานทันทีหรือไม่ เส้นทางของฉันควรมีค่าใช้จ่ายไม่เพียง แต่ยังจำเป็นต้องมี? UPD : ปัญหาคือเป้าหมายไม่สามารถเข้าถึงได้และเรคเป็นเพียงหนึ่งในวัตถุที่เป็นไปได้มากมายบนแผนที่ คำถามคือ "ทำอย่างไรให้ตัวแทนเข้าใจว่าต้องการคราด"
10 ai  path-finding 

3
จะเพิ่มเสียงที่ AI ศัตรูสามารถได้ยินได้อย่างไร?
ได้รับ: เกม 2D จากบนลงล่าง ไทล์จะถูกเก็บไว้ในอาร์เรย์ 2 มิติ กระเบื้องทุกแผ่นมีคุณสมบัติ - รองรับ (ดังนั้นอิฐอาจจะเป็น -50db, อากาศอาจเป็น -1) จากนี้ฉันต้องการเพิ่มมันเพื่อสร้างเสียงที่จุด x1, y1 และ "กระเพื่อม" ภาพด้านล่างแสดงความคิดเห็นได้ดีกว่า เห็นได้ชัดว่าเป้าหมายสุดท้ายคือศัตรู AI สามารถ "ได้ยิน" เสียง - แต่ถ้ากำแพงปิดกั้นเสียงจะไม่เดินทางไกล สีแดงเป็นผนังซึ่งมีการรองรับ 50db ฉันคิดว่าในเกมที่ 3 ฉันรู้สึกสับสนกับคณิตศาสตร์ อะไรจะเป็นวิธีที่ดีที่สุดในการดำเนินการนี้

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

6
มีเกมใดบ้างที่มีเครื่องเรียนรู้ AI หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ทุกคนที่นี่สามารถอ้างอิงถึงเกม AAA เชิงพาณิชย์ที่ใช้เครื่องเรียนรู้ AI ได้หรือไม่?
10 ai 

2
คำนวณ "พลัง" ของผู้เล่นในเกมประเภท "ปกป้องปราสาทของคุณ"
ฉันกำลังสร้างเกมประเภท "ปกป้องปราสาทของคุณ" ที่ผู้เล่นแต่ละคนมีปราสาทและต้องส่งหน่วยเพื่อทำลายปราสาทของคู่ต่อสู้ ดูเหมือนว่านี่ (และใช่นี่เป็นเกมจริงไม่ใช่การวาดภาพสีอย่างรวดเร็ว .. ): ตอนนี้ฉันกำลังพยายามใช้ AI ของคู่ต่อสู้และฉันต้องการสร้างระดับ AI ที่แตกต่างกัน 4 ระดับ: ง่ายปกติยากและไม่ยอมใครง่ายๆ ฉันไม่เคยทำ AI ที่ "จริงจัง" มาก่อนและฉันต้องการสร้างที่ค่อนข้างสมบูรณ์ในครั้งนี้ ความคิดของฉันคือการคำนวณคะแนน "พลัง" ของผู้เล่นตามสภาพปัจจุบันของปราสาทและคะแนน "พลัง" ของแต่ละหน่วย จากนั้น AI จะพยายามเก็บคะแนนให้ใกล้กับผู้เล่นคนหนึ่ง ( ง่าย ๆจะอยู่ต่ำกว่ามันปกติจะอยู่ใกล้ ๆ และยากที่จะพยายามเหนือกว่า) แต่ฉันไม่รู้วิธีคำนวณคะแนนพลังของผู้เล่น มีตัวแปรมากเกินไปที่จะต้องคำนึงถึงและฉันไม่ทราบวิธีการใช้อย่างถูกต้องเพื่อสร้างจำนวนที่สำคัญ (ระดับพลังงาน) ใครช่วยฉันออกจากนี้ นี่คือตัวแปรที่ควรมีอิทธิพลต่อคะแนนพลังงานของผู้เล่น: สุขภาพปราสาทปัจจุบันพลังชีวิตทั้งหมดความเสียหายความเร็วและระยะการโจมตี นอกจากนี้ผู้เล่นสามารถเพิ่มรายได้ (กระเป๋าเงิน) ความเสียหาย (ความเสียหาย +) และความเร็ว (ความเร็ว +) ... ฉันจะรวมไว้ในคะแนนได้อย่างไร? ฉันติดอยู่ที่นี่จริงๆ …
10 game-design  ai 

3
เคล็ดลับในการสร้าง AI สำหรับเกมแข่งรถ 2 มิติ
ฉันมีโครงการโรงเรียนเพื่อสร้าง AI สำหรับเกมแข่งรถ 2 มิติซึ่งมันจะแข่งขันกับ AIs อื่น ๆ ( ไม่มีการชน ) เราได้รับภาพบิตแมปสีดำและสีขาวของลู่แข่งเราได้รับอนุญาตให้เลือกสถิติพื้นฐานสำหรับรถของเรา (การจัดการการเร่งความเร็วความเร็วสูงสุดและเบรก) หลังจากที่เราได้รับแผนที่ AI จะเชื่อมต่อกับเซิร์ฟเวอร์ของเกมและมอบให้เป็นตัวเลขที่สองสำหรับการเร่งความเร็วและการควบคุมปัจจุบัน ภาษาที่ฉันเลือกคือ C ++ คำถามคือ: กลยุทธ์หรืออัลกอริทึมที่ดีที่สุดคืออะไร (ตั้งแต่ฉันต้องการลองและชนะ) ขณะนี้ฉันมีความคิดบางอย่างที่พบในอินเทอร์เน็ตและหนึ่งหรือสองของฉันเอง แต่ฉันต้องการก่อนที่ฉันจะเริ่มเขียนโค้ดว่ามุมมองของฉันเป็นหนึ่งในสิ่งที่ดีที่สุด มีหนังสือดีเล่มใดบ้างในเรื่องนี้? ฉันควรอ้างอิงถึงไซต์ใด
10 2d  c++  ai  racing 

7
ฉันควรเปลี่ยน A * อย่างไร
ฉันมีศัตรูหัวหน้าที่น่าสงสารที่แสวงหาผู้เล่นโดยใช้อัลกอริทึม A * มันเป็นสภาพแวดล้อมที่ค่อนข้างซับซ้อนและฉันทำใน Flash ดังนั้นการค้นหาอาจช้าลงเล็กน้อยเมื่อค้นหาในระยะทางไกล หากผู้เล่นอยู่กับที่ฉันจะค้นหาเพียงครั้งเดียว แต่ในขณะนี้ฉันค้นหาทุกเฟรม สิ่งนี้ใช้เวลานานพอสมควรที่ framerate ของฉันกำลังทรมาน อะไรคือวิธีการแก้ปัญหาปกตินี้? มีวิธีการ "replan" A * โดยไม่ต้องทำการค้นหาซ้ำทั้งหมดหรือไม่ ฉันควรค้นหาบ่อยครั้งกว่า (ทุกครึ่งวินาทีหรือสองวินาที) และยอมรับว่าเส้นทางนั้นมีความคลาดเคลื่อนเล็กน้อยหรือไม่?

2
การเคลื่อนไหวของศัตรูเป็นเส้นตรงต่อผู้เล่นในเกมการไล่ล่า
ฉันกำลังสร้างเกมที่ศัตรูสุ่มวางไข่บนแผนที่จากนั้นเลื่อนไปยังผู้เล่นทุกเฟรมด้วยความเร็วแบบสุ่ม แผนที่ไม่มีสิ่งกีดขวางดังนั้นศัตรูควรเคลื่อนที่เป็นเส้นตรงเสมอ ฉันเขียนฟังก์ชันการเคลื่อนไหวสองสามครั้ง แต่ไม่ว่าศัตรูจะตี 0, 45, 90, 135, 180, 225, 270, 315 มุม แต่ก็ไม่เป็นเส้นตรง นี่คือตัวอย่างของรหัส: base_speed = random(); diff_x = abs(enemy_y_pos - player_x_pos); diff_y = abs(enemy_x_pos - player_y_pos); if (diff_x > diff_y) { y_speed = base_speed; } else if (diff_y > diff_x) { x_speed = base_speed; } if (enemy_x_pos < …
10 ai  movement 

4
ฉันจะทำให้การค้นหาเส้นทาง NPC ดูน่าเชื่อถือได้อย่างไร
มีวิธี "ทางวิชาการ" ในการให้ NPC เดินแบบสุ่มบนแผนที่ แต่มีการทำ comportment ที่น่าเชื่อถือหรือไม่? สถานการณ์ที่ชัดเจนคือยามติดอาวุธที่เดินไปรอบ ๆ ห้องใต้ดินเพื่อรักษาความปลอดภัย มันค่อนข้างง่ายในการตั้งค่าเส้นทาง "เชื่อ" สิ่งที่ฉันกำลังมองหาคือวิธีจำลองฝูงชนในเมืองเล็ก ๆ ที่จริงแล้ว ฉันจะทำให้การเคลื่อนไหวของพวกเขาดูเหมือนพวกเขาไม่ใช่หุ่นยนต์ที่ไม่มีจุดมุ่งหมาย

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