การพัฒนาเกม

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

2
เครื่องมือท่อส่งเนื้อหาควรจะฝังตัวอยู่ในเครื่องยนต์หรือไม่?
เอ็นจิ้นเกมควรมีขนาดเล็กเพียงใด ไปป์ไลน์เนื้อหาควรฝังอยู่ในเอ็นจิ้นเท่าใด บางกรณีใช้งานที่ super engine อาจมีประโยชน์: เมื่อโหลดเนื้อหาของผู้ใช้ผู้ใช้ไม่จำเป็นต้องทำพื้นผิวของตัวเองเครื่องยนต์จะทำมันในเวลาโหลด สคริปต์ร้องขอแบบอักษรที่มีขนาดใหญ่กว่าที่สร้างไว้ล่วงหน้าเครื่องยนต์สามารถแยกโฆษณาไฟล์ ttf เพื่อสร้าง atlas ใหม่ รัศมีปลอม ไม่มีสิ่งนี้แน่นอน สิ่งนี้ต้องใช้เครื่องมือไปป์ไลน์เนื้อหาของคุณเพื่อเขียนใน C ++ ไลบรารีสนับสนุนที่คุณใช้ในไพพ์ไลน์จำเป็นต้องรวบรวมเพื่อใช้งานบนอุปกรณ์ มันต้องการการสร้างเนื้อหาที่จะไม่บั๊ก และโดยทั่วไปแล้วทำให้เครื่องยนต์ของคุณใหญ่ขึ้นและเทอะทะ ข้อดีและข้อเสียอื่น ๆ คืออะไร? ข้อดีมีมากกว่าข้อเสียหรือไม่ คำถามเฉพาะ: เครื่องยนต์ควรโหลดรูปแบบภาพต่างๆได้หรือไม่? ตัวโหลด TGA เท่านั้นนั้นค่อนข้างง่ายต่อการเขียนด้วยมือ รูปแบบเสียงเป็นอย่างไร เป็นไปได้หรือไม่ที่จะรองรับการโหลดไฟล์ wav เท่านั้น? ไฟล์เพลงโดยรอบมักมีขนาดใหญ่มาก เครื่องยนต์ควรมีความสามารถในการแยกวิเคราะห์ TTF และการสร้างแผนที่แบบไดนามิกหรือไม่? บรรจุพื้นผิว

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

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

5
ปรับสมดุลความยากของเกมกับการพัฒนาของผู้เล่น
ดูเหมือนว่าบรรยากาศของเกมในปัจจุบันดูเหมือนว่าจะตอบสนองต่อความก้าวหน้าของพลังผู้เล่นไม่ว่าจะหมายถึงการได้ปืนที่ใหญ่กว่าและระเบิดได้ใน Halo เพิ่มเลเวลในเกม RPG หรือปลดล็อคตัวเลือกใหม่ใน Command and Conquer 4 แนวคิดนี้ไม่ได้ จำกัด เฉพาะเกมวิดีโอหรือคอมพิวเตอร์ - แม้แต่ผู้เล่น Dungeons และ Dragons สามารถพยายามที่จะได้รับดาบ +2 เพื่อแทนที่อาวุธ +1 ที่พวกเขาใช้ แต่ในฐานะนักออกแบบระบบแนวคิดของความก้าวหน้าของผู้เล่นก็ทำให้ฉันปวดหัวหลังจากปวดหัว ฉันควรสมดุลรอบความสามารถที่แน่นอนของผู้เล่นและยอมแพ้กับความก้าวหน้าเชิงเส้นอย่างง่ายหรือไม่? (ฉันคิดว่า ESIV: การหลงลืมเป็นตัวอย่างที่ดีของเรื่องนี้) มันเป็นการดีกว่าที่จะโยนผู้เล่นเข้าร่วม "การแข่งขันอาวุธ" กับคู่ต่อสู้ของพวกเขาซึ่งหากผู้เล่นไม่คืบหน้าอย่างเป็นระเบียบมันเป็นเรื่องของเวลา จนกว่าการเล่นเกมจะยากเหลือทน? (รุ่นที่ 4 DnD ทำให้ฉันเป็นตัวอย่างที่ดีในเรื่องนี้) บางทีมันอาจจะเป็นเหตุผลที่ดีที่สุดที่จะแยกกลศาสตร์การเล่นเกมหลักจากการพัฒนาเลย - ให้พวกเขามีชีวิตชีวาขึ้นน่าสนใจมากขึ้น (แต่ไม่แรง!)

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

