การพัฒนาเกม

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

2
มรดกเทียบกับองค์ประกอบ
ฉันทำเงินของฉันเป็นภาษา C # โดยทั่วไปแล้วในภาษานั้นฉันชอบที่จะแยกทุกสิ่งออกสู่สวรรค์ชั้นสูงโดยใช้อินเทอร์เฟซ สิ่งนี้ให้บริการฉันเป็นอย่างดีในรหัสองค์กร แต่ในการเขียนเกมใน C # ฉันพบว่าตัวเองพุ่งเข้าหาการสืบทอดเนื่องจากความสามารถในการกำหนดพฤติกรรมเริ่มต้นบางอย่างสำหรับคลาสพื้นฐาน ฉันรู้สึกสกปรกที่ทำสิ่งนี้แม้ว่าฉันจะไม่เชื่อฟังพระเจ้าสถาปัตยกรรมผู้ซึ่งเคยกล่าวไว้ว่า ฉันรู้ว่ามันไม่ใช่ขาวดำ แต่ฉันก็รู้สึกเหมือนว่าฉันสามารถใช้อินเทอร์เฟซที่มีงานมากขึ้นและบรรลุสิ่งเดียวกัน คนอื่นทำอะไร การสืบทอดเป็นวิธีการที่เหมาะสมสำหรับเกมหรือฉันควรปรับโครงสร้างในส่วนต่อประสานบางส่วนหรือไม่
16 c#  architecture 

7
วางไข่หน่วยในโลกที่ทำโดยเสียง Perlin?
มีปัญหาบางอย่างที่ฉันเจอในเกมที่ใช้เสียงรบกวนของ Perlin ดูภาพหน้าจอที่แนบมาด้านล่าง พื้นที่สีขาวที่คุณเห็นนั้นเป็นผนังและพื้นที่สีดำสามารถเดินได้ สามเหลี่ยมที่อยู่ตรงกลางคือผู้เล่น ฉันใช้ฟิสิกส์ในเกมนี้โดยวาดลงบนพื้นผิว (พิกเซลสีขาวหรือสีดำ) แล้วนำมันมาจากซีพียู อย่างไรก็ตามตอนนี้ฉันยืนอยู่กับปัญหาที่แตกต่างกันในมือ ฉันต้องการหน่วย (หรือครีปสิ่งที่คุณเรียกพวกเขา) เพื่อวางไข่อย่างต่อเนื่องที่ขอบของหน้าจอ ประเด็นที่นี่คือในเกมสุดท้ายจะมี "หมอกแห่งสงคราม" ที่ไม่อนุญาตให้ผู้เล่นมองเห็นได้ไกล ฉันคิดว่าฉันสามารถสแกนพิกเซลที่ขอบของหน้าจอและดูว่าพื้นผิวฟิสิกส์ของพวกเขาเป็นสีดำหรือไม่จากนั้นจะวางไข่แบบสุ่มที่นั่น อย่างไรก็ตามถ้าคุณลองดูภาพหน้าจอที่สองมี (ที่มุมบนซ้าย) ตัวอย่างที่ฉันไม่ต้องการให้ครีพวางไข่ (เนื่องจากพวกเขาไม่สามารถเข้าถึงผู้เล่นได้จากที่นั่น) . เป็นไปได้ไหมที่ GPU จะกำหนดจุดกำเนิดของสิ่งเหล่านี้ให้ฉันหรือวิธีอื่น? ฉันคิดเกี่ยวกับการทำเวกเตอร์ระหว่างจุดที่เสนอที่ขอบของหน้าจอและผู้เล่นจากนั้นติดตามมันทุกๆ 10 voxels และดูว่ากำแพงชนกันหรือไม่ก่อนที่จะวางไข่ที่หน่วยหนึ่ง อย่างไรก็ตามโซลูชันที่เสนอข้างต้นอาจมี CPU มากเกินไป ข้อเสนอแนะเกี่ยวกับเรื่องนี้? หมายเหตุ 1 สำหรับยูนิตที่วางไข่ฉันไม่ต้องการใช้รูปแบบการค้นหาแบบใดเพื่อหลีกเลี่ยงการชนกันของกำแพงเนื่องจากยูนิตเหล่านี้วิ่งไปทางเครื่องเล่น ดังนั้นหน่วยจะต้องวางไข่ที่ขอบของหน้าจอในสถานที่ที่เดินเป็นเส้นตรงเข้าหาผู้เล่นจะไม่ชนกับกำแพงใด ๆ
16 xna  path-finding  hlsl  gpgpu 

4
วิธีทำให้ platformer 'One Hit and Dead' รู้สึกยุติธรรม
ฉันกำลังสร้าง platformer run 'n gun ซึ่งผู้เล่นจะตายทันทีเมื่อถูกโจมตี ฉันอยากรู้วิธีทำให้ความรู้สึกนี้ยุติธรรม ฉันตระหนักถึงการวางจุดตรวจบ่อยพอทำให้ผู้เล่นลองใหม่เกือบจะทันทีและ hitboxes ที่เมตตา แต่ฉันอยากรู้ว่าฉันควรทำอย่างไรเกี่ยวกับการออกแบบระดับ ปืน Run 'n นั้นแตกต่างจาก platformer กระโดดกำแพงความเร็วสูงเช่นเด็กชายเนื้อ คุณจะเห็นว่าเกมอย่าง Hollow Knight ช่วยให้คุณเรียนรู้วิธีการหลีกเลี่ยงการถูกโจมตีในช่วงต้นเกมโดยให้ความท้าทายที่ง่าย หากคุณโดนสิ่งที่ไม่คาดคิดใน Hollow Knight คุณสามารถโฟกัสและมีสุขภาพดีได้ตลอดเวลาและจะไม่รู้สึกไม่ยุติธรรม ถ้ามันเกิดขึ้นในเกมของฉันมันจะไม่ยุติธรรม เนื่องจากฉันออกแบบเกม Megaman-X เหมือนกับเจ้านายในตอนท้ายของแต่ละขั้นตอนฉันควรจะสอนผู้เล่นอย่างไรให้หลบหลีกขีปนาวุธที่เคลื่อนไหวเร็วที่คุณจะรู้วิธีหลบหลังจากเห็นการกระทำของพวกเขา ? และใช่จะมีระดับแรกก่อนที่คุณจะไปเล่นอีกระดับตามลำดับที่คุณต้องการ

3
การเคลื่อนไหวของกล้อง cutscene“ ผู้ปฏิบัติการมนุษย์จำลอง” เรียกว่าอะไร?
ฉันมีคำถามบางอย่างที่เกี่ยวข้องกับการเคลื่อนไหวของกล้องที่ไม่ราบรื่นในฉากหลังของเกมสองสามเกมซึ่งดูเหมือนจะลองและจำลองความกังวลใจของผู้ปฏิบัติงานที่เป็นมนุษย์ นี่ตรงกันข้ามกับการสั่นของกล้องในการเล่นเกมทั่วไปเมื่อมีเหตุการณ์เกิดขึ้นเช่นการระเบิดแม้ว่ามันจะเกิดขึ้นในฉากหลังที่ฉันกำลังพูดถึง ตัวอย่างของเอฟเฟกต์นี้มีอยู่ในหลาย ๆ เกม แต่ตัวอย่างที่ดีที่สุดที่ฉันเคยเห็นในสิ่งที่ฉันพยายามจะอธิบายคือการเปิด cutscene (และ cutscenes จำนวนมาก) ของ Metal Gear Solid V: Ground Zeroes อย่าลืมเลือก 60 FPS เพื่อให้เอฟเฟกต์ชัดเจนยิ่งขึ้น มีชื่อสำหรับเอฟเฟกต์ "ผู้ปฏิบัติการมนุษย์จำลอง" นี้หรือไม่และคุณรู้หรือไม่ว่าเรื่องนี้อาจเกิดขึ้นได้อย่างไร? ฉันเดาว่ากล้องจะถูกชดเชยทั้งสองแกนด้วยฟังก์ชั่นการเบี่ยงเบนแบบสุ่มซึ่งมักจะเคลื่อนที่ไปทางจุดกำเนิดเล็กน้อยเพื่อหยุดยั้งการเคลื่อนที่ บางทีท่าทางบราวนี่?

3
มีคำศัพท์สำหรับเสียงที่เล่นเมื่อพิมพ์ตัวอักษรเป็นตัวอักษรหรือไม่?
เล่นเกมอย่าง Undertale: เมื่อใดก็ตามที่ตัวละคร "พูดถึง" ข้อความจะถูกพิมพ์ออกมาทีละตัวและมีการเล่นเสียงสำหรับตัวอักษรแต่ละตัวราวกับว่าตัวละครกำลังพูดถึงจริง เสียงเหล่านี้มักจะแตกต่างกันไปสำหรับตัวละครแต่ละตัว เสียงประเภทใดที่เรียกว่า หากฉันต้องการให้ตัวยึดตำแหน่งมีเสียงสำหรับระบบโต้ตอบฉันจะค้นหาได้อย่างไร

1
ฉันจะเตรียมตัวสำหรับการขว้างเกมกับผู้สนับสนุนที่มีศักยภาพได้อย่างไร
เราได้พัฒนาเกมมือถือและเตรียมความพร้อมสำหรับวันตัวอย่าง เราจะนำเสนอเกมของเราให้กับผู้สนับสนุนที่มีศักยภาพและเรากำลังมีปัญหาในการตัดสินใจว่าจะนำเสนอที่มีคุณภาพได้อย่างไร โดยเฉพาะความท้าทายและโอกาสที่ไม่เหมือนใครในการขว้างเกมแตกต่างจากการสาธิตผลิตภัณฑ์โดยทั่วไปคืออะไร ในฐานะนักพัฒนาเรากังวลว่าเราอาจมุ่งเน้นองค์ประกอบที่สำคัญต่อนักพัฒนา แต่อาจไม่ใช่นักลงทุน เราจะระบุตัวตนได้อย่างไร สำหรับการสาธิตการเล่นเกมในสถานการณ์ใดที่เราควรพิจารณาเปลี่ยนไปใช้แอพแยกฝังเกมในการนำเสนอภาพนิ่งการแสดงวิดีโอเกมกระป๋องหรืออย่างอื่น

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

3
คุณจัดการกับความเกลียดชังการสูญเสียในเกมที่น่าจะเป็นได้อย่างไร
ปรากฏการณ์ทางจิตวิทยาของความเกลียดชังการสูญเสียหมายถึงวิธีที่ผู้เล่นรู้สึกว่าการสูญเสียสองเท่าอย่างมีประสิทธิภาพเป็นชัยชนะ ยกตัวอย่างเช่นพีวีพีของBite Fightเป็นการจำลองขึ้นอยู่กับความน่าจะเป็นที่เกี่ยวข้องกับทักษะของตัวละครและเสียงของผู้เล่นที่รู้สึกเช่นนี้หลายครั้งต่อสัปดาห์ในฟอรัมชุมชน หากคุณไม่ต้องการสร้างเกมแบบจ่ายต่อการชนะ แต่คุณต้องการให้ผู้เล่นที่แย่ที่สุดชนะบ่อยพอที่จะรู้สึกดีกับมันคุณจะทำอย่างไร คำถามมีสองส่วน: คุณจัดการกับมันอย่างไรในทางเทคนิค? คุณใช้เทคนิคคณิตศาสตร์หรือการจำลองจากหน่วยความจำเพื่อหลีกเลี่ยงการสูญเสียจำนวนมากในแถวสำหรับผู้เล่นบางคนหรือไม่? คุณจัดการกับมันอย่างไรจากมุมมองของชุมชน? คุณทำอย่างไรกับการร้องเรียนเช่นนี้ในฟอรัมสาธารณะ

3
ฉันควรใช้ฐานข้อมูลเพื่อจัดเก็บเนื้อหาของเกมหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันมีเกม 2D เขียนใน C ++ โดยใช้ SFML ฉันต้องการทำให้เกมขยายได้ในลักษณะที่สามารถเพิ่มเนื้อหาเช่นรายการหรือเอนทิตีได้อย่างง่ายดายโดยการเพิ่มบรรทัด / รายการ / แถวลงในไฟล์หรือฐานข้อมูล ฉันกำลังมองหาบางอย่างที่ไม่จำเป็นต้องรวบรวมเข้าไปในโปรแกรม แต่สามารถอ่านและเขียนไปที่รันไทม์แทน เมื่อใดที่เหมาะสมที่จะใช้ฐานข้อมูล
16 c++  sfml  databases 

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

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

6
ฉันจะใช้ซิงเกิลตันอย่างถูกต้องในการเขียนโปรแกรมเอ็นจิน C ++ ได้อย่างไร?
ฉันรู้ว่าซิงเกิลตันไม่ดีเอ็นจิ้นเกมเก่าของฉันใช้วัตถุ 'เกม' ซิงเกิลตันที่จัดการทุกอย่างตั้งแต่การเก็บข้อมูลทั้งหมดจนถึงลูปเกมจริง ตอนนี้ฉันกำลังสร้างใหม่ ปัญหาคือการวาดอะไรบางอย่างใน SFML คุณใช้ที่เป็นหน้าต่างwindow.draw(sprite) sf::RenderWindowมี 2 ​​ตัวเลือกที่ฉันเห็นอยู่ที่นี่: สร้างวัตถุเกม Singleton ที่ทุกหน่วยงานในเกมดึง (สิ่งที่ฉันใช้มาก่อน) ทำให้นี่เป็นตัวสร้างสำหรับเอนทิตี: Entity(x, y, window, view, ...etc)(นี่เป็นเพียงเรื่องไร้สาระและน่ารำคาญ) อะไรจะเป็นวิธีที่เหมาะสมในการทำเช่นนี้ในขณะที่รักษานวกรรมิกของ Entity ให้เป็นแค่ x และ y ฉันสามารถลองและติดตามทุกสิ่งที่ฉันทำในลูปเกมหลักและเพียงแค่วาดเทพดาในลูปเกมด้วยตนเอง แต่ดูเหมือนว่ายุ่งเกินไปและฉันยังต้องการการควบคุมเต็มรูปแบบสำหรับฟังก์ชั่นการดึงทั้งหมด

2
ฉันสามารถฝังเกมในเอกสาร PDF ได้หรือไม่?
ฉันคิดว่ามันคงเจ๋งที่จะมีเกมแบบโต้ตอบในเรซูเม่ดิจิตอล เพื่อประโยชน์ของคำถามนี้และขอบเขตของไซต์นี้เรามาดูกันว่านี่เป็นความคิดที่ดีหรือไม่ เป็นไปได้หรือไม่ที่จะฝังเกมหรือหน้าต่างโต้ตอบบางประเภทภายในเอกสาร PDF? สิ่งนี้อาจใช้ภาษาหรือกรอบงานใด ๆ ตัวอย่างเช่นการมีพื้นที่ขนาดเล็กของ PDF โดยมี CAPTCHA อยู่ในนั้น

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

1
นี่คือสิ่งที่ฉาย?
ใครช่วยบอกฉันได้ว่าการฉายภาพนี้เรียกว่าอะไร? ราวกับว่าคุณกำลังมองวัตถุจากด้านบนโดยตรงจากนั้นก็ทามันขึ้นและทิ้งให้เท่า ๆ กัน มีเพียงมิติเดียวเท่านั้นที่ดูเหมือนเป็นมาตราส่วนจริงในขณะที่อีกสองมิติเอียงไป ฉันไม่พบเกมมากมายที่ใช้สไตล์นี้ แต่ Ultima Series บางเกมดูเหมือนหรือคล้ายกัน:
16 projection 

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