คำถามติดแท็ก software-engineering

วิศวกรรมซอฟต์แวร์เป็นการออกแบบและพัฒนาซอฟต์แวร์ตามที่ใช้กับการพัฒนาเกม คำถามที่ใช้แท็กนี้ควรเกี่ยวกับแนวคิดและการปฏิบัติเชิงทฤษฎีที่เกี่ยวข้องกับภารกิจในการสร้างหรือออกแบบซอฟต์แวร์ ไม่ควรใช้แท็กนี้เพียงเพราะคำถามเกี่ยวข้องกับการเขียนโปรแกรมหรือมีรหัส

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

2
พฤติกรรมการใช้งานในเกมผจญภัยง่าย ๆ
ฉันสนุกกับตัวเองเมื่อไม่นานมานี้โดยการเขียนโปรแกรมเกมผจญภัยที่ใช้ข้อความเป็นหลักและฉันก็ติดอยู่กับสิ่งที่ดูเหมือนว่าจะเป็นปัญหาการออกแบบที่เรียบง่ายมาก เพื่อให้ภาพรวมคร่าวๆ: เกมแบ่งย่อยเป็นRoomวัตถุ แต่ละRoomรายการมีEntityวัตถุที่อยู่ในห้องนั้น แต่ละคนEntityมีสถานะเหตุการณ์ซึ่งเป็นแผนที่แบบสตริง -> บูลีนอย่างง่ายและรายการการกระทำซึ่งเป็นแผนที่แบบสตริง -> ฟังก์ชั่น [action] [entity]ท่านผู้ใช้แบบฟอร์มที่ใช้ Roomใช้ชื่อนิติบุคคลที่จะกลับมาที่เหมาะสมEntityวัตถุซึ่งจากนั้นจะใช้ชื่อการกระทำที่จะหาฟังก์ชั่นที่ถูกต้องและดำเนินการมัน ในการสร้างคำอธิบายห้องพักแต่ละวัตถุแสดงสตริงคำอธิบายของตัวเองแล้วผนวกสตริงคำอธิบายของทุกRoom รายละเอียดอาจเปลี่ยนแปลงขึ้นอยู่กับสถานะของมัน ( "ประตูเปิด", "ประตูถูกปิด", "ประตูถูกล็อค" ฯลฯ )EntityEntity นี่คือปัญหา: การใช้วิธีนี้จำนวนฟังก์ชั่นคำอธิบายและการกระทำที่ฉันต้องนำมาใช้อย่างรวดเร็ว ห้องเริ่มต้นของฉันคนเดียวมีประมาณ 20 หน้าที่ระหว่าง 5 เอนทิตี ฉันสามารถรวมการกระทำทั้งหมดไว้ในฟังก์ชั่นเดียวและถ้า - อื่น / สลับไปมาได้ แต่ก็ยังมีสองฟังก์ชั่นต่อเอนทิตี ฉันยังสามารถสร้างEntityคลาสย่อยเฉพาะสำหรับวัตถุทั่วไป / ทั่วไปเช่นประตูและกุญแจได้ แก้ไข 1: ตามที่ร้องขอตัวอย่างรหัสเทียมของฟังก์ชันการกระทำเหล่านี้ string outsideDungeonBushesSearch(currentRoom, thisEntity, player) if thisEntity["is_searched"] then return "There was nothing …

1
ฉันจะสร้างตัวติดตั้งสำหรับการสาธิต XNA ของฉันได้อย่างไร
ฉันมีการสาธิตรหัสใน XNA3.1 โดยใช้ VS2008 ฉันชอบที่จะสามารถส่งสิ่งนี้ให้กับทุกคนที่มีพีซีและให้พวกเขาติดตั้งและรันโดยไม่ต้องให้พวกเขาติดตั้ง VS หรือ. Net framework เป็นต้น ฉันคิดว่ามันจะเป็นตัวเลือกการเผยแพร่ แต่ฉันสับสนเล็กน้อย มีใครบ้างไหมที่ให้ความกระจ่างเกี่ยวกับเรื่องนี้? ขอบคุณล่วงหน้า.

7
การมีเพศสัมพันธ์ต่ำและการทำงานร่วมกันแน่น
แน่นอนมันขึ้นอยู่กับสถานการณ์ แต่เมื่อวัตถุคันล่างหรือระบบสื่อสารกับระบบระดับที่สูงขึ้นควรเรียกกลับหรือเหตุการณ์ที่จะรักษาตัวชี้ไปยังวัตถุระดับที่สูงขึ้น? ตัวอย่างเช่นเรามีชั้นเรียนที่มีตัวแปรสมาชิกworld vector<monster> monstersเมื่อmonsterชั้นเรียนสื่อสารกับworldฉันควรจะใช้ฟังก์ชั่นโทรกลับแล้วหรือฉันควรจะมีตัวชี้ไปยังworldชั้นเรียนภายในmonsterชั้นเรียนหรือไม่?

