การพัฒนาเกม

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


1
ส่วนประกอบของ gl_TexCoord [0] หมายถึงอะไร?
อะไรคือความแตกต่างระหว่างgl_TexCoord[0].s, gl_TexCoord[0].t gl_TexCoord[0].pและgl_TexCoord[0].x, gl_TexCoord[0].y gl_TexCoord[0].z? ฉันเข้าใจว่าgl_TexCoord[0].x, gl_TexCoord[0].y gl_TexCoord[0].zพิกัดพิกเซลเป็นอย่างไร แต่gl_TexCoord[0].s, gl_TexCoord[0].t gl_TexCoord[0].pฉันต้องใช้มันหมายความว่าอะไรและที่ไหน?

2
ภาพเคลื่อนไหวเกี่ยวกับตัวละคร / วัตถุโต้ตอบทำงานอย่างไรในเกมภาพวาดสามมิติ?
ฉันกำลังวางแผนเกมจำลองธุรกิจจำลองภาพสามมิติที่ผู้เล่นเห็นสำนักงานพร้อมเฟอร์นิเจอร์ตามปกติเช่นโต๊ะทำงานกระดานไวท์บอร์ดเป็นต้น ตัวละคร (พนักงาน / NPC) ภายในเกมควรโต้ตอบกับวัตถุเหล่านี้โดยทำงานบางอย่างที่กำหนดไว้ล่วงหน้าเช่นการพิมพ์บนแป้นพิมพ์ที่โต๊ะทำงานหรือเขียนบนกระดานไวท์บอร์ดเป็นต้น สิ่งที่ฉันสนใจโดยเฉพาะคือสถานการณ์ต่อไปนี้: ตัวละครเคลื่อนข้ามสำนักงาน (1) ไปที่โต๊ะทำงาน (2) แล้วนั่งลงและเริ่มพิมพ์ (3) จากสิ่งที่ฉันเข้าใจฉันจะมีแผ่นผีสางสำหรับการเคลื่อนไหวของตัวละคร (1) และสไปรต์แบบคงที่สำหรับโต๊ะ (2) แต่ฉันไม่เข้าใจว่าจะจัดการขั้นตอนที่สามได้อย่างไร มีสไปรต์รวมที่มีทั้งโต๊ะและตัวละครหรือไม่? ฉันคิดว่าไม่งั้นฉันจะต้องมีแผ่นผีสางสำหรับโต๊ะและตัวละครทุกชุด วิธีนี้จัดการได้อย่างไร แก้ไข: นี่คือตัวอย่างภาพเคลื่อนไหวเฉพาะจากเกม Theme Hospital คุณสามารถดูวิดีโอที่นี่ เท่าที่ฉันเห็นภาพเคลื่อนไหวแบ่งออกเป็นหลายขั้นตอน ขั้นตอนที่ 1 - ตัวละครเคลื่อนไหวระหว่างโต๊ะและเก้าอี้ นี่แสดงให้เห็นว่าเก้าอี้และโต๊ะทำงานนั้นแตกต่างกันในความเป็นจริง ขั้นตอนที่ 2 - ตัวละครนั่งลงภาพเคลื่อนไหว สังเกตว่าในกรอบสุดท้ายที่เก้าอี้อยู่ใกล้กับโต๊ะมากขึ้น ขั้นตอนที่ 3 - ภาพเคลื่อนไหวโต๊ะ ขั้นตอนที่ 4 - ภาพเคลื่อนไหวที่โดดเด่น เหมือนกับนั่ง แต่เล่นในสิ่งที่ตรงกันข้าม ขั้นตอนที่ 5 - …

2
คุณคำนวณได้อย่างไรว่ามี 2 บรรทัดหันหน้าไปทางหรือออกไป?
เมื่อได้รับ 4 คะแนนที่อธิบายถึง 2 ส่วนของเส้นคุณจะคำนวณได้อย่างไรว่าเส้น A ไปทางหรือออกจากบรรทัด B เส้น 2 เส้นมีความยาวคงที่และสามารถวัดระยะทางจาก x1 / y1 ถึง x2 / y2

