Enemy Spawning ใน Top-Down Shooter


20

ผมทำงานเกี่ยวกับนักกีฬาจากบนลงคล้ายกับDodonpachi , Ikarugaฯลฯ การเคลื่อนไหวของกล้องผ่านโลกจะถูกจัดการโดยอัตโนมัติด้วยผู้เล่นสามารถที่จะย้ายภายในของภูมิภาคที่มองเห็นของกล้อง

ระหว่างทางศัตรูจะถูกสคริปต์เพื่อวางไข่ในบางจุดตามเส้นทาง ในขณะที่ฟังดูตรงไปตรงมาฉันสามารถดูวิธีกำหนดประเด็นเหล่านี้ได้สองวิธี:

  1. ตำแหน่งของกล้อง: วางไข่ 'ทริกเกอร์' เมื่อกล้องผ่านไปตามจุดต่างๆ
  2. เวลาไปตามเส้นทาง: "30 วินาทีใน, วางไข่ศัตรู 2 ตัว"

ในทั้งสองกรณีตำแหน่งที่สัมพันธ์กับกล้องจะถูกกำหนดเช่นเดียวกับพฤติกรรมของศัตรู

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

จะมีประโยชน์ใด ๆ ของแนวทางหนึ่งมากกว่าอีกวิธีหนึ่งหรือไม่?

คำตอบ:


7

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

  1. ตำแหน่งที่มองเห็นเป็นครั้งแรกจากซึ่งเป็นภาพที่ดีที่สุดเป็นจุด
  2. ระยะทางจากหน้าจอด้านล่างเมื่อคุณควรวางไข่

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


Re 2) แน่นอนที่การส่งออกคุณจะต้องย้อนรหัสนี้ (เช่นต่อแถวสิ่งที่จุดวางไข่ควรใช้งานเช่นเดียวกับระบบนี้คุณต้องระวังจุดเกิดบางจุดก่อนที่พวกเขาจะมองเห็นได้ นี่เป็นทางตรรกะมากที่สุด.
Kaj

1
เป็นบันทึกให้แน่ใจว่าคุณกำลังใช้ Editor ที่ช่วยให้คุณสามารถเปลี่ยนโหนดในกลุ่ม เมื่อตั้งค่าระดับ shmup ของคุณคุณจะต้องแทรกและกำจัดศัตรูและปรับแต่งเวลาในระดับกลางของคุณอย่างต่อเนื่องและการเปลี่ยนเอนทิตีทั้งหมดของคุณในแต่ละครั้งจะฆ่าคุณ
ZorbaTHut

ฉันชอบความคิดนี้เพราะจะทำให้การแก้ไขง่ายขึ้นทั้งหมดซึ่งจะเป็นข้อได้เปรียบเสมอ
Chris Waters

7

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

หากคุณไปกับการวางไข่เวลามันจะเป็นความเจ็บปวดครั้งใหญ่ในการเพิ่มหรือลบเส้นทางเพราะคุณจะต้องแก้ไขการวางไข่ของศัตรูจำนวนมาก

อีกปัญหาที่ฉันเห็นคือการปรับความเร็วกล้อง คุณต้องการที่จะไปและต้องปรับแต่งวางไข่ศัตรูเพียงเพราะคุณได้ทำให้กล้องย้ายเร็วขึ้นหรือช้าลงเล็กน้อย? รวมทั้งคุณจะต้องเล่นผ่านระดับจำนวนครั้งที่น่ากลัวเพียงเพื่อหาเวลาวางไข่หรือปรับแต่งพวกเขา


2

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


ผมครึ่งหนึ่งเห็นด้วยกับคุณ ฟิสิกส์ shmup แน่นอนเป็นของปลอมและอยู่บนเรือไม่จริงก้าวไปข้างหน้า ที่กล่าวว่าเป็นคำถามที่ยังคงถูกต้องที่คุณทำมีกล้อง ฯลฯ เพื่อพิจารณา
Iain

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

1

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


1

นอกจากนี้ผมยังทำงานอยู่ในเกมยิงพื้นที่ สิ่งที่ฉันได้คือผมใช้ gameobject ที่ว่างเปล่าที่เรียกว่า GameController เพิ่มคอมโพเนนต์ของสคริปต์ที่เรียกว่า GameController.cs ซึ่งถูกควบคุมส่วนพล่านเหมือน

  • เก็บรายการของจุดวางไข่ [อาร์เรย์] อีกต่อไป
  • ให้แต่ละศัตรูน้ำหนักที่เฉพาะเจาะจงและจุด การควบคุมน้ำหนักศัตรูอัตราวางไข่ถ้าศัตรูมีน้ำหนักสูงมีความเป็นไปได้ที่ดีที่จะรับในแต่ละระดับ
  • แล้วทุกครั้งที่ตรวจสอบระดับปัจจุบันและทางเลือกจำนวนสุ่มถ้าจำนวนน้ำหนักแล้วน้อยวางไข่ว่าศัตรูร่วม ฉันหวังว่าจะช่วย

http://www.youtube.com/watch?v=VqFJsU63GRo


0

ฉันจะวางมันไว้บนพื้นหลังแผนที่ขนาดใหญ่และรวมเส้นทางการเคลื่อนไหวเริ่มต้นของพวกเขาลงบนแผนที่นั้น ด้วยวิธีนี้ฉันสามารถเปลี่ยนเส้นทางกล้องในภายหลังด้วยวิธีที่มีความหมายแทนที่จะต้องเปลี่ยนทั้งเส้นทางและเวลาแยกกัน

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