2
โปรแกรมเมอร์เสียงควรรู้อะไรบ้าง? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันเป็นนักเรียนประพันธ์เพลงนอกจากนี้ยังได้รับการบวกเล็กน้อยในสาขาวิทยาศาสตร์คอมพิวเตอร์ ฉันรักการเขียนเพลงและทำเอฟเฟกต์เสียงและต้องการเขียนเพลงสำหรับเกม แต่ฉันก็ตระหนักว่าทุกคนและแม่ของพวกเขาต้องการทำเช่นนั้น ด้วยความที่อยู่ในใจและเนื่องจากฉันมีความรักในการเขียนโปรแกรมอย่างเท่าเทียมกันแล้วฉันจึงสนใจที่จะมุ่งเน้นบางส่วนของวิทยาศาสตร์คอมพิวเตอร์ในส่วนของการศึกษาของฉันเพื่อนำไปใช้กับเสียงสำหรับเกม สิ่งที่ฉันทำ / กำลังทำอยู่: เขียน "MusicManager" คลาสที่ตระหนักถึงเวลาดนตรีและการผสมแบบอัตโนมัติจำนวนเล็กน้อยตามเหตุการณ์ในเกม อ่านฟูริเยร์คือใคร ขณะที่ฉันทำงานเพื่อทำความเข้าใจกับการวิเคราะห์ฟูริเยร์และการนำ FFT ไปปฏิบัติ การเรียนรู้นักออกแบบ FMOD และการใช้ API ของนักออกแบบในเกม (แน่นอนว่าไม่ได้เข้าเรียนในชั้นเรียนนี้โดยเฉพาะฉันดีสำหรับการเรียนรู้ API ด้วยตัวเอง) ด้วยพื้นหลังนั้นฉันมีคำถามสองส่วน ดังนั้นนอกเหนือจากสิ่งที่ฉันระบุไว้ข้างต้นและพื้นฐานที่ดีของวิทยาศาสตร์คอมพิวเตอร์ (โครงสร้างข้อมูลและอัลกอริทึมคณิตศาสตร์ไม่ต่อเนื่องการออกแบบ OO / โครงสร้าง) สตูดิโอที่กำลังมองหาโปรแกรมเมอร์เสียงคืออะไร? ยิ่งไปกว่านั้นอาจารย์ของGANGและAudio Engineering Society ยังพูดเหมือนว่าโปรแกรมเมอร์เสียงเป็นสิ่งที่ร้อนแรงต่อไปในเกม

12
มีกรณีที่ globals / singletons มีประโยชน์ในการพัฒนาเกมหรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันรู้ว่าการมีตัวแปรส่วนกลางหรือคลาสเดี่ยวสร้างกรณีที่ยากต่อการทดสอบ / จัดการและฉันถูกจับในการใช้รูปแบบเหล่านั้นในรหัส แต่บ่อยครั้งที่คุณต้องจัดส่ง มีกรณีที่ตัวแปรระดับโลกหรือซิงเกิลตันมีประโยชน์จริง ๆ ในการพัฒนาเกมหรือไม่?

5
ข้ามแพลตฟอร์ม API กราฟิกระดับต่ำ
เมื่อสร้างสิ่งที่เป็นนามธรรมระบบจะดีกว่าที่จะมีแพลตฟอร์ม API ที่แตกต่างกันที่ซ่อนอยู่โดยอินเตอร์เฟซทั่วไปในระดับต่ำสุดที่เหมาะสม คำนึงถึงความทันสมัยที่แตกต่างกัน (โดยไม่มีฟังก์ชั่นคงที่) API กราฟิคดั้งเดิม: OpenGLES 2.0+, OpengGL 3.0+, DirectX 10.0+, Xbox DirectX 9, LibGCM ถ้ามีใครอยากสร้างAPI กราฟิคระดับต่ำให้อยู่เหนือพวกเขาทั้งหมดนี่จะเป็นวิธีที่ดีที่สุดในการทำให้มันผอมและเร็วที่สุดเท่าที่จะเป็นไปได้?

