การพัฒนาเกม

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

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

5
มีเอ็นจิ้น 3D ฟรีและโอเพ่นซอร์สสำหรับ Android หรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา มีเอ็นจิ้นโอเพนซอร์ส 3D ฟรีและไม่ จำกัด สำหรับ Android หรือไม่ มีบางสิ่งที่ตรงไปตรงมากับ NDK หรือไม่? ฉันได้พบเพียงสองเครื่องยนต์: Unity และ Shiva 3D แต่ไม่มีโอเพนซอร์สหรือฟรี

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

1
ความแตกต่างระหว่าง opengl 3 และ opengl 4
ฉันเพิ่งเริ่มต้นกับการเขียนโปรแกรมเกมและฉันต้องการเริ่มเรียนรู้ OpenGL ฉันพบบทเรียนที่ยอดเยี่ยมตั้งแต่เริ่มต้นกับ opengl 3 และฉันสงสัยว่ามีความแตกต่างอย่างมากระหว่าง openGL 3 และ openGl 4 หรือฉันควรถามว่า openGL 4 ทำให้ openGL 3 ล้าสมัยหรือไม่ฉันสามารถเริ่มต้นด้วย openGL 3 แล้วฉันจะย้ายไปที่ openGL 4 ได้ไหม?
10 opengl 

3
วิธีลบเนื้อหา box2d เมื่อเกิดการชน
ฉันยังใหม่กับการเขียนโปรแกรมจาวาและ Android และฉันมีปัญหามากการลบวัตถุเมื่อเกิดการชน ฉันมองไปรอบ ๆ เว็บและพบว่าฉันไม่ควรจัดการกับการลบเนื้อหาของ BOX2D ในระหว่างการตรวจจับการชน (ผู้ฟังรายชื่อผู้ติดต่อ) และฉันควรเพิ่มวัตถุของฉันลงในรายการอาร์เรย์และตั้งค่าตัวแปรในส่วนข้อมูลผู้ใช้ของร่างกายเพื่อลบหรือไม่ แอ็คชันการลบในตัวจัดการอัพเดต ดังนั้นฉันจึงทำสิ่งนี้: ก่อนอื่นให้นิยาม ArrayLists สองอันสำหรับใบหน้าและอีกอันสำหรับร่างกาย: ArrayList<Sprite> myFaces = new ArrayList<Sprite>(); ArrayList<Body> myBodies = new ArrayList<Body>(); จากนั้นเมื่อฉันสร้างใบหน้าและเชื่อมต่อใบหน้านั้นกับร่างกายฉันเพิ่มพวกเขาไปยัง ArrayLists ของพวกเขาเช่นนี้: face = new AnimatedSprite(pX, pY, pWidth, pHeight, this.mBoxFaceTextureRegion); Body BoxBody = PhysicsFactory.createBoxBody(mPhysicsWorld, face, BodyType.DynamicBody, objectFixtureDef); mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face, BoxBody, true, true)); myFaces.add(face); myBodies.add(BoxBody); …

2
โครงสร้างข้อมูลในเกมที่เก่ากว่า
ฉันอยากรู้เกี่ยวกับโครงสร้างข้อมูลที่ใช้ในการเขียนโปรแกรมเกมที่เก่ากว่าเช่น Super Mario Brothers สำหรับ NES และ Super Mario World สำหรับ SNES ความเข้าใจของฉันคือเกมของช่วงเวลานี้ถูกเขียนขึ้นในการชุมนุม โปรแกรมเมอร์กำหนดหรือใช้โครงสร้างข้อมูลใด ๆ หรือไม่? ตัวอย่างเช่น: เมื่อกลุ่มของเหรียญปรากฏบนหน้าจอวิธีที่พวกเขาเก็บไว้ได้อย่างไร โปรแกรมเมอร์ไม่ได้ใช้อาร์เรย์หรือไม่ หรือบางทีพวกเขามีรายการเชื่อมโยง? ไชโย! แก้ไข : ฉันสนใจวิธีการต่าง ๆ ... ไม่จำเป็นต้องเป็นแนวทางสากล แก้ไข 2 : ในบางเกมของฉันฉันใช้วิธี (อาจไม่ดี) ต่อคอลเล็กชันและฉันต้องการทราบว่าเกมเก่า ๆ เกมใดใช้แนวทางที่คล้ายกันหรือไม่ ฉันชอบที่จะทำต่อไปนี้: // statically allocated arrays (max number of coins is 4) int coinsXs[4] = {0, …

