การพัฒนาเกม

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

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

2
หากคลาส“ ResourceManager” ถือว่าไม่ดีตัวเลือกอื่นคืออะไร
ฉันได้ยินความคิดเห็นที่ขัดแย้งเช่น: "คลาส Dedicated Manager แทบไม่เคยเป็นเครื่องมือทางวิศวกรรมที่เหมาะสม" "คลาส Dedicated Manager เป็นวิธีที่ดีที่สุดในการอยู่รอดโครงการขนาดใหญ่ที่มีทรัพยากรนับพัน" ลองคลาส ResourceManager คลาสสิกที่มีฟังก์ชั่นต่อไปนี้: โหลดเนื้อหา (พื้นผิว, เสียง, โมเดล 3 มิติ ฯลฯ ) ตรวจสอบให้แน่ใจว่ามีการโหลดเนื้อหาเพียงครั้งเดียวโดยเก็บแคชไว้ การอ้างอิงนับสินทรัพย์เพื่อพิจารณาว่าสามารถยกเลิกการจัดสรรได้หรือไม่ ซ่อนที่สินทรัพย์จริงมาจาก (เช่นอาจเป็นหนึ่งไฟล์ต่อสินทรัพย์หรือสินทรัพย์ทั้งหมดในไฟล์แพ็คเกจหนึ่งหรือสินทรัพย์สามารถโหลดผ่านเครือข่ายได้) สามารถโหลดเนื้อหาโดยไม่ต้องเริ่มโปรแกรมใหม่ซึ่งมีประโยชน์อย่างยิ่งสำหรับศิลปินที่ทำงานในเกม Let 's ยังใช้อาร์กิวเมนต์ "singletons ที่ไม่ดี" ออกจากตารางโดยแกล้งทำเป็นวัตถุ ResourceManager เหล่านี้จะไม่ singletons และแทนจะถูกส่งผ่านไปรอบ ๆ ผ่านฉีดพึ่งพา จากนั้นมีอาร์กิวเมนต์ "ใช้เป็นโรงงาน" หรือ "เรียกว่าเป็นโรงงาน" ปัญหาของฉันเกี่ยวกับเรื่องนี้คือใช่มันเป็นโรงงาน แต่ก็เป็นแคชและตัวโหลดซ้ำ (เนื่องจากไม่มีคำที่ดีกว่า) การเรียกมันว่าโรงงานไม่ได้อธิบายอย่างถูกต้องและถ้าฉันทำให้มันเป็นโรงงานที่เหมาะสมแล้วการแคชและการโหลดใหม่จะถูกนำไปใช้ที่ไหน ฉันยอมรับว่าคลาส "ผู้จัดการ" มักเป็นอาการของสถาปัตยกรรมที่ไม่ดี แต่ในกรณีนี้จะปรับโครงสร้างและยังคงใช้งานได้ทั้งหมดหรือไม่ นี่เป็นสถานการณ์ที่ระดับ …

