การพัฒนาเกม

คำถาม & คำตอบสำหรับนักพัฒนาเกมมืออาชีพและเป็นอิสระ

2
เอนจิ้นฟิสิกส์ที่สามารถรองรับตัวดึงดูดได้หลายตัว?
ฉันรวบรวมเกมที่จะเล่นเป็นส่วนใหญ่ด้วยแรงโน้มถ่วงสามมิติ โดยที่ฉันหมายถึงดาวเคราะห์ / ดวงดาว / ดวงจันทร์หลายตัวประพฤติตามความเป็นจริงและการวางแผนเส้นทางและการทำนายเส้นทางในสนามโน้มถ่วง ฉันได้ดูเครื่องยนต์ฟิสิกส์หลากหลายชนิดเช่นBullet , tokamakหรือNewtonแต่ดูเหมือนว่าไม่มีพวกมันที่เหมาะสมเพราะฉันจะต้องเขียนกลไกแรงโน้มถ่วงอีกครั้งในกรอบของมัน คุณรู้หรือไม่ว่าเครื่องยนต์ฟิสิกส์ที่มีความสามารถในการจัดการกับวัตถุต่าง ๆ ดึงดูดกันได้หรือไม่? ฉันไม่ต้องการการจัดการ Scenegraph หรือการเรนเดอร์แค่ฟิสิกส์หลัก (การตรวจจับการชนจะเป็นโบนัสเช่นเดียวกับการเปลี่ยนแปลงของร่างกายที่แข็งแกร่ง) พื้นหลังของฉันอยู่ในวิชาฟิสิกส์ดังนั้นฉันจะสามารถเขียนเครื่องยนต์ที่ใช้การรวม Verlet หรือ RK4 (หรือแม้แต่การรวมออยเลอร์ถ้าฉันต้อง) แต่ฉันค่อนข้างจะปรับตัวออกจากชั้นวางของโซลูชั่น [แก้ไข]:มีแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการจำลองทางฟิสิกส์ของปัญหาร่างกายแบบออนไลน์และในสแต็คโอเวอร์โฟลว์


1
ฉันควรจะเรียกเก็บขยะระหว่างการโหลดหน้าจอหรือไม่?
เมื่อเร็ว ๆ นี้ฉันอ่าน Garbage Collection เล็กน้อยจากความอยากรู้อยากเห็นและมีบางอย่างที่ทำซ้ำบ่อยๆ: การเก็บขยะอาจทำให้โปรแกรมช้าลงอย่างกระทันหันขึ้นอยู่กับ "ความลึก" ของคอลเลกชัน แต่ในวิดีโอเกมมีช่วงเวลาที่ผู้ใช้ไม่สามารถสังเกตเห็นความล่าช้าเล็กน้อย: หน้าจอการโหลด ดังนั้นฉันคิดว่าอาจเป็นประโยชน์ในการดำเนินการรวบรวมขยะเต็มรูปแบบในระหว่างขั้นตอนการโหลด (ผ่านทาง Collect ()) ต้องรออีกหนึ่งหรือสองวินาทีไม่ควรส่งผลกระทบต่อผู้ใช้จริงๆ คำถามของฉันคือมีประโยชน์จริง ๆ หรือไม่มีประโยชน์จริง ๆ ในการทำเช่นนี้หรือไม่?
9 c# 