4
จำเป็นต้องใช้ฮาร์ดแวร์ชนิดใดในการสร้าง Minecraft ขนาดเท่าแผนที่?
ฉันกำลังคิดเกี่ยวกับปัญหานี้ เป็นไปได้ไหมกับเทคโนโลยีปัจจุบันที่จะสร้างโลกจำลอง 1: 1 ในเกมที่ใช้ voxel? โครงสร้างข้อมูลที่ดีที่สุดในการจัดเก็บแผนที่ยักษ์นี้คืออะไร? อัลกอริทึมใดที่ควรใช้เพื่อแสดงโครงสร้างข้อมูลนี้แบบเรียลไทม์ คำถามเหล่านี้ทำให้สมมติฐานเหล่านี้: แต่ละ voxel มีความละเอียด 1 ลูกบาศก์เมตร เพื่อความเรียบง่ายแต่ละ voxel ต้องการข้อมูลเมตาดาต้าเพียง 1 ไบต์ ข้อมูลนี้จะถูกใช้เพื่อจัดเก็บข้อมูลระบุ "ประเภท" ของ voxel (ดินน้ำหิน ฯลฯ ) ปริมาตรดินเป็น 1 * 10 - 21 ลูกบาศก์เมตร โดย "เทคโนโลยีปัจจุบัน" ฉันรวมสิ่งใดก็ตามที่มีขายทั่วไป แต่ไม่ใช่ซุปเปอร์คอมพิวเตอร์ เฉพาะภูมิประเทศของโลกและ Bathymetry เท่านั้นที่จะใช้ในการสร้างแผนที่ ไม่รวมถึงการสร้างมนุษย์พืชหรือถ้ำ บล็อกใต้ดินจะถูกเลือกตามการศึกษาทางธรณีวิทยาเช่นหากความลึกมากกว่า 3000 กม. จะทำให้เกิด 'magma' voxel เช่นเดียวกับใน Minecraft แผนที่ไม่คงที่สามารถปรับเปลี่ยนได้ในเกม …

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

2
การค้นหาไทล์ใดที่ถูกตัดกันโดยบรรทัดโดยไม่ต้องวนลูปทั้งหมดหรือข้ามใด ๆ
ฉันกำลังจ้องมองปัญหานี้มาสองสามวันแล้ว ฉันดึงภาพนี้ขึ้นมาเพื่อช่วยให้เห็นภาพของปัญหา: (จากกราฟเรารู้ว่าเส้นตัดกัน [1, 1], [1, 2], [2, 2], [2, 3] ซึ่งลงท้ายด้วย [ 3,3]) ฉันต้องการที่จะก้าวไปตามเส้นสู่พื้นที่กริดแต่ละอันและตรวจสอบเพื่อดูว่าวัสดุของพื้นที่กริดนั้นมั่นคงหรือไม่ ฉันรู้สึกว่าฉันรู้คณิตศาสตร์แล้ว แต่ฉันยังไม่สามารถรวมมันเข้าด้วยกันได้ ฉันใช้สิ่งนี้เพื่อทดสอบสายตาและกำจัดโหนดหลังจากพบเส้นทางผ่านอัลกอริธึมการค้นหาเส้นทางของฉัน - เอเจนต์ของฉันไม่สามารถมองผ่านบล็อกทึบดังนั้นพวกเขาจึงไม่สามารถเคลื่อนที่ผ่านหนึ่งดังนั้นโหนดจึงไม่ถูกกำจัดออกจากเส้นทาง จะต้องนำทางมุม ดังนั้นฉันต้องการอัลกอริทึมที่จะไปตามเส้นตรงไปยังพื้นที่กริดแต่ละอันที่มันตัดกัน ความคิดใด ๆ ฉันได้ดูอัลกอริธึมทั่วไปจำนวนมากเช่นของ Bresenham และขั้นตอนที่กำหนดช่วงเวลาตามเส้นที่กำหนดไว้ล่วงหน้า (น่าเสียดายที่วิธีนี้ข้ามกระเบื้องถ้าพวกเขาตัดกันด้วยลิ่มที่เล็กกว่าขนาดขั้นตอน) ตอนนี้ฉันกำลังเติมไวท์บอร์ดของฉันด้วยพื้น () และฟังก์ชั่น ceil () - แต่มันซับซ้อนเกินไปและฉันกลัวว่ามันอาจทำให้เกิดการชะลอตัว