8
ทางออกที่ดีที่สุดสำหรับ "ระดับสตริง"?
ฉันมีเกมที่สร้างแผนที่ระดับสุ่มในช่วงเริ่มต้นของระดับ ฉันต้องการใช้วิธีการบันทึกและโหลดระดับ ฉันคิดว่าบางที XML อาจเป็นตัวเลือกที่ดีสำหรับการบันทึกตัวแปรทั้งหมดจากนั้นมันจะง่ายสำหรับฉันที่จะสร้างสิ่งที่สามารถแยกวิเคราะห์ XML นั้นและสร้างระดับที่แน่นอน แต่ XML อาจเกินความต้องการของฉัน ฉันจำได้ในตอนกลางวันด้วย Sega console ที่ไม่มีความสามารถในการบันทึกเกมของคุณ (ฉันคิดว่าเกม Worms ทำเช่นนั้น) พวกเขาจะให้ตัวละครที่คุณสามารถเขียนลงไปได้ หากคุณต่อยสตริงนั้นในภายหลังมันจะโหลดในระดับที่แน่นอน "ระดับสตริง" จะเป็นตัวเลือกที่ดีหรือไม่? มันจะเป็นการแปลง "base60" บ้างไหม? ฉันจะใช้สิ่งนี้ได้อย่างไร

3
จะมีการทดสอบเบต้าที่ประสบความสำเร็จกับทีมเล็ก ๆ ได้อย่างไร?
ฉันทำงานหลายอย่าง (มือโปร) บนแพทช์สู่เกมเชิงพาณิชย์เมื่อประมาณ 11 ปีที่แล้วซึ่งต้องการการทดสอบเบต้า ผู้คนมากมายกำลังรอคอย มีวิธีใดบ้างที่จะได้รับผลตอบรับที่ดี (โดยที่ฉันหมายถึงมีประโยชน์) ในระหว่างขั้นตอนการทดสอบเบต้าสำหรับเกม ฉันมีผู้คนจำนวนมากที่ต้องการเล่นกับมัน แต่ฉันกังวลเกี่ยวกับการได้รับผลตอบรับที่ดีโดยไม่จมอยู่กับการพัฒนา ฉันยังกังวลว่าผู้คนจะกังวลมากขึ้นเกี่ยวกับการปรับแต่งที่พวกเขาต้องการที่จะเห็นการเพิ่มลงในแพทช์กว่าการทดสอบงานที่ทำจริง ๆ คุณให้ความสามารถในการบันทึกข้อบกพร่องลงในตัวติดตามบั๊กโดยตรงหรือส่งพวกเขาทั้งหมดไปยังบุคคลในทีมพัฒนาหรือไม่ คุณจะแน่ใจได้อย่างไรว่าคุณครอบคลุมทุกแพลตฟอร์มที่คุณรองรับ (ในกรณีของฉัน: Mac OSX (x86 / ppc), Windows (หลายรุ่น), Linux (หลายรุ่น)) มีแพ็คเกจซอฟต์แวร์ที่ดี (เช่นเว็บพอร์ทัล) สำหรับการทดสอบเบต้าสำหรับโครงการเช่นนี้หรือไม่? มีเอกสารเคล็ดลับอะไรบ้าง?

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

6
เครือข่าย Pong Clone
ฉันมีพื้นฐานของซ็อกเก็ต TCP การสื่อสาร UDP และอื่น ๆ แต่ไม่สามารถหาวิธีใช้สิ่งเหล่านี้กับสภาพแวดล้อมเกมแบบเรียลไทม์ได้ ฉันมีโป่งโคลนที่มีผู้เล่น 4 คนและจำเป็นต้องซิงโครไนซ์ตำแหน่งการพายระหว่างไคลเอนต์ทั้งสามกับเซิร์ฟเวอร์ (เซิร์ฟเวอร์คือผู้เล่นคนที่สี่) ขณะนี้ฉันใช้ UDP เพื่อส่งการอัปเดตตามเวลาจริง (การพายเรือ) และ TCP สำหรับการตั้งค่าล็อบบี้เกมเป็นต้น เป็นสิ่งที่ดีที่จะส่งสแปมปริมาณการใช้งาน UDP จำนวนมากหรือไม่ ฉันควรตรวจสอบ DCCP เพื่อดูว่ามีความแออัดหรือไม่ หรือนี่ไม่ใช่ปัญหาของโครงการขนาดเล็กเช่นนี้ใช่หรือไม่ เมื่อใดควรทำการซิงโครไนซ์ข้อความระหว่างไคลเอนต์ / เซิร์ฟเวอร์ ปัจจุบันเซิร์ฟเวอร์กำลังทำการส่งสแปมแพ็กเก็ต UDP ด้วยสถานะเกมปัจจุบันอย่างรวดเร็วที่สุดเท่าที่จะทำได้และลูกค้ากำลังส่งสแปมออกจากตำแหน่งพายกลับไปยังเซิร์ฟเวอร์ให้เร็วที่สุดเท่าที่จะทำได้ นี่เป็นวิธีที่ดีที่สุดที่จะทำ? มีความล่าช้าบ้างไหมที่ฉันควรเพิ่มดังนั้นข้อความจะถูกส่งหนึ่งครั้งในทุกๆ X มิลลิวินาทีหรือฉันควรจะส่งข้อความเมื่อเกิดเหตุการณ์เท่านั้น (เช่นความเร็วพายเปลี่ยนไปเนื่องจากผู้ใช้ป้อน) จะเป็นการดีกว่าหรือไม่ที่จะทำให้ลูกค้าสื่อสารตำแหน่งพายเรือของพวกเขากับเพื่อนคนอื่น ๆ ฉันถามคำถามเหล่านี้ในบริบทของโป่ง แต่ก็สนใจว่าจะเอาชนะปัญหาเหล่านี้ได้อย่างไรในเกมอื่นหรือแก้ไขปัญหาทั่วไป

