อะไรทำให้การเล็งในนักกีฬาคนแรกที่คอนโซลรู้สึกดี?


11

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

ดังนั้นกระบวนทัศน์การป้อนข้อมูลอะไรที่ทำให้ FPS ที่ทันสมัยบนคอนโซลทำงานได้ดี?


ฉันต้องการที่จะตอบคำถามนี้อย่างไม่ดี; แต่ฉันอยู่ภายใต้ NDA !!!!! โหลด MW2 บน 360 แยกหน้าจอเลื่อนเฉพาะไม้เท้าขวาเหนือเป้าหมายสังเกตว่าเกิดอะไรขึ้น จากนั้นย้ายเฉพาะก้านซ้ายของคุณและยิงกราดจากด้านหนึ่งไปอีกด้านหนึ่งสังเกตว่าเกิดอะไรขึ้น
AA Grapsas

2
มันไม่รู้สึกดีเลย: p (ฉันเป็นแป้นพิมพ์ / เม้าส์ตายยาก)
Gagege

คำตอบ:


19

ฉันไปเซสชั่น GDCในปีนี้นำเสนอโดยคนที่ต่อย sucker พูดคุยถึงวิธีที่พวกเขาจัดการจุดมุ่งหมายและการเคลื่อนไหวเพื่อช่วยเหลือในครอบครัว ความเข้าใจของฉันคือ Halo ใช้ระบบที่คล้ายกันมากสำหรับการช่วยเล็งและนี่คือพื้นฐาน:

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

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


คำตอบที่ยอดเยี่ยม - ทั้งหมดนี้เกี่ยวกับความรู้สึกที่คุณไม่ได้โกงในขณะที่ให้คุณได้รับประโยชน์จากความสงสัยในการเล็งของคุณ
Iain

9

