การพัฒนาเกม

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

3
ฉันจะหมุนวัตถุโดยอิงจากอ็อฟเซ็ตของวัตถุอื่นได้อย่างไร?
ฉันมีแบบจำลอง 3 มิติของป้อมปืนที่หมุนรอบแกน Y ป้อมปืนนี้มีปืนใหญ่ที่อยู่กึ่งกลางของวัตถุ ฉันต้องการปืนใหญ่ไม่ใช่ป้อมปืนเพื่อเล็งไปที่เป้าหมายที่ระบุ อย่างไรก็ตามฉันสามารถหมุนป้อมปืนได้เท่านั้นและด้วยเหตุนี้ฉันจึงไม่ทราบว่าต้องใช้สมการใดเพื่อบรรลุเป้าหมาย ภาพต่อไปนี้แสดงให้เห็นถึงปัญหาของฉัน: หากฉันมีป้อมปืน "LookAt ()" เป้าหมายเลเซอร์ที่มาจากปืนใหญ่จะพลาดเป้าหมายที่กล่าวไปทั้งหมด ถ้านี่เป็นสถานการณ์จากบนลงล่างอย่างสมบูรณ์และปืนใหญ่ขนานกับป้อมปืนแล้วตรรกะของฉันบอกฉันว่าเป้าหมายปลอมควรอยู่ในตำแหน่งที่เท่ากับเป้าหมายจริงบวกกับออฟเซ็ตที่เท่ากับระหว่าง ป้อมปืนและปืนใหญ่ อย่างไรก็ตามในสถานการณ์จริงของฉันกล้องของฉันมีมุม60ºและปืนใหญ่มีการหมุนเล็กน้อย ภาพต่อไปนี้แสดงให้เห็นถึงสถานการณ์: ฉันไม่แน่ใจอย่างแน่นอนว่าทำไม แต่ถ้าฉันใช้การชดเชยแบบเดียวกันดูเหมือนว่าจะทำงานได้ในขณะที่เล็งไปที่ระยะทางจากป้อมปืน ตรรกะของฉันมีข้อบกพร่องหรือไม่ ฉันขาดพื้นฐานบางอย่างที่นี่หรือไม่? การแก้ไขขั้นสุดท้าย: โซลูชันที่ได้รับจาก @JohnHamilton อัพเดตล่าสุดแก้ไขปัญหานี้ได้อย่างแม่นยำ ตอนนี้ฉันได้ลบรหัสและรูปภาพที่ฉันใช้เพื่อแสดงการใช้งานที่ไม่ถูกต้องของฉัน

2
คุณจะเพิ่มภาษาสคริปต์ลงในเกมได้อย่างไร
สมมติว่าฉันมีเกมที่เขียนด้วย C ++ แต่ฉันต้องการเพิ่มฟังก์ชั่น modding หรือ scripting เข้าไป เราจะเพิ่มฟังก์ชันการเขียนสคริปต์ในเกมของคุณอย่างไร?
25 c++  scripting  modding 

8
เครื่องมือที่ดีในการสร้างสไปรต์เคลื่อนไหวคืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา มีใครบ้างที่พบซอฟต์แวร์แพ็กเกจที่อนุญาตให้คุณสร้างภาพเคลื่อนไหวในลักษณะที่คล้ายกับวิธีที่คุณใช้ใน Flash (เช่นการใช้เทคนิคต่าง ๆ เช่น tweens & bone & easings เป็นต้น) จากนั้นจึงส่งออกเป็น sprite ชีท?

3
อะไรทำให้ ALT-TAB เป็น 'น่ารำคาญ' / ช้า / ผิดพลาด?
นี่เป็นคำถามปลายเปิดมากกว่า แต่ฉันหวังว่าจะได้รับข้อมูลเชิงลึกที่ดีเกี่ยวกับวิธีหลีกเลี่ยงปัญหา เมื่อเล่นเกมบน Windows ฉันอาจต้องการ ALT-TAB เกมบางเกมไม่มีปัญหาอื่น ๆ ไม่ใช่เรื่องง่าย: พวกเขาอาจใช้เวลา AGES เพื่อสลับออกและกลับมาบางเกมมีแนวโน้มที่จะกระแทกหรือพฤติกรรมแปลก ๆ เช่นการบิดเบือนกราฟิกหรือเสียงพูดติดอ่าง ฉันแค่สงสัยว่าอะไรทำให้เกิดพฤติกรรมนี้ นี่เป็น DirectX หรือ OpenGL มากกว่านี้ใช่ไหม มันเกิดจากเกมที่ 'ฉลาด' และแคช / เช็ดแคชทุกครั้งที่เปลี่ยนการตั้งค่าหน้าจอหรือไม่? (ฉันคิดว่าพวกเขาจะได้รับสัญญาณบางอย่างเมื่อฉัน ALT-TAB?) ฉันไม่มีปัญหาใด ๆ ของฉันเอง แต่ฉันอยากรู้ว่าต้องหลีกเลี่ยงอะไรและเคล็ดลับ 'ฉลาด' ใดที่อาจทำให้เกิดประสบการณ์ลูกค้าที่น่ากลัวประเภทนี้