3
การใช้ชื่อผู้ผลิตรถยนต์ในเกมนั้นถูกกฎหมายหรือไม่?
การใช้ชื่อผู้ผลิตรถยนต์ในเกมนั้นถูกกฎหมายหรือไม่? ตัวอย่างเช่น: อธิบายระบบขับเคลื่อนของ quattro ของ Audi อย่างไร การแสดงเรนเดอร์ของ Audi รวมภาพถ่าย (ซึ่งฉันมีสิทธิ์) ของออดี้
10 legal 

3
ย้ายจาก DirectX 10 ไปยัง DirectX 11
ฉันได้ทำโปรเจ็กต์งานอดิเรกขนาดเล็กในจำนวนที่สมเหตุสมผลโดยใช้ DirectX 9 แต่ถึงเวลาที่จะย้ายไปที่ DirectX 11 แล้ว ฉันมีหนังสือ Frank Luna'a ในการเขียนโปรแกรมสามมิติโดยใช้ DirectX 10 แต่ไม่มีอะไรใน DirectX 11 ฉันเชื่อว่าพวกเขาคล้ายกันมาก แต่สงสัยว่าถ้าใครสามารถระบุความแตกต่างหลักในระดับรหัสที่ฉันจะต้องระวัง ( หรือชี้ไปที่แหล่งข้อมูลที่มีอยู่)
10 directx 

5
จะกำหนดเซลล์ใดในกริดที่ตัดกับสามเหลี่ยมที่กำหนด?
ฉันกำลังเขียนแบบจำลอง AI 2D แต่ฉันไม่แน่ใจว่าจะตรวจสอบว่าตำแหน่งของตัวแทนอยู่ในมุมมองของคนอื่นหรือไม่ ปัจจุบันการแบ่งส่วนโลกของฉันคือการแบ่งเซลล์แบบง่าย (ตาราง) ฉันต้องการใช้รูปสามเหลี่ยมเพื่อแสดงเขตของมุมมอง แต่ฉันจะคำนวณเซลล์ที่ตัดกับรูปสามเหลี่ยมได้อย่างไร คล้ายกับภาพนี้: พื้นที่สีแดงเป็นเซลล์ที่ฉันต้องการคำนวณโดยตรวจสอบว่าสามเหลี่ยมตัดกับเซลล์เหล่านั้นหรือไม่ ขอบคุณล่วงหน้า. แก้ไข: เพียงเพิ่มความสับสน (หรืออาจทำให้ง่ายขึ้น) แต่ละเซลล์มี min และ max vector โดยที่ min เป็นมุมซ้ายล่างและ max เป็นมุมขวาบน