4
Box2D ตรวจสอบว่าจุดตัดร่างกายหรือไม่
มีวิธีตรวจสอบหรือไม่ว่ามีจุดใดจุดหนึ่งตัดกันร่างกายหรือไม่? ตัวอย่างเช่นสมมติว่ามีร่างกายในโลกที่ตำแหน่ง (100,100) มีวิธีตรวจสอบว่ามีจุดที่ (100,100) ตัดกันร่างกายนั้นหรือไม่? อีกตัวอย่างหนึ่งเกี่ยวข้องกับเกมที่ชื่อว่า "PHUN" ใน PHUN คุณสามารถคลิกและลากไปมาได้ คุณจะตรวจสอบได้อย่างไรว่าจุดเมาส์กำลังตัดกันร่างกายหรือไม่?
10 2d  physics  box2d 


3
เหตุใดจึงไม่มีเกมส์แบบ 64 บิตเพิ่มเติม [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา จนถึงตอนนี้ฉันได้เห็นแล้วว่ามีเกมหลายเกมที่ยังคงคอมไพล์ในสถาปัตยกรรม 32 บิตแม้ว่าผู้ใช้ Windows ปัจจุบันเกือบ 50% จะใช้งานบนระบบปฏิบัติการ 64 บิตหรือไม่ ทำไมนี้ หากเหตุผลคือเพื่อให้ผู้ชมจำนวนมากขึ้น (เนื่องจากแอป 32 บิตสามารถรันบน 64) ทำไมพวกเขาถึงไม่สร้างสองรุ่นเพราะมากกว่าหรือน้อยกว่าเกี่ยวกับการคอมไพล์ซ้ำและการรันแอป 64 บิตอาจให้ประสิทธิภาพมากกว่า รีจิสเตอร์ CPU ที่พร้อมใช้งานและคุณสมบัติอื่น ๆ

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

7
มีวิธีหาเงินจากเกมที่ดาวน์โหลดได้หรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ดูเหมือนว่ามีวิธีการทำเงินกับเกมแฟลชผ่านเว็บไซต์พอร์ทัลและรวบรวมและโฆษณาฝังตัว แต่ฉันเขียนโปรแกรมด้วยภาษา C และ C ++ ฉันเริ่มต้นแบบที่ต้องอาศัย C ++ SDK ที่มีอยู่ไม่กี่ตัว เกมจะต้องสามารถดาวน์โหลดได้ นี่เป็นเพียงงานแห่งความรักหรือมีวิธีการทำเงินจากเกมประเภทนี้หรือไม่? ไม่มีใครจ่ายค่าแชร์แวร์อีกต่อไปหรือไม่ มีตัวเลือกอื่น ๆ อีกบ้าง?

2
แหล่งข้อมูล Engine Engine / Programming / Etc [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว โพสต์คำถามนี้ที่นี่แทนที่จะเป็นเพราะมันเกี่ยวข้องกับการพัฒนาเกม ภาวะที่กลืนไม่เข้าคายไม่ออกของฉันคือ: ขณะนี้เป็นวันหยุดฤดูร้อนของฉันหลังจากภาคการศึกษาแรกของ CompSci ของฉันและฉันได้เรียนรู้ C ++ เพียงพอที่จะเริ่มต้นในสิ่งที่สูงขึ้นเล็กน้อย ฉันไม่ต้องการเริ่มเขียนโปรแกรมเกมจนกว่าฉันจะสอนตัวเองเกี่ยวกับพีชคณิตเชิงเส้นตรีโกณมิติ ฯลฯ อย่างไรก็ตามฉันต้องการทราบพื้นฐานทฤษฎีและวิธีการที่ใช้ในการเขียนโปรแกรมเกม! ฉันคิดว่าฉันมีหนังสือดีๆอยู่ในห้องสมุดของวิทยาลัย แต่พวกเขาล้าสมัยไปแล้วอย่างมากกับหนังสือเกี่ยวกับการเขียนโปรแกรมเกมหรือเครื่องมือเกมหรือเกม / กราฟิก (หัวข้อที่นี่) ตั้งแต่ต้น 90s ถึง 2002 เมื่อทราบถึงความผันผวนของเทคโนโลยีคอมพิวเตอร์ฉันคิดว่าการจับความรู้เกี่ยวกับเทคโนโลยีที่ทันสมัยจากหนังสืออายุสิบปีไม่ใช่ความคิดที่ดี อเมซอนเองทำให้ฉันไร้ความรู้สึกว่าฉันต้องการหนังสือเล่มไหน สิ่งที่ฉันไม่ต้องการ: หนังสือขึ้นอยู่กับแพลตฟอร์ม ฉันไม่ได้เรียนรู้ OpenGL, Direct3D หรือ API เฉพาะใด ๆ ฉันแค่อยากจะรู้ว่าสิ่งต่าง ๆ เช่น tessellation วิธีที่ GPU จัดการกับสิ่งต่าง ๆ …
10 books  assets 

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