4
จะออกแบบซอฟต์แวร์ของเกมอย่างไรให้ง่ายต่อการทดสอบหน่วย?
เป็นจริงหรือไม่ที่จะใช้กรอบการทดสอบเช่น JUnit ในสถานการณ์การพัฒนาเกม ข้อควรพิจารณาในการออกแบบประเภทใดที่คุณสามารถติดตามเพื่อทำให้เกมของคุณทดสอบได้มากขึ้น? ส่วนใดของเกมที่สามารถ / ควรทดสอบและส่วนใดที่ควร / ต้องถูกทดสอบให้เป็นมนุษย์? ตัวอย่างเช่นหากวนเกมถูกห่อหุ้มในฟังก์ชั่นเดียวดูเหมือนว่าเป็นการยากที่จะทดสอบ ฉันต้องการ refactor ออกจากฟังก์ชั่น "update" ที่ต้องใช้เวลาเดลต้าและเลื่อนไปข้างหน้าตรรกะของเกม; วิธีนี้ช่วยให้ลูกเล่นที่น่าสนใจบางอย่างเช่นความสามารถในการทำให้เกมช้าลงโดยการให้อาหารมันปลอมเวลา deltas ช้าลง

9
สถานที่ที่ดีที่สุดสำหรับการเรียนรู้วิธีเขียนเกมใน Unity3d [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา ที่ดีที่สุดสำหรับบทเรียนและแหล่งการเรียนรู้อื่น ๆ สำหรับ unity3d คืออะไร
25 unity 

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

3
ฉันจะอ่านระหว่างค่าที่วนซ้ำ (เช่นสีหรือการหมุน) ได้อย่างไร
ดูการสาธิต ฉันพยายามที่จะทำให้รอยต่อหมุนได้อย่างราบรื่นรอบจุดศูนย์กลางของผืนผ้าใบไปยังมุมของตัวชี้เมาส์ สิ่งที่ฉันได้ผล แต่ฉันต้องการให้มันเคลื่อนไหวได้ในระยะทางที่สั้นที่สุดเท่าที่จะเป็นไปได้เพื่อให้ได้มุมของเมาส์ ปัญหาเกิดขึ้นเมื่อค่าวนรอบที่เส้นแนวนอน ( 3.14และ-3.14) วางเมาส์เหนือบริเวณนั้นเพื่อดูว่าทิศทางเปลี่ยนไปอย่างไรและมันจะย้อนกลับไปได้ไกล รหัสที่เกี่ยวข้อง // ease the current angle to the target angle joint.angle += ( joint.targetAngle - joint.angle ) * 0.1; // get angle from joint to mouse var dx = e.clientX - joint.x, dy = e.clientY - joint.y; joint.targetAngle = Math.atan2( dy, dx …

4
กำลังสร้างแผนที่ย่อย
ฉันกำลังเขียนโปรแกรมเกมแบบเรียงต่อกันและมีพื้นฐานบางอย่าง (หญ้าดิน ฯลฯ ) แต่ฉันไม่สามารถหาวิธีสร้างแผนที่แบบสุ่มที่ดีเพราะเมื่อฉันเลือกแบบสุ่มจริงๆถ้าเป็นไทล์ ควรเป็นหญ้า / สิ่งสกปรกฉันได้สิ่งนี้: ฉันเข้าใจว่าทำไมสิ่งนี้ถึงเกิดขึ้น แต่สิ่งที่ฉันต้องการคือการสร้างพื้นที่ต่อเนื่องของหญ้าหรือดินอย่างต่อเนื่อง บางสิ่งที่เหมาะสมกว่านี้:


5
การหมุนเวกเตอร์ 3 โดยควอเทอเนียน
ฉันพยายามหมุนเวกเตอร์ 3 ด้วย quaternion ที่กำหนด ฉันรู้ว่านี่เป็นเรื่องจริง โวลต์'= q⋅ v ⋅ q- 1โวลต์'=Q⋅โวลต์⋅Q-1 v' = q \cdot v \cdot q^{-1} ฉันรู้ว่าเป็นสิ่งที่ตรงกันข้ามที่แต่ฉันจะแมปการคูณเวกเตอร์กับควอเทอเรียนเพื่อกลับเวกเตอร์ได้อย่างไร?Q- 1Q-1 q^{-1} - คิวm a gn ฉันt U วันที่e ( q)-Qม.aก.nผมเสื้อยูdอี(Q) \frac {-q} {magnitude(q)} ฉันได้พบว่าคุณสามารถปฏิบัติต่อเป็นเมทริกซ์และแปลงและเป็นเมทริกซ์แล้วแปลงจากเมทริกซ์เป็นเวกเตอร์ได้ แต่นี่ดูเหมือนจะน้อยกว่าด้านบนเพื่อรับเวกเตอร์ มีการนำไปใช้ที่สะอาดกว่าที่ฉันสามารถใช้ได้หรือไม่?โวลต์โวลต์vQQqQ'Q'q'โวลต์'โวลต์'v'
25 c++  quaternion 

3
มีฟังก์ชั่นไซน์ที่เร็วกว่านี้ไหม?
ฉันกำลังทำงานเกี่ยวกับการสร้างเสียง perlin 3d ไลบรารี C # Math ดูเหมือนว่าเกินความจำเป็นสำหรับสิ่งที่ฉันต้องการเนื่องจากฟังก์ชั่นส่วนใหญ่ใช้การคิดแบบสองครั้ง ฉันใช้ Math.Sin () ในหลายแห่งเพื่อสร้างเสียง ไม่มีใครรู้ถึงฟังก์ชั่นไซน์ที่เร็วกว่านี้ไหม?
25 xna  c#  mathematics 

3
ฉันจะทำให้น้ำดูมืดลงได้ลึกเหมือน Minecraft ได้อย่างไร
ใน Minecraft เมื่อคุณดูน้ำยิ่งคุณเห็นความมืดที่ได้รับ ไม่มีใครรู้วิธีการรหัสบางอย่างเช่นนั้น Minecraft ที่มีเอฟเฟกต์ เกมที่คล้ายกันโดยไม่มีผลกระทบ
24 effects 

6
ความล่าช้าหลังจากการสูญเสียและก่อนที่จะรีสตาร์ททำหน้าที่เป็นเครื่องป้องกันความเหนื่อยหน่ายหรือเป็นเครื่องติดยาเสพติดหรือไม่?
ในเกมอย่าง Super Hexagon หรือแม้กระทั่ง Everwing มีความล่าช้าเล็กน้อย แต่สังเกตได้ชัดเจนจากการสูญเสียการเริ่มต้นใหม่: รอให้ปุ่มรีสตาร์ทปรากฏขึ้นกดอีกครั้ง ... นี่เป็นการป้องกันผู้เล่นที่เหนื่อยหน่ายหรือเปล่า? หากไม่มีการหยุดชั่วคราวที่แยกเกมหนึ่งจากเกมถัดไปเกมอาจรู้สึกไม่มีที่สิ้นสุดและทำให้ผู้เล่นเสียสมาธิอย่างรวดเร็ว หรือมันเป็นวิธีที่จะทำให้ผู้เล่นติดอยู่? ฉันมักจะสงสัยสิ่งนี้ใน Everwing เพราะเกมนั้นแทบจะไม่อายเกี่ยวกับธรรมชาติที่โลภมาก อาจมีผลทางจิตวิทยาในการทำให้ผู้เล่นรอก่อนที่พวกเขาจะสามารถเล่นได้อีกครั้ง - เช่นการสร้างความอยากเป็นส่วนหนึ่งของนิสัย? หรือบางทีการขาดความล่าช้านี้ก็คือการพูดต่อไป Ori และป่าตาบอดทำบางสิ่งที่คล้ายกันในระดับต้นไม้ของGinso มันมีการรีสตาร์ทที่รวดเร็วไม่มีปุ่มหรืออะไรเลยและความตายก็ไม่ได้รีสตาร์ทเพลงที่เล่นใน BG ผลที่ได้คือความตายไม่ทำลายการไหลเวียนของเกมและแม้ว่าพวกเขาจะรู้สึกได้อย่างราบรื่น ดังนั้นมีการศึกษาเกี่ยวกับเรื่องนี้หรือไม่? นอกเหนือจากนั้นเกร็ดเล็กเกร็ดน้อย? ฉันไม่พบสิ่งใดเลย

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

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