1
ไลบรารีแอนิเมชันโมเดล c / c ++ ใดสำหรับ OpenGL [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันค่อนข้างใหม่ในการพัฒนาเกมเล่นกับ xna มาก่อนและเพิ่งเรียนรู้ OpenGL & c ตอนนี้และฉันสนใจที่จะรู้ว่ามีไลบรารี่แอนิเมชั่นโมเดล c / c ++ อยู่ไหนและคุณอยากจะแนะนำอะไร? ฉันยังไม่มีรูปแบบเฉพาะในใจ แต่อาจเป็นรูปแบบที่สนับสนุนโดยเครื่องมือสร้างแบบจำลองฟรีเช่น Blender
10 opengl  c++  models  c 

2
สถานที่อ้างอิงของ GPU น่ากังวลหรือไม่
ไม่ท้องที่ของการอ้างอิงให้มากที่สุดเท่าของความแตกต่างกับประสิทธิภาพ GPU มันไม่ประสิทธิภาพของ CPU หรือไม่? ตัวอย่างเช่นถ้าฉันส่งคำสั่งวาด 200 ครั้งไปยัง GPU ฉันจะเห็นความแตกต่างที่เห็นได้ชัดเจนหรือไม่หากข้อมูลสำหรับแต่ละคำสั่งนั้นต่อเนื่องกันในหน่วยความจำแทนที่จะกระโดดไปรอบ ๆ แผนที่บัฟเฟอร์ / พื้นผิว คำถามด้านข้าง: ฉันสมมติว่า GPU ช่วยให้มั่นใจได้ว่าปัญหาการแชร์ที่ผิดพลาดโดยมีทรัพยากรส่วนใหญ่ไม่เปลี่ยน แต่ในกรณีที่พวกเขาไม่ได้นั่นคือเหตุผลที่กระทู้มักจะทำงานที่คุ้มค่าสี่ชิ้น?

4
การค้นหาแผ่นที่ไม่ได้แยกในเกมแบบเรียงต่อกัน
ฉันกำลังทำงานกับเกมแบบเรียงต่อกันสองมิติและตอนนี้ฉันกำลังพยายามทำให้ไดรฟ์ข้อมูลเงาเทียบเท่ากับ 2d ฉันมีปัญหาในการหาพื้นผิวที่ควรจะเป็นเงา จากจุดใด ๆ ในเกมฉันต้องหาทั้งใบหน้าที่ยังไม่ได้แยกหรือกระเบื้องทั้งหมด คำถามของฉันคือฉันจะหาจุดตัด / ขอบเหล่านี้ได้เร็วที่สุดเท่าที่จะเป็นไปได้หรือไม่?

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

3
วิธีการปรับขนาดเนื้อหาของเกม
ฉันกำลังพัฒนาเกมที่มีเรื่องราวค่อนข้างสมบูรณ์ ฉันไม่แน่ใจว่าฉันจะมีเวลาหรือเงินมากพอที่จะสร้างเลเวลสำหรับแต่ละส่วนของเรื่องนี้หรือไม่ มีวิธีการทั่วไปในการออกแบบเพื่อจัดการปัญหานี้หรือไม่? ฉันควรเขียนเรื่องราวทั้งหมดก่อนแล้วจึงตัดบางส่วนเพื่อให้พอดีกับงบประมาณ / เวลาของฉัน

1
ถนนโค้ง 2 มิติที่สร้างตามขั้นตอนบนแผนที่
ฉันกำลังทดลองกับอัลกอริทึมเพื่อสร้างแผนที่ถนนสำหรับเกมที่ฉันกำลังทำอยู่โดยอัตโนมัติ ฉันใช้เกม " Kingdom Rush " เป็นจุดอ้างอิงเนื่องจากมีแผนที่ที่สวยงาม ฉันใหม่สำหรับการสร้างเนื้อหาขั้นตอนและสงสัยว่าใครที่นี่มีตัวชี้ใด ๆ ฉันได้ทดลองสร้างโทโพโลยีของถนนแบบสุ่มเช่นโหนดทางเข้า / แหล่งที่มาไม่กี่โหนดด้านในหลายจุด (ทางแยกและผสาน) และโหนดตัวซิงค์ทางออกบางส่วนจากนั้นใช้อัลกอริธึมแบบกราฟเพื่อสร้างแผนที่ถนนจริงตามข้อมูลนี้ นี่คือตัวอย่างหนึ่งที่ใช้อัลกอริทึมของ Fruchterman-Reingoldสำหรับรูปแบบถนน: กราฟสีน้ำเงินใช้จุดควบคุมเบเซเยร์ที่สร้างขึ้นแบบสุ่มเพื่อให้ขอบดูตรงน้อยลง นี่คืออีกตัวอย่างที่สร้างขึ้นโดยใช้อัลกอริทึมเดียวกัน แต่ตัวเลขสุ่มต่างกัน: ปัญหาคือผลลัพธ์ส่วนใหญ่ดูเหมือนจะคล้ายกันมากและฉันไม่แน่ใจว่ากฎใดที่ฉันสามารถเพิ่มเพื่อปรับปรุงความสามารถในการควบคุมและความหลากหลายของแผนที่ที่สร้างขึ้นโดยกระบวนการ คำแนะนำใด ๆ ชื่นชม

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