2
หมุนกล้องคนที่ 3 ไปยังเป้าหมาย
ฉันมีกล้องคนที่ 3 ที่ไม่ได้ดูที่ผู้เล่นโดยตรง แต่อยู่ตรงหน้าเขา เมื่อผู้ใช้เข้าสู่โหมดถ่ายภาพฉันต้องการให้กล้องหมุนไปรอบ ๆ ผู้เล่นเพื่อเผชิญหน้ากับเป้าหมาย ในภาพด้านบน "O" คือผู้เล่น (ต้นทาง) "L" คือการค้นหา "C" คือตำแหน่งกล้องและ "T" เป็นเป้าหมาย ฉันต้องการหมุนเส้น lookat C-> L เพื่อให้มันผ่าน T (C '-> L' -> T ') รอบ Origin ("O") โดยทั่วไปฉันต้องหามุมอัลฟาที่ใส่สีแดงไว้ในภาพ ฉันเก็บตำแหน่งกล้องของฉันในโครงสร้างเช่น: struct CameraTarget { Quaternion absoluteRotation; Vec3 absolutePosition; Vec3 cameraOffset; Vec3 lookatOffset; float FOV; } ดังนั้นหากฉันสามารถหามุมที่ฉันกำลังมองหาฉันสามารถทำสิ่งที่ชอบ: cam->absoluteRotation …

4
จะสร้างเกมที่ไม่มี OOP ได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังศึกษาการพัฒนาเกมและฝึกทำเกม ฉันใช้ OOP เป็นจำนวนมากในเกมของฉัน ตัวอย่างเช่นขีปนาวุธแต่ละตัวที่ถูกยิงเป็นตัวอย่างของMissileวัตถุและเพิ่มเข้าไปในรายการของMissileวัตถุ รถถังแต่ละคันในเกมนั้นเป็นTankวัตถุ เป็นต้น การออกแบบทั้งหมดของโปรแกรมขึ้นอยู่กับสิ่งนี้ ยกตัวอย่างเช่นการมีรายการของMissileวัตถุทำให้ฉันทุกเฟรมสามารถเคลื่อนย้ายขีปนาวุธดึงพวกมันได้ ฯลฯ และการมีตัวอย่างของTankวัตถุสำหรับรถถังทุกคันทำให้ฉันสามารถตรวจสอบแต่ละถังถ้ามันชนกับสิ่งอื่น ๆ มันยากสำหรับฉันที่จะจินตนาการว่าเกม (ซึ่งซับซ้อนกว่า Pac-Man) สามารถตั้งโปรแกรมในภาษาที่ไม่ใช่ OO (ไม่มีการดูหมิ่นผู้เขียนโปรแกรมที่ไม่ใช่ OO แน่นอน) ไม่เพียง แต่จะใช้เวลานานแค่ไหน แต่ส่วนใหญ่ในแง่ของวิธีการออกแบบเกมด้วยวิธีนี้ ฉันไม่สามารถจินตนาการถึงการออกแบบเกมโดยไม่ใช้การเขียนโปรแกรมเชิงวัตถุเพราะความเข้าใจของฉันทั้งหมดเกี่ยวกับวิธีการออกแบบโปรแกรมเกมนั้นใช้ OOP ฉันต้องการถาม: วันนี้มีเกมที่ไม่ได้ตั้งโปรแกรมโดยใช้ OOP ในลักษณะที่คุ้นเคยกับสิ่งที่ฉันอธิบายไว้ข้างต้นหรือไม่ มีเกมใด ๆ 'วิชาชีพ' ที่ไม่ได้ใช้ OOP เป็นปัจจัยสำคัญในกระบวนการพัฒนาหรือไม่? ถ้าเป็นเช่นนั้นคุณช่วยให้ฉันทราบได้อย่างไรตัวอย่างเช่นการตรวจจับการชนระหว่างรถถังและขีปนาวุธ N สามารถทำได้โดยไม่ต้องใช้ OOP?

6
ฉันควรพิจารณาอะไรเมื่อประเมินไลบรารีเอ็นจิ้นและกรอบการทำเกม
ฉันจะสร้างเกม ฉันสังเกตเห็นว่ามีเอ็นจิ้นเกมจำนวนมากไลบรารีและเฟรมเวิร์กที่พร้อมใช้งานและฉันมีปัญหาเล็กน้อยในการตัดสินใจว่าจะใช้อันไหน ฉันค่อนข้างดีกับภาษาการเขียนโปรแกรม แต่มีคนอื่นที่ไม่รู้จักเลย ฉันไม่ได้ต่อต้านการเรียนรู้ภาษาการเขียนโปรแกรมใหม่ถ้ามันจะช่วยได้ แต่เป้าหมายที่แท้จริงของฉันคือการสร้างเกมของฉัน ฉันควรใช้เกณฑ์ใดในการเปรียบเทียบเอ็นจิ้นไลบรารีและกรอบงานซึ่งกันและกันเพื่อให้ฉันสามารถตัดสินใจได้ว่าจะให้ฉันมีประสิทธิภาพมากที่สุดในการจบเกม

3
แสดงช่วงบนตารางหกเหลี่ยม
นี่คือสถานการณ์ ฉันมีกระดานหกเหลี่ยมและหน่วยบนมันมีค่าความเร็วหรือการเคลื่อนย้าย 4.Diffrent ภูมิประเทศมีค่าใช้จ่ายที่แตกต่างกันเมื่อฉันคลิกที่หน่วยเกมจะแสดงช่วงการเคลื่อนที่ ทางออกของฉันคือการตรวจสอบแต่ละ hex ในช่วง 4 กับ A * pathfinding และถ้าค่าพา ธ น้อยกว่า 4 แล้ว hex นี้อยู่ในช่วงเกมสุดท้ายแสดงให้ฉันเห็นช่วงของหน่วยนั้น คำถามของฉันคือ: มีวิธีอื่นในการค้นหาช่วงบนกริดฐานสิบหกหรือตารางกริดเพราะแม้ว่าฉันภูมิใจในสิ่งที่ฉันทำในโซลูชันของฉันฉันคิดว่ามันเป็นเรื่องเล็กน้อยเกินจริงหรือไม่ :)) อะไรทำให้ฉันถามคำถามนี้ฉันสังเกตเห็นว่าเมื่อความเร็วหน่วยเป็น 4 หรือ 6 หรือแม้กระทั่ง 8 ช่วงเวลาในการคำนวณสำหรับคอมพิวเตอร์ของฉันนั้นดีมาก แต่เมื่อความเร็วเท่ากับ 10 ขึ้นไปฉันสังเกตว่าฉันต้องรอสองสามวินาทีในการคำนวณ . ดีในเกมจริงฉันไม่เห็นอะไรเช่นนี้และการหาเส้นทาง A * ของฉันนั้นได้รับการปรับให้เหมาะสมดังนั้นฉันคิดว่าโซลูชันของฉันผิด ขอบคุณสำหรับคำตอบใด ๆ