1
การเปลี่ยนรูปพื้นผิว
ฉันกำลังพยายามทำให้พฤติกรรมทางฟิสิกส์ที่ผิดรูปสำหรับพื้นผิวระดับสำเร็จ แต่ยังไม่มีความคิดว่าจะเริ่มต้นอย่างไรกับการดำเนินการจนถึงปัจจุบัน โดยไม่คำนึงถึงรูปร่างของพื้นผิว (เครื่องบิน, ก้อน, ทรงกลม…), ฉันต้องการให้มีการเยื้องเล็กน้อยที่ตำแหน่งจากเอนทิตีของเกม (ผู้เล่น, ศัตรู, วัตถุ ... ) มันเป็นเรื่องซับซ้อนที่จะอธิบายดังนั้นฉันจึงแสดงสิ่งที่ฉันกำลังพูดถึงนี่เป็นตัวอย่างของทรงกลม: ดังนั้นพื้นผิวควรจะสามารถทำให้เสียโฉมได้เล็กน้อย (ให้ดูเหมือนเตียงนุ่มหรือโซฟาจริงๆ) พื้นผิวของฉันอาจต้องมีจุดยอดสูงเพื่อให้การเปลี่ยนรูปราบรื่น แต่ปัญหาใหญ่ของฉันคือคณิตศาสตร์สำหรับการคำนวณการเสียรูปนี้ ฉันกำลังเขียนโปรแกรมใน C / C ++ กับ OpenGL แต่คำแนะนำใด ๆ ในทิศทางที่ถูกต้องจะใช้ได้

2
เทคนิคการตรวจจับการชนของเครื่องยนต์ฟิสิกส์อย่างต่อเนื่อง
ฉันกำลังทำงานกับเอนจินฟิสิกส์แบบต่อเนื่องล้วนๆและฉันต้องเลือกอัลกอริทึมสำหรับการตรวจจับการชนกันของเฟสกว้างและแคบ "ต่อเนื่องอย่างหมดจด" หมายถึงฉันไม่เคยทำการทดสอบทางแยก แต่ต้องการหาวิธีที่จะจับการชนกันทุกครั้งก่อนที่มันจะเกิดขึ้นและวางลงในสแต็ก "การชนกันตามแผน" ที่จัดทำโดย TOI ช่วงกว้าง วิธีเดียวในช่วงกว้างอย่างต่อเนื่องที่ฉันสามารถนึกได้คือการห่อหุ้มร่างกายแต่ละดวงในวงกลมและทดสอบว่าแต่ละวงกลมจะทับซ้อนกันหรือไม่ อย่างไรก็ตามเรื่องนี้ดูเหมือนว่าจะไม่มีประสิทธิภาพอย่างน่ากลัวและขาดการคัดเลือกใด ๆ ฉันไม่มีความคิดว่า analogs แบบต่อเนื่องอาจมีอยู่สำหรับวิธีการคัดแยกการชนกันของวันนี้เช่นต้นไม้สี่ต้นอย่างใดอย่างหนึ่ง ฉันจะป้องกันการทดสอบในวงกว้างที่ไม่เหมาะสมและไม่มีจุดหมายได้อย่างไรเช่นเครื่องยนต์ไม่ต่อเนื่องทำอย่างไร ฉันต้องการเห็นการชนกันมากกว่า 1 เฟรมก่อนหน้า Narrow Phase ฉันพยายามปรับ SAT แคบ ๆ ให้เป็นการตรวจสอบอย่างต่อเนื่องมากกว่าที่จะแยก แต่ฉันแน่ใจว่ามีอัลกอริธึมอื่นที่ดีกว่าในเอกสารหรือเว็บไซต์ที่คุณอาจเจอ คุณแนะนำให้ฉันใช้อัลกอริทึมแบบเร็วและแม่นยำแบบใดและข้อได้เปรียบ / ข้อเสียของแต่ละข้อคืออะไร? หมายเหตุสุดท้าย: ฉันพูดถึงเทคนิคและไม่ใช่อัลกอริธึมเพราะฉันยังไม่ได้ตัดสินใจว่าฉันจะเก็บรูปหลายเหลี่ยมหลายรูปแบบได้อย่างไรซึ่งอาจเป็นเว้านูนกลมหรือมีรู ฉันวางแผนที่จะตัดสินใจบนพื้นฐานของสิ่งที่อัลกอริทึมต้องการ (เช่นถ้าฉันเลือกอัลกอริทึมที่แบ่งรูปหลายเหลี่ยมออกเป็นรูปสามเหลี่ยมหรือรูปทรงนูนฉันจะเก็บข้อมูลรูปหลายเหลี่ยมในรูปแบบนี้)

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

1
คุณสามารถฝัง Unity3d mobile project ลงในแอพมือถือที่มีอยู่แล้วได้หรือไม่?
ฉันกำลังสร้างแอปพลิเคชันสำหรับทั้ง Android และ iPhone ที่จะมีมินิเกมอยู่สองสามตัว ฉันต้องการสร้างส่วนที่ไม่ใช่เกมใน Android และ iPhone คำถามของฉันคือมีความเป็นไปได้ไหมที่จะมีแอพพื้นฐานที่จะรวม Unity mini game ที่ฉันสร้างทั้งหมดในโปรเจค apk และ ios?
10 android  iphone  unity  ios 