มีคำตอบที่ดีอยู่ที่นี่ ฉันต้องคิดออกเองสำหรับโครงการที่ฉันกำลังทำอยู่ แต่ก็มาถึงข้อสรุปเดียวกับพวก Sucker Punch (และฉันคิดว่าฉันคิดว่าฉันคิดอะไรแปลก ๆ ขึ้นมา Baww :()

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

มากขึ้นและคุณจะได้รับ "ouija effect" ที่เห็นได้ชัดมากเกินไป คุณต้องการตรงกันข้ามกับ ouija: ในกรณีที่บอร์ด ouija เคลื่อนไหวโดยไม่ได้รับรู้แจ้งเนื่องจากผู้ใช้ไม่มีความรู้อย่างมีสติคุณต้องการให้เล็งของผู้เล่นเคลื่อนที่อย่างชาญฉลาด มันเป็นเคล็ดลับมายากล

ใช้ผลิตภัณฑ์ dot ของ pitch / yaw ของผู้เล่นที่เปลี่ยน delta กับ pitch / yaw delta จาก crosshair ไปยังแต่ละเป้าหมาย ยึดค่าระหว่าง 0 และความเร็วสูงสุด (ดังนั้นคุณจะไม่สนใจอินพุตในขณะที่ผลักออกไปจากเป้าหมาย) จากนั้นใช้ฟังก์ชันระยะทางเป็นตัวปรับเปลี่ยน falloff

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

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

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

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

นอกจากนี้เรายังสร้างเป้าหมายการกำหนดเป้าหมาย "phantom" เพื่อช่วยให้คุณหันหลังให้กับสิ่งที่ไม่น่าสนใจ (เช่นหันหน้าเข้าหากำแพง - ไม่จำเป็นต้องมองไปรอบ ๆ เพื่อมองหาพื้นผิวที่ว่างเปล่าแบบโคลสอัพ เกี่ยวกับ - คุณสามารถใช้สิ่งนี้กับสิ่งที่น่าสนใจสำหรับผู้เล่นที่จะชี้ไปที่ไม่ว่าจะเป็นถังระเบิดวัตถุโต้ตอบ (bioshock ใช้การหน่วงเมื่อเล็งไปที่วัตถุที่สามารถโต้ตอบได้ในระยะใกล้ ... แต่ไม่ได้เล็งอย่างเหนียวแน่น ฉันไม่คิดว่า) เมื่อคุณตระหนักว่านี่เป็นเพียงการเสริมแนวคิดหลักของการเล็งคุณรู้ว่ามันไม่ได้เกี่ยวกับการเล็งเล็งเท่านั้น แต่เป็นการปรับปรุงการใช้งานทั่วไปที่ป้อนเข้าสู่กลไกใด ๆ ที่พึ่งพาการเล็ง และใน FPS จริงๆ

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

โอ้มนุษย์ฉันควรเข้านอน ขออภัยหากคณิตศาสตร์บางอย่างไม่ชัดเจน มันช้ามาก แต่ฉันก็ตื่นเต้นที่ได้อ่านบทความนี้


อย่าขายตัวเองให้สั้น! คุณคิดแบบเดียวกับที่คนฉลาด ๆ ทำกัน จิตใจดีคิดเหมือนกัน. :)
Zolomon

3

เพื่อให้คุณรู้สึกดีกับคอนโซลคุณจะต้องทำการประมวลผลบางอย่าง

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

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

หากคุณมี FOV ของกล้องที่แตกต่างกัน (เช่นเมื่อเล็ง / ซูม) จำเป็นต้องมีปัจจัยที่ปรับความเร็วการหมุนของกล้องโดย FOV ที่ใช้งานอยู่ในปัจจุบัน

เทคนิคที่ดีอื่น ๆ ที่ทำให้ชีวิตผู้เล่นง่ายขึ้นคือ "การตั้งศูนย์อัตโนมัติ" ระดับนี้จะทำให้ระยะห่างระหว่างกล้องช้าลงไปถึงขอบฟ้าเมื่อไม่มีการป้อนข้อมูล ช่วยให้มุ่งเน้น

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

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


หากนี่ไม่ใช่ไซต์แลกเปลี่ยนสแต็คฉันจะให้ความเห็นส่วนตัวของฉัน: ฉันเกลียดการเร่งความเร็วที่เห็นได้ชัด เมื่อฉันขยับไม้ไปที่กึ่งกลางเคอร์เซอร์จะหยุดกระทันหันและฉันต้องเร่งให้ทั่วอีกครั้ง รู้สึกกระตุกกับฉัน ฉันรู้สึกดีขึ้นและเล่นเกมได้ดีขึ้นด้วยการเร่งความเร็วที่ไม่เร่งรีบกับเกมเร่งความเร็วส่วนตัว เหตุผลทั้งหมดสำหรับการประดิษฐ์ก้านควบคุมคือการกำจัดความจำเป็นในการเร่งความเร็ว แต่นี่เป็นไซต์แลกเปลี่ยนสแต็คดังนั้นฉันจะไม่บอกคุณ
jyoungdev

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

0

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

นี่เป็นวิธีง่ายๆ: เมื่อเล็งเล็งไปที่ศัตรูความไวจะลดลง สิ่งนี้จะช่วยให้ผู้เล่นมีความแม่นยำยิ่งขึ้นด้วยช็อตของเขา

นอกจากนี้คุณยังสามารถใช้ "เป้าหมายที่ชัดเจน" เรื่องนี้น่าพอใจมากถ้ามีศัตรูหลายคนและผู้เล่นจะต้องฆ่าศัตรูที่อยู่ข้างหน้าพวกเขาทันที


0

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

ในขณะที่เราอยู่ใน Metroid Prime ฉันก็ชอบเทคนิคที่พวกเขาใช้สำหรับ platformy บิตที่มุมมองจะลดลงเล็กน้อยโดยอัตโนมัติเมื่อคุณกระโดด มันบอบบาง แต่มันทำให้การควบคุมรู้สึกเป็นธรรมชาติมากขึ้น

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