12
ฉันจะสร้างวิดีโอเกมได้อย่างไรหากฉันไม่ชอบการเขียนโปรแกรม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังเรียนรหัส C ++ ในโรงเรียนของฉัน (วิชาเอกคือการเขียนโปรแกรมคอมพิวเตอร์) จริงๆแล้วคะแนนของฉันไม่ค่อยดีนักและงานที่มอบหมายก็ยากจริงๆ บางครั้งฉันรู้สึกเศร้าที่ฉันจะใช้เวลา 8-10 ชั่วโมงต่อวันในการเขียนโค้ด (ซึ่งเป็นเรื่องเครียด) ในอนาคตสำหรับงานของฉัน แต่ฉันยังต้องการสร้างวิดีโอเกม บางทีนี่อาจเป็นเหตุผลเดียวที่ฉันกำลังเรียนหลักสูตรเครียดเหล่านี้ทั้งหมด ฉันมักจะเขียนพล็อตเรื่องตัวละครโลกแห่งเกมสมมติ ... ครั้งหนึ่งฉันคิดว่าฉันควรศึกษาเทคโนโลยีด้านศิลปะเช่นการออกแบบเกมและไม่ใช่เทคโนโลยีคอมพิวเตอร์เช่น C ++, C # ฯลฯ อย่างไรก็ตามนักออกแบบเกมยอดนิยม (หรือผู้กำกับ) เช่น Kojima, Miyamoto และอื่น ๆ เคยเป็นโปรแกรมเมอร์ที่ดี บริษัท ที่ดำเนินการมอบหมายโปรแกรมเมอร์ให้กรรมการเพราะพวกเขาเข้าใจวิธีการทำเกม ฉันพยายามหาวิทยาลัยหรือมหาวิทยาลัยอื่น ๆ ที่พวกเขาสอนโปรแกรมออกแบบเกม อย่างไรก็ตามหนึ่งบทความที่มีอันดับ 10 โรงเรียนออกแบบเกมในอเมริกาเหนือดูเหมือนไม่น่าไว้วางใจเพราะ บริษัท สำรวจทำคะแนนจากนักเรียนหลายคน …

6
การใช้หน่วยความจำในเกม Flash มีมากเกินไป?
ฉันกำลังพัฒนาเกม Flash และฉันสามารถชื่นชมได้ว่าการใช้หน่วยความจำค่อนข้างสูงสำหรับเกม Flash (ฉันคิดว่า) สมมติว่า 100+ MB ดังนั้นเมื่อพูดถึงการใช้หน่วยความจำในเกมแฟลช

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

2
การสืบทอดหลายอย่างไม่สามารถแก้ปัญหาทั้งหมดที่ระบบเอนทิตี้ทำได้หรือไม่
คำถามคือการอธิบายตัวเองค่อนข้างสวย: การสืบทอดหลายอย่างไม่สามารถแก้ปัญหาทั้งหมดที่ระบบนิติบุคคลแก้ได้หรือไม่ ฉันจำคำศัพท์ที่เรียกว่า "การสืบทอดหลายอย่าง" และดูเหมือนจะแก้ปัญหาท้องอืดได้มากมายที่การสืบทอดแบบดั้งเดิมกำหนดขึ้น

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