4
เครื่องมือเกม HTML5 หรือ Javascript เพื่อพัฒนาเกมเบราว์เซอร์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา ฉันต้องการเริ่มต้นพัฒนาเกมเบราว์เซอร์ MMO เช่น Travian หรือ Ogame ซึ่งอาจเกี่ยวข้องกับฟีเจอร์กราฟิกที่ซับซ้อนกว่าเล็กน้อยเช่นผู้เล่นที่โต้ตอบในแบบเรียลไทม์ด้วยแผนที่ 2d หรืออะไรทำนองนั้น ข้อสงสัยหลักของฉันคือเครื่องมือพัฒนาชนิดใดที่ฉันควรใช้: ฉันมีประสบการณ์ที่ดีกับ PHP และ MySQL สำหรับฝั่งเซิร์ฟเวอร์และ Javascript (และ jQuery) เกี่ยวกับฝั่งไคลเอ็นต์ การเขียนโค้ดทุกอย่างตั้งแต่เริ่มต้นจะเป็นเรื่องที่เจ็บปวดจริงๆดังนั้นฉันจึงสงสัยว่าฉันควรใช้โปรแกรมจาวาสคริปต์หรือเปล่า มีเอ็นจิ้นเกม (ฟรี) ที่คุณอยากแนะนำ พวกเขาดีพอที่จะพัฒนาเกมใหญ่หรือไม่? นอกจากนี้ฉันเห็นเกม HTML5 จำนวนมากโผล่ขึ้นมาเมื่อไม่นานมานี้ แต่ตอนนี้ฉันแน่ใจว่าการใช้ HTML5 เป็นความคิดที่ดีหรือไม่ คุณจะแนะนำหรือไม่ ข้อดีและข้อเสียของการใช้ HTML5 คืออะไร หากคุณต้องการแนะนำคุณมีลิงค์ที่ดีเกี่ยวกับการพัฒนาเกมด้วย HTML5 หรือไม่? (PS: ฉันรู้ว่า …


2
กำจัดวัตถุที่ตายแล้วในเกมได้อย่างมีประสิทธิภาพหรือไม่?
ฉันกำลังใช้ลูป for หรือ foreach ลูป (ไม่สำคัญ) เพื่อวนลูปผ่านวัตถุทั้งหมดของฉันเมื่อพวกเขาต้องการการปรับปรุงหรือวาด อย่างไรก็ตามเมื่อวัตถุถูกฆ่าตายฉันต้องการให้มันถูกลบออกจากคอลเลกชันอีกครั้ง ฉันทำสิ่งนี้โดยการเพิ่มวัตถุลงในรายการวัตถุที่ตายแล้วเมื่อทุกอย่างได้รับการวาดและอัปเดตฉันจะผ่านทุกสิ่งในรายการนี้โดยลบวัตถุในรายการจากแหล่งดั้งเดิมเช่นกัน มีวิธีที่ดีกว่าในการทำเช่นนี้?
10 xna  c#  xna-4.0 

1
SharpDX นั้นโตพอที่จะนำมาใช้หรือควรจะเริ่มใช้ SlimDX ตอนนี้หรือไม่?
ฉันกำลังจะหยุดโครงการเกมของฉันใน XNA เพราะจากสิ่งที่ฉันสามารถรวบรวมได้การพัฒนากำลังจะสิ้นสุดลง (และมันก็ล้าหลังเทคโนโลยีปัจจุบันแล้ว) ดังนั้นฉันต้องนำเฟรมเวิร์กหรือ API ใหม่มาใช้ ฉันเพิ่งใช้เวลา 2 วันเพื่อดู C ++ และตัดสินใจว่าไม่ใช่สำหรับฉัน - แต่ฉันจะพบว่าการเข้าถึง DirectX เพื่อดึงดูดความสนใจ SharpDX ฟังดูเหมือนเป็นจุดเริ่มต้นที่ดี แต่ไม่มีเอกสารประกอบและไม่มีความคิดเห็นเกี่ยวกับโค้ด ฉันรู้สึกว่ามันยังไม่พร้อมใช้งาน ฉันสนใจความคิดเห็นของผู้คนที่ใช้กรอบงานทั้งสองอย่างนี้หรือทั้งสองอย่างเพื่อช่วยฉันตัดสินใจว่าฉันควรเรียนรู้อย่างใด ขอบคุณสำหรับคำแนะนำใด ๆ
10 xna  slimdx  sharpdx 

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