3
อัลกอริทึมที่ดีสำหรับรูปแบบเมืองแบบเศษส่วนคืออะไร
พื้นหลัง ฉันใช้เซิร์ฟเวอร์ Minecraft ที่ฉันจะออกแบบเมืองเริ่มต้นที่มีขนาดค่อนข้างใหญ่ ฉันมีชุดของสิ่งต่าง ๆ เช่นสัญญาณกฎและกรงม็อบฉันต้องการวางในอาคารที่นั่น เมืองนี้จะมีขนาดใหญ่มากและกระจายออกไปโดยเฉพาะอย่างยิ่งขนาด 1,000 ถึง 1,000 ช่วงตึก ตัวอาคารจะมีลูกบาศก์หรือรอยเท้าเป็นรูปสี่เหลี่ยมผืนผ้าซึ่งมีพื้นฐานจากคิวบ์ฐานหนึ่งเช่นเดียวกับทวีคูณของ 3 บล็อก ถนนและระยะห่างระหว่างอาคารจะกว้างกว่า 5-11 ช่วงตึกขึ้นอยู่กับความสำคัญของถนน เมื่อฉันเริ่มแผนสำหรับเมืองฉันจะรู้ว่าฉันต้องการให้อาคารมีขนาดใหญ่เพียงใดและจะมีเท่าไหร่ ปัญหา ปัญหาคือการออกแบบเลย์เอาต์สำหรับเมือง เห็นได้ชัดว่ามีอะไรบางอย่างในระดับนี้และฉันมาจากพื้นหลังการเขียนโปรแกรมมากกว่าพื้นหลังการวางแผนเมืองมันค่อนข้างท้าทายที่จะเริ่มหัวของฉันในการแก้ไขปัญหา ปัญหาเฉพาะคือฉันต้องการให้เมืองดูเป็นธรรมชาติมากที่สุด ของหลักสูตรนี้จะค่อนข้างง่ายต่อการสร้างในรูปแบบกริดที่เรียบง่าย แต่ฉันต้องการหลีกเลี่ยงกริดหรืออะไรก็ตามที่ดูเหมือนกริดมากที่สุดเท่าที่จะทำได้ คำถาม ฉันสามารถใช้อัลกอริทึมใดเพื่อช่วยฉันออกแบบโดยใช้โค้ด ฉันคิดว่ามันจะดูเป็นธรรมชาติที่สุดถ้าฉันใช้เศษส่วนในบางวิธีเนื่องจาก Minecraft ใช้แฟร็กทัลแล้วในยุคของภูมิประเทศและเมืองดูเหมือนว่าจะเติบโตในรูปแบบเศษส่วนตามธรรมชาติ ฉันคิดว่ามันคล้ายกันกับอัลกอริทึมการเล่นเตตริสดังนั้นถ้าใครมีวิธีแก้ปัญหาที่มีทิศทางนั้นมันก็จะช่วยได้เช่นกัน ฉันนึกภาพสิ่งที่ฉันจะสามารถกำหนดรูปร่างที่ฉันต้องการใช้แล้วซอฟต์แวร์จะวนซ้ำจนกว่าจะพบทางออกที่ "ดีที่สุด" ที่สุดสำหรับการกระจายตัวของอาคาร มีบางสิ่งบางอย่างที่มีอยู่แล้วเพื่อช่วยฉันแก้ปัญหานี้โดยใช้ไพ ธ อน โดยธรรมชาติแล้วสิ่งนี้มีความหมายที่น่าสนใจสำหรับคนรุ่นต่อเมืองโดยทั่วไปในการออกแบบเกมดังนั้นฉันจึงตื่นเต้นมากที่เห็นว่าทางออกที่ดีที่สุดคืออะไร แก้ไข ให้ชัดเจนฉันแค่มองหาเค้าโครง ณ จุดนี้เนื่องจากอาคารจะได้รับการออกแบบและสร้างขึ้นในเกม

3
ฉันจะสร้างฝูงบกลอยตัวสำหรับเครื่องยนต์ที่เหมือน Minecraft ได้อย่างไร?
ฉันกำลังสร้างเอนจินคล้าย Minecraft ใน XNA สิ่งที่ฉันต้องการทำคือการสร้างเกาะลอยคล้ายกับที่แสดงในวิดีโอนี้: http://www.youtube.com/watch?v=gqHVOEPQK5g&feature=related ฉันจะทำซ้ำสิ่งนี้โดยใช้เครื่องกำเนิดไฟฟ้าโลกได้อย่างไร ฉันต้องใช้อัลกอริธึมเสียงรบกวน Perlin บ้างหรือไม่ ฉันไม่รู้ว่ามันจะช่วยให้ฉันสร้างดินแดนเช่นนี้ได้อย่างไร นี่คือรหัสสำหรับตัวกำเนิดสัญญาณรบกวน perlin ที่ฉันใช้: private double[,] noiseValues; private float amplitude = 1; // Max amplitude of the function private int frequency = 1; // Frequency of the function /// <summary> /// Constructor /// </summary> /// public PerlinNoise(int freq, float _amp) …

2
ควรวางตรรกะการตรวจจับการชนกันที่ไหน
ฉันกำลังพัฒนาเอ็นจิ้นเกม 2D ขนาดเล็ก ตัวละครมีวิธีทาสีซึ่งปัจจุบันทำดังต่อไปนี้: คำนวณตำแหน่งใหม่ของตัวละครตามความเร็ว ฯลฯ อัปเดตเซลล์กริดการชน ** วาดตัวละครที่ตำแหน่งใหม่ ** ฉันได้สร้างตารางการชนกันเพื่อลดจำนวนการตรวจสอบทางแยก ตอนนี้อัลกอริทึมพื้นฐานที่ฉันคิดว่าตรวจจับการชนกันคือ: For Each Character Check intersection with characters in surrounding 8 cells ฉันสามารถวางรหัสนี้ในวิธีการทาสี แต่นี่คือปัญหาที่ฉันคาดหวัง สมมติว่าอักขระสองตัว A และ B อยู่ในเซลล์ที่อยู่ติดกันในตารางการชนกัน ตอนนี้ตามอัลกอริทึมข้างต้นในการวนซ้ำของอักขระ A มันจะตรวจพบว่ามันชนกับ B ในการวนซ้ำสำหรับอักขระ B มันจะตรวจจับว่ามันชนกับ A แต่ฉันมีความคิดว่าเมื่อ A ตรวจพบว่ามันชนกับ B มันควรแจ้ง B ว่ามันชนกับ A นี่จะช่วยประหยัดการเปรียบเทียบได้มากเมื่อมีนักแสดงมากกว่า 2 คนชนกัน แต่ฉันไม่แน่ใจว่าจะจัดการเรื่องนี้อย่างไร …


5
ฉันจะสร้างภูมิประเทศขนาดใหญ่ในความสามัคคีได้อย่างไร
ฉันจะทำให้มากภูมิประเทศอย่างมากในความสามัคคี? ดูเหมือนว่าฉันสามารถตั้งค่าความกว้างและความยาวเป็นค่าขนาดใหญ่ได้ แต่ความละเอียด Heightmap จะสูงถึง 4097 และ Resolution ละเอียดจะสูงถึง 4048 เท่านั้น ความคิดใด ๆ

3
ทำให้เกมเป็นแบบฝึกหัดหรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันรับผิดชอบสโมสรพัฒนาเกมที่โรงเรียนของฉันและฉันต้องการทำงานในโครงการช่วงฤดูร้อนนี้ที่ฉันสามารถใช้เป็นแบบฝึกหัดภาคเรียนถัดไป ฉันไม่เคยทำอะไรแบบนี้มาก่อนเลยดังนั้นฉันจึงสงสัยว่าใครมีคำแนะนำหรือแนวคิด สิ่งที่ฉันต้องการทำโดยพื้นฐานคือทำเกมง่ายๆ บางอย่างเช่นปืนจากบนลงล่างซึ่งศัตรูวิ่งเข้ามาหาคุณเพื่อฆ่าพวกมันและหยิบของขึ้นมา อย่างไรก็ตามฉันต้องการให้ทุกอย่างเปลี่ยนแปลงได้ง่ายมาก ผู้คนในสโมสรมีประสบการณ์การพัฒนาเกมเล็ก ๆ น้อย ๆ ดังนั้นถ้าฉันสามารถตั้งค่าเกมของฉันในแบบที่ผู้คนสามารถปรับเปลี่ยนและเพิ่มฟังก์ชั่นการใช้งานได้อย่างง่ายดายมันจะดีสำหรับพวกเขา สิ่งต่าง ๆ เช่นมีคลาสศัตรูที่มีพฤติกรรมที่เล่นง่ายหรือทำให้ปืนยิงแตกต่าง / เพิ่มปืนใหม่และปล้นใหม่ แม้กระทั่งการเพิ่มองค์ประกอบใหม่ให้กับเกม อะไรจะเป็นวิธีที่ดีที่สุดในการสร้างเกมเพื่อให้มีความพิการได้
19 xna  game-design 

3
จะสร้างฟีเจอร์ Ghost Replay ในเกมได้อย่างไร?
เมื่อคุณตั้งเวลารอบที่ดีที่สุดในเกมแข่งรถคอนโซลคุณมีตัวเลือกในการแข่งขันกับผีของคุณ คุณลักษณะนี้จะสร้างได้อย่างไรสำหรับเกมประเภทผู้เล่นเดี่ยวที่ไม่เป็นทางการ

3
การป้อนข้อมูลที่ขับเคลื่อนด้วยเหตุการณ์ Polling
ฉันกำลังพัฒนาเกมโดยใช้การสำรวจสำหรับวิธีการป้อนข้อมูล อย่างไรก็ตามตอนนี้ฉันกำลังขุดลึกลงไปในเมนูเกมและส่วนประกอบ UI อื่น ๆ ฉันพบว่าฉันอาจต้องการป้อนข้อมูลที่ขับเคลื่อนด้วยเหตุการณ์ บางทีอาจจะมีทั้งคู่โดยใช้เหตุการณ์ที่ขับเคลื่อนด้วย UI และการหยั่งเสียงสำหรับอินพุต "โลก" ฉันอยากรู้ว่าวิธีที่ดีที่สุดที่จะไปคืออะไร ฉันกำหนดโพลเป็น: แต่ละลูปการอัปเดตฉันจะตรวจสอบว่ามีการกดปุ่มใดที่เมาส์อยู่ปุ่มกดจากนั้นทำงานผ่านพวกเขาและดำเนินการตามข้อมูลที่รวบรวมไว้ ฉันกำลังกำหนดกิจกรรมที่ขับเคลื่อนเป็น: เหตุการณ์ตามอินเตอร์รัปต์เมื่อมีเหตุการณ์เกิดขึ้นและถูกขัดจังหวะและมีการเรียกใช้โค้ดบล็อกตามเหตุการณ์ คุณคิดว่าเป็นการดีที่สุดหรือไม่ที่จะผลักดันเหตุการณ์ทั้งหมดการเลือกตั้งทั้งหมดหรือเป็นการรวมกันของทั้งสองอย่าง หากคุณมีข้อดีข้อเสียกรุณาระบุไว้ ขอบคุณ แก้ไข เกมนี้ใช้ Java / OpenGL ดังนั้นจะวางจำหน่ายใน Windows / Mac / Linux ความเป็นไปได้ของการขยายไปยังอุปกรณ์มือถือนั้นอยู่ในระดับต่ำ เกมดังกล่าวเป็นสไตล์ RTS, บุคคลที่สาม 3D แก้ไข 2 ฉันยังคงไม่มีความสุขกับวิธีที่ฉันใช้สิ่งนี้ แต่สิ่งที่ฉันกำลังมุ่งไปคือการจับกิจกรรมใน UI ของฉันและหากพวกเขาไม่ได้รับการจัดการโดยองค์ประกอบ UI ใด ๆ ของฉันฉันจะส่งต่อเหตุการณ์ไปยัง "โลก" สำหรับการเลือก / การเลือก สิ่งที่ต้องการ: @Override …
19 java  input  events  polling 

6
พฤติกรรมใดบ้างที่ควรใช้ในการสร้างนักสู้ AI ที่“ ไม่สมบูรณ์”
เมื่อทำการต่อสู้กับ npc เป็นเรื่องง่าย ที่จะทำอย่างไรเพื่อให้ได้หุ่นยนต์มรณะโดยการปรับยุทธวิธีการต่อสู้เวลาและประเภทการโจมตีให้ได้ผล แต่ยากขึ้น (และน่าสนใจกว่าในการต่อสู้) เพื่อให้ได้ศัตรู พฤติกรรมใด (อัลกอริทึม) มีประโยชน์สำหรับการสร้างศัตรูที่แปลกใหม่และไม่เป็นทางการ? แก้ไข:กรณีการใช้งานเฉพาะของฉันคือมีศัตรูที่เหมือน MMO เช่น World of Warcraft แม้ว่าจะมีกราฟิกที่เกี่ยวข้องน้อยกว่า โปรดทราบว่านั่นหมายถึงศัตรูทั้งมนุษย์และไร้มนุษยธรรม (สัตว์สัตว์ประหลาด ฯลฯ )
19 ai  npc  combat 

6
เวกเตอร์ในการพัฒนาเกม
ฉันใหม่สำหรับการเขียนโปรแกรมและการเขียนโปรแกรมเกม ฉันกำลังอ่านอะไรเกี่ยวกับเวกเตอร์และคณิตศาสตร์ แต่ฉันมีคำถามฉันจะใช้เวกเตอร์ในการเขียนโปรแกรมเกมได้ที่ไหน บางทีทุกคนสามารถยกตัวอย่างง่ายๆที่คุณใช้เวกเตอร์ (ในรูปแบบ 2D) ฉันได้พบตัวอย่าง แต่ส่วนใหญ่พวกเขาอยู่ในคอนโซลที่พวกเขาส่งออกหมายเลขและตัวอย่างใหญ่ที่ฉันไม่เข้าใจ
19 vector 

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

7
ต่อสู้กับความเหนื่อยหน่ายที่สร้างสรรค์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันมีความคิดสร้างสรรค์ที่ยิ่งใหญ่: / คุณมีความคิดใด ๆ ที่ฉันสามารถต่อสู้กับมันได้หรือไม่?

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

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