2
ฉันจะทำให้ตัวละครของฉันเลื่อนลงไปตามทางลาดที่มีมุมสูงได้อย่างไร
ฉันกำลังทำงานเกี่ยวกับการเคลื่อนไหวของตัวละครของฉันในUnity3D ฉันจัดการเพื่อให้เขาย้ายไปที่เคอร์เซอร์ของเมาส์ค่อนข้าง ฉันตั้งค่าขีด จำกัด ความชัน 45 °ซึ่งไม่อนุญาตให้ตัวละครเดินขึ้นไปบนภูเขาที่มีองศาสูงกว่า แต่เขายังสามารถกระโดดขึ้นได้ ฉันจะทำให้เขาเลื่อนลงมาอีกครั้งได้อย่างไรเมื่อเขากระโดดขึ้นไปบนสถานที่ที่มีความลาดชันสูงเกินไป ขอบคุณล่วงหน้า. แก้ไข:ข้อมูลโค้ดของการเคลื่อนไหวพื้นฐานของฉัน ใช้ UnityEngine; ใช้ System.Collections; public class BasicMovement : MonoBehaviour { private float speed; private float jumpSpeed; private float gravity; private float slopeLimit; private Vector3 moveDirection = Vector3.zero; void Start() { PlayerSettings settings = GetComponent<PlayerSettings>(); speed = settings.GetSpeed(); jumpSpeed = …

3
การแรเงาที่เลื่อนออกไป - วิธีรวมแสงหลายดวงเข้าด้วยกัน?
ฉันเริ่มต้นด้วย GLSL และฉันได้ใช้การแรเงาที่เลื่อนออกไปอย่างง่ายซึ่งจะส่งออก G-buffer ด้วยตำแหน่ง, ค่าพื้นฐานและอัลเบโด้ ฉันยังเขียน shader แสงจุดง่ายเช่นกัน ตอนนี้ฉันวาดทรงกลมสำหรับจุดไฟและเอาท์พุทไปที่บัฟเฟอร์แสง ปัญหาคือฉันจะรวมผลลัพธ์ของบัฟเฟอร์แสงเมื่อวาดแสงหลายดวงได้อย่างไร เช่นเมื่อฉันวาดแสงที่สองไปยัง lightbuffer โดยใช้ shader แสงจุดฉันจะเพิ่มแสงแรกในแสงที่สองในบัฟเฟอร์แสงได้อย่างไร ฉันหมายความว่าคุณไม่สามารถอ่านและเขียนไปยังบัฟเฟอร์เอาต์พุตเดียวกันได้หรือไม่

3
เวลาในการโหลดเกมล่วงหน้าเทียบกับเวลาในการโหลดเกม
ฉันกำลังพัฒนาเกมที่มีเขาวงกตสุ่มรวมอยู่ด้วย มีสิ่งมีชีวิต AI บางอย่างที่ซุ่มซ่อนเขาวงกต และฉันต้องการให้พวกเขาไปในเส้นทางบางอย่างตามรูปร่างเขาวงกต ตอนนี้มีความเป็นไปได้สองอย่างสำหรับฉันที่จะใช้สิ่งนั้นวิธีแรก (ที่ฉันใช้) คือการคำนวณเส้นทางที่ต้องการหลบซ่อนเมื่อเขาวงกตถูกสร้างขึ้น อย่างที่สองคือการคำนวณเส้นทางที่จำเป็นต้องใช้ในการคำนวณเมื่อสิ่งมีชีวิตเริ่มซุ่มซ่อน ความกังวลหลักของฉันคือเวลาโหลด หากฉันคำนวณเส้นทางหลายเส้นทางในการสร้างเขาวงกตเวลาในการโหลดล่วงหน้าจะค่อนข้างยาวดังนั้นฉันจึงคิดว่าจะคำนวณเส้นทางเหล่านั้นเมื่อจำเป็น ในขณะที่เกมไม่ 'หนัก' ดังนั้นการคำนวณเส้นทางในเกมกลางจะไม่ชัดเจน แต่ฉันเกรงว่าเมื่อมันจะซับซ้อนขึ้น ข้อเสนอแนะความคิดเห็นความคิดเห็นใด ๆ จะเป็นประโยชน์ แก้ไข: สำหรับตอนนี้ขอpเป็นจำนวนของเส้นทางที่คำนวณล่วงหน้าสิ่งมีชีวิตมีความน่าจะเป็นที่1/pจะใช้เส้นทางใหม่ (ซึ่งหมายถึงการคำนวณเส้นทาง) แทนที่จะเป็นเส้นทางที่มีอยู่ สิ่งมีชีวิตไม่ได้เริ่มลาดตระเวนจนกว่าเส้นทางจะถูกคำนวณอย่างสมบูรณ์ดังนั้นจึงไม่จำเป็นต้องกังวลเกี่ยวกับการที่เขาถูกสังหารในกระบวนการ
9 loading  maze 

4
การใช้ XNA ContentPipeline เพื่อส่งออกไฟล์ในเครื่องที่ไม่มี XNA GS แบบเต็ม
เกมของฉันใช้ Content Pipeline เพื่อโหลด spriteSheet ตอนรันไทม์ ศิลปินของเกมส่ง spritesheet ที่ดัดแปลงแล้วมาให้ฉันและฉันจะสร้างในเครื่องของฉันและส่งโครงการที่อัปเดตให้เขา ดังนั้นฉันกำลังมองหาวิธีสร้างไฟล์ xnb ในเครื่องของเขา (นี่คือเอาต์พุตของไพพ์ไลน์เนื้อหา) โดยที่เขาไม่ต้องติดตั้งสตูดิโอ XNA Game แบบเต็ม 1) ฉันไม่ต้องการให้ศิลปินของฉันติดตั้ง VS + Xna (ฉันรู้ว่ามีรุ่นฟรีของ VS แต่จะไม่ขยายขนาดเมื่อเราเพิ่มผู้คนในทีมมากขึ้น) 2) ฉันไม่สนใจที่จะใช้เครื่องมือแก้ไข / แก้ไขนี้ใน Xbox เพื่อให้โซลูชัน Windows ใช้งานได้เท่านั้น 3) ฉันรู้ตัวเลือก MSBuild แต่พวกเขาต้องการ XNA แบบเต็ม ฉันค้นคว้าบล็อกของ Shawn และพบตัวเลือกในการใช้ Msbuild Sampleหรือตัวเลือกใหม่ใน XNA 4.0 ที่ดูมีแนวโน้มที่นี่แต่ดูเหมือนว่าจะมีข้อ จำกัด เหมือนกัน: จำเป็นต้องติดตั้ง …

4
การจำลองทางฟิสิกส์ฝั่งเซิร์ฟเวอร์ที่มีผู้เล่นหลายร้อยคน
ขณะนี้ฉันกำลังทำงานในเกมแนวฟิสิกส์ที่ผู้เล่นคนเดียวซึ่งฉันต้องการให้ฟิสิกส์เป็นฝั่งเซิร์ฟเวอร์จำลอง นี่เป็นเพราะเกมจะมีกระดานผู้นำผู้เล่นที่ต่อเนื่องและอื่น ๆ และฉันต้องการป้องกันการโกงใด ๆ - โดยทั่วไปเป็นสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์ที่แท้จริงไคลเอนต์ "โง่" และแสดงเฉพาะสิ่งที่เซิร์ฟเวอร์ต้องการให้คุณแสดง อย่างไรก็ตามปัญหาคือเกมนี้มีผู้เล่นหลายร้อยคน (อาจจะเป็นพันคน) ในเวลาเดียวกัน เรื่องนี้เกี่ยวข้องกับฉันเพราะมันน่าจะทำให้พลังในการประมวลผลของเซิร์ฟเวอร์ลดลงถ้าฉันต้องทำและรักษาสถานะเป็นร้อย ๆ รายการในเวลาเดียวกัน ฉันจะไม่มีปัญหาในการย้ายการจำลองฟิสิกส์ทั้งหมดไปยังฝั่งไคลเอ็นต์ แต่จากนั้นฉันจะต้องมีวิธีการตรวจสอบจริง ๆ ถ้าผลลัพธ์ของการจำลองไคลเอ็นต์นั้นถูกต้อง อย่างไรก็ตามฉันไม่สามารถหาวิธี ฉันคิดเกี่ยวกับการใช้ฝั่งเซิร์ฟเวอร์จำลองนาน ๆ ครั้งเพื่อตรวจสอบว่าไคลเอนต์ยังคงเล่นอยู่ แต่ฉันต้องการให้เซิร์ฟเวอร์มีความเครียดน้อยที่สุดเท่าที่จะทำได้ วิชาฟิสิกส์จะมีความซับซ้อนเท่ากับการสาธิต GDC 2011 โดย Glenn Fiedlerซึ่งอาจจะง่ายกว่า อย่างไรก็ตามฉากที่มีการชนกันของร่างกายที่แข็งกระด้างจะอยู่ในฉากเดียวและพวกมันจะมองเห็นได้ในครั้งเดียว ฉันมีความยากลำบากในการได้รับคำตอบของกรณีนี้เนื่องจากทรัพยากรส่วนใหญ่บนเว็บ - อีกครั้งเว็บไซต์ Glenn Fiedlers เป็นเว็บไซต์ที่ยอดเยี่ยม - พูดถึงฟิสิกส์เครือข่ายขนาดเล็ก (เช่น FPS ที่มีผู้เล่น 30 คนเช่น Halo) คำแนะนำเว็บไซต์เอกสารหรือสิ่งที่ชอบในเรื่องใด ๆ จะได้รับการชื่นชมมาก …

2
ในเกมแข่งรถ 3 มิติที่ง่ายมากการชนกันจะจัดการอย่างไร
ฉันสงสัยว่าการชนในเกมแข่งรถ 3 มิติแบบเรียบง่ายทำได้อย่างไร (โดยเฉพาะในเกมอย่าง Outrun 2 / Motoracer) ในเกมแข่งรถคลาสสิกที่มีสภาพแวดล้อมที่ซับซ้อน (โลกเปิด) ฉันคิดว่านี่เป็นกล่องพื้นฐาน (สำหรับรถยนต์) เพื่อชนเครื่องบิน (สำหรับแทร็ก สิ่งทั้งหมดจะได้รับการปรับให้เหมาะสมโดยใช้กล่องขอบเขต (นี่คือวิธีการชนกันของเกมในหลาย ๆ เกม) ในเกมอย่าง Outrun 2 / Motoracer การเล่นเกมนั้นง่ายมากที่ผู้พัฒนาอาจไม่ต้องการและทุกอย่างก็ง่ายขึ้นมาก สำหรับผู้ที่ไม่เคยเล่นนี่คือสิ่งที่เฉพาะเจาะจงมาก: รถยนต์ / จักรยานติดอยู่บนถนนเสมอ ถนนมีขนาดเท่ากันเสมอและมีรูปร่างที่เรียบง่ายมาก ความเป็นไปได้เพียงอย่างเดียวคือเดินไปตามถนนนั้นเป็นไปไม่ได้ที่จะออกจากถนนหรือปะทะกับสิ่งอื่น (ยกเว้นรถยนต์ / มอเตอร์ไซค์อื่น ๆ แต่เราไม่สนใจ) เมื่อคุณชนกับถนนการชนกันของอาร์เคดขั้นพื้นฐานก็ทำได้ (รถถูกผลักออกไปจากมัน) นี่คือวิธีที่ฉันคิดว่ามีการปะทะกัน (อาจ): เพลงทั้งหมดอาจถูกมองว่าเป็นเส้นโค้ง 3 มิติที่มีขนาดใหญ่ขึ้น จากเส้นโค้งนั้นสามารถสร้างรูปหลายเหลี่ยมของถนนได้ (โดยใช้เวกเตอร์ด้านหน้าซ้ายและสูงที่สร้างจากเส้นโค้ง) องค์ประกอบอื่น ๆ (เช่นบ้านต้นไม้ ... ) สามารถวางและจัดตำแหน่งโดยใช้วิธีนี้ได้เช่นกัน …

3
ฉันจะย้ายตัวละครในเกม RPG ด้วย Bullet Physics / Ogre3D ได้อย่างไร
เมื่อเร็ว ๆ นี้ฉันมีปัญหากับการย้ายตัวละครในเกม Ogre3D ของฉัน โดยทั่วไปฉันกำลังเคลื่อนไหวตัวละครด้วยRigidBody->translate()ฟังก์ชั่นกระสุนแต่เมื่อทำเช่นนั้นและชนเข้ากับกำแพงฉันก็ผ่านมันไปเล็กน้อยแล้วก็เด้งกลับมา ฉันสงสัยว่ามีวิธีที่ดีอีกวิธีหนึ่งในการย้ายตัวละครของฉัน (ที่มีรูปร่างทรงกลมปะทะกัน) ไปรอบ ๆ ในโลกแบบเครื่องบินเรียบๆกับกำแพงหรือไม่? ห้องสมุดที่ฉันใช้ซึ่งเกี่ยวข้องกับสิ่งนี้คือ 'Ogre3D' และ 'Bullet Physics'

2
บทความเกี่ยวกับเนื้อเรื่องในโลกเปิด [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว มีบทความมากมายเกี่ยวกับการออกแบบเกมโลกเปิดและการเขียนแปลง แต่พวกคุณเจอบทความหรือบล็อกเกี่ยวกับการออกแบบพล็อตที่น่าสนใจในเกมเปิดโลกหรือไม่? สิ่งนี้ฉันหมายถึงอะไร ใน TES: Morrowind คุณได้รับการแนะนำให้รู้จักกับกลไกและได้รับ "ภารกิจหลัก" ภายใน 5 นาทีแรกจากนั้นคุณมีอิสระที่จะไปเรียนรู้ฆ่าทำในสิ่งที่คุณต้องการ ฉันใช้เวลาหลายร้อยชั่วโมงในการเล่นเกม แต่ฉันไม่เคยทำ "เควสต์หลัก" และฉันมั่นใจว่าคนจำนวนมากอยู่ในสถานการณ์เดียวกันไม่ว่าจะเป็น Morrowind, Oblivion หรือ Skyrim อาจเป็นพลังของเกม TES และเป็นเครื่องพิสูจน์ถึงความเป็น RPG ที่ยอดเยี่ยมอย่างไรก็ตามสำหรับฉันโดยคิดว่าเป็นนักออกแบบดูเหมือนว่าความล้มเหลวในการออกแบบขนาดใหญ่ บางทีมันอาจเป็นความจริงที่ว่าไม่มีภัยคุกคามจริงที่ต้องจัดการ ฉันมีความคิดเกี่ยวกับเกมที่อยู่ด้านหลังหัวของฉันฉันต้องการสร้าง platformer แอ็คชั่น แต่ "การเลือกระดับ" จะเป็น "dunegons" แบบเปิดของโลกเหมือนกับที่คุณพบใน MMO นี่เป็นความคิดที่คลุมเครือและไม่ได้รับการพัฒนาดังนั้นอย่ามุ่งความสนใจไปที่มันฉันไม่ได้ให้ความคิดแบบนี้มากนัก แต่มีปัญหาเกิดขึ้นฉันไม่สามารถเข้าใจได้โดยทั่วไปว่าจะให้ผู้เล่นสนใจเปิดได้อย่างไร มุมมองของโลก (fe ที่เกี่ยวข้องกับการโรมมิ่ง, ปาร์ตี้ปล้น, ทำถุงมือวิ่งเพื่อรับชุดเกราะพิเศษล้างแหล่งน้ำจากศัตรู ฯลฯ ) …

3
วิธีที่ถูกต้องในการ "สุ่ม" สร้างภูมิประเทศที่ไหล
ฉันกำลังสร้างเกม RTS แบบบนลงล่างง่ายๆ ฉันวางแผนที่จะสร้างแผนที่แบบ "สุ่ม" ในทันทีเมื่อฉันต้องการ ฉันวางแผนที่จะทำงานทั้งหมดใน 'ผ่าน': เติมภูมิประเทศด้วยหญ้าทั้งหมด ย้อนกลับไปและเพิ่มก้อนกรวดแบบสุ่ม ปัดกรวดออกไป วาด Mountain Landscape บนเลเยอร์ที่สอง รอบภูเขา ฯลฯ ตอนนี้ให้ดูที่ภาพด้านล่าง: ฉันสร้างสิ่งนี้โดยใช้โปรแกรมแก้ไขแผนที่ของฉัน แต่ฉันวางแผนว่าสิ่งนี้จะเป็นผลลัพธ์หลังจากที่หวังว่าจะผ่าน / ขั้นตอนที่ 3 ฉันจะตัดสินใจเกี่ยวกับเวลาและวางกรวดของฉันเพื่อที่ว่าอย่างน้อยก็มีรูปร่างผิดปกติและเป็นระยะ ๆ พอที่จะดูเป็นธรรมชาติ? ขอบคุณถ้าคุณสามารถ! ความช่วยเหลือใด ๆ และชื่นชมทั้งหมด! ในฐานะที่เป็นบันทึกด้านข้าง: แต่ละรอบนั้นโดยทั่วไปฉันจะวนซ้ำผ่านไพ่ทั้งหมดของฉัน (แผนที่แบ่งออกเป็นไพ่ 40x40) คล้ายกับสิ่งนี้: for (int x = 0; x <= GRIDMAX - 1; x++) { for (int y …

1
การแยกสถานะของโลกและแอนิเมชั่นในเกมพื้นฐาน
คุณจัดการกับการแยกอนิเมชั่นจากสภาวะโลกในเกมที่มีการเปิดได้อย่างไร? ฉันกำลังทำงานกับเกม 2D กริดในปัจจุบัน โค้ดด้านล่างนี้ง่ายต่อการอธิบายได้ดีขึ้น เมื่อนักแสดงเคลื่อนไหวฉันต้องการที่จะหยุดการไหลของการหมุนในขณะที่สิ่งมีชีวิตเคลื่อนไหวและย้ายไปยังตำแหน่งใหม่ มิฉะนั้นหน้าจออาจล้าหลังสถานะโลกอย่างมีนัยสำคัญซึ่งอาจทำให้เกิดรูปลักษณ์ที่แปลกประหลาด ฉันต้องการมีภาพเคลื่อนไหวที่ไม่ปิดกั้นการไหลของเกม - เอฟเฟกต์ของอนุภาคสามารถเปิดออกได้หลายรอบโดยไม่ส่งผลต่อการเล่นเกม สิ่งที่ฉันทำคือแนะนำภาพเคลื่อนไหวสองประเภทซึ่งฉันเรียกว่าการปิดกั้นภาพเคลื่อนไหวและภาพเคลื่อนไหวที่ไม่ปิดกั้น เมื่อผู้เล่นต้องการย้ายรหัสที่ถูกเรียกใช้งานคือ class Actor { void move(PositionInfo oldPosition, PositionInfo newPosition) { if(isValidMove(oldPosition, newPosition) { getGame().pushBlockingAnimation(new MoveAnimation(this, oldPosition, newPosition, ....)); player.setPosition(newPosition); } } } จากนั้นห่วงการอัพเดทหลักจะ: class Game { void update(float dt) { updateNonBlockingAnimations(dt); //Effects like particle explosions, damage numbers, etc. Things …

4
มีวิธีเพิ่มประสิทธิภาพการตรวจสอบการชนของระบบของวัตถุ n หรือไม่?
ฉันกำลังสร้างเกมที่ประกอบด้วยวัตถุบนหน้าจอจำนวนมากซึ่งหนึ่งในนั้นคือผู้เล่น ฉันจำเป็นต้องรู้ว่าวัตถุใดที่กระทบทุกการทำซ้ำ ฉันทำอะไรแบบนี้ for (o in objects) { o.stuff(); for (other in objects) if (collision(o, other)) doStuff(); bla.draw(); } นี่มี O (n ^ 2) ซึ่งฉันบอกว่าไม่ดี ฉันจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้นเป็นไปได้ไหม ฉันกำลังทำสิ่งนี้ใน Javascript และโดยปกติแล้ว n จะต่ำกว่า 30 จะเป็นปัญหาหรือไม่หากสิ่งนี้ยังคงเหมือนเดิม

3
ฉันจะคำนวณการตอบสนองการชนระหว่างทรงกลมและระนาบได้อย่างไร
ฉันพยายามสร้างเกมสามมิติที่เรียบง่ายและจำเป็นต้อง จำกัด ผู้เล่นให้อยู่ในขอบเขตของโลกของเกม เมื่อผู้เล่นชนด้านข้างของโลกฉันต้องการให้เรือของผู้เล่นกระเด็นเล็กน้อย ผลที่ตามมาฉันพยายามดักจับผู้เล่นภายในกล่องและหยุดพวกเขาจากการหลบหนีผ่านด้านข้าง ... ฉันจัดการเพื่อกำหนดขีด จำกัด ของ gameworld เป็นชุดของเครื่องบินที่มีบรรทัดฐานและระยะทางจากแหล่งกำเนิด ผู้เล่นที่มีรูปทรงกลม bounding ทรงกลมและจากการติดตามเว็บไซต์นี้http://www.gamasutra.com/view/feature/3383/simple_intersection_tests_for_games.phpฉันมีการจัดการในการตรวจสอบการชนกัน ตอนนี้ฉันไม่สามารถบอกได้ว่าจะต้องทำอะไรเมื่อตรวจพบการชน สิ่งที่ดีที่สุดที่ฉันสามารถจัดการได้คือผู้เล่นติดอยู่ในระนาบตรงทะลุมันหรือกระเด้งออกไปในอัตราที่เร็วมาก ๆ สามัญสำนึกบอกฉันว่าฉันต้องคำนวณมุมที่สะท้อนออกจากระนาบโดยใช้แบบปกติและใช้กับความเร็วของผู้เล่น แต่ฉันคิดว่าฉันต้องดูก่อนว่าผู้เล่นผ่านระนาบซึ่งเป็นบิตที่ฉันไม่สามารถทำได้หรือไม่ ออกกำลังกาย.

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