การพัฒนาเกม

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

17
ทำไมคลาสตัวละครถึงถูกใช้ในการออกแบบเกม?
เราได้พูดคุยกันอย่างยาวนานเกี่ยวกับตัวละคร - เรียนใน บริษัท ของฉัน เรากำลังสร้างเกมตามทักษะที่คุณจะต้องเลือก 8 เพื่อเข้าสู่การต่อสู้ในที่สุด ฉันเป็นแฟนตัวยงของระบบไร้คลาสฉันมักจะรู้สึกว่ามันถูกสร้างขึ้นเพื่อยืดเวลาการเล่นเกมของคุณในแบบที่ผิด ๆ เราถึงข้อสรุปบางประการ: มีคลาสเพื่อป้องกันสถานการณ์ "best build" ที่ทุกคนเล่นอย่างดีที่สุด (โดยส่วนตัวแล้วฉันรู้สึกว่านี่เป็นกรณีที่อ่อนแอคุณควรจะสามารถออกแบบระบบที่ไม่มีการรวมกันที่ชนะโดยไม่มีคลาส) ชั้นเรียนสร้างความหลากหลายโดยนำเสนอรูปแบบการเล่นที่แตกต่างกัน (ฉันเห็นด้วยกับเรื่องนี้ แต่ถ้าคุณมีอิสระในการรวมทักษะที่แตกต่างคุณสามารถสร้างชั้นเรียนของคุณเองได้จริง) คลาสทำให้การเลือกสไตล์การเล่นง่ายขึ้นสำหรับผู้เล่น ผู้เล่นส่วนใหญ่เล่นตัวละครประเภทเดียวกันในเกมที่แตกต่างกัน (ตัวแทนจำหน่าย Damage, Healer, Thief / Assassin และอื่น ๆ ) (สำหรับฉันสิ่งนี้สมเหตุสมผลที่สุดจากการโต้แย้งทั้งหมดจากด้านบน แต่ทำไมบังคับให้ผู้คนต้องใช้ทักษะเพียงส่วนเดียวเมื่อคุณเสนอเป็นเทมเพลต) ทำไมคลาสตัวละครถึงถูกใช้ในการออกแบบเกม? คุณเห็นด้วยกับประเด็นข้างต้นหรือไม่ ใช่หรือไม่ทำไมคุณคิดเช่นนั้น

1
การใช้ระบบเอนทิตีตามองค์ประกอบจริง
เมื่อวานนี้ฉันได้อ่านงานนำเสนอจาก GDC Canada เกี่ยวกับระบบเอนทิตีแอตทริบิวต์ / พฤติกรรมและฉันคิดว่ามันยอดเยี่ยมมาก อย่างไรก็ตามฉันไม่แน่ใจว่าจะใช้งานได้อย่างไรไม่ใช่ในทางทฤษฎี ก่อนอื่นฉันจะอธิบายให้คุณทราบอย่างรวดเร็วว่าระบบนี้ทำงานอย่างไร แต่ละเอนทิตีเกม (เกมวัตถุ) ประกอบด้วยคุณลักษณะ (= ข้อมูลซึ่งสามารถเข้าถึงได้โดยพฤติกรรม แต่ยังรวมถึง 'รหัสภายนอก') และพฤติกรรม (= ตรรกะซึ่งมีOnUpdate()และOnMessage()) ดังนั้นสำหรับตัวอย่างเช่นในโคลนฝ่าวงล้อมอิฐแต่ละคนจะต้องประกอบด้วย (ตัวอย่าง): PositionAttribute , ColorAttribute , HealthAttribute , RenderableBehaviour , HitBehaviour คนสุดท้ายอาจมีลักษณะเช่นนี้ (เป็นเพียงตัวอย่างที่ไม่ทำงานเขียนใน C #): void OnMessage(Message m) { if (m is CollisionMessage) // CollisionMessage is inherited from Message { Entity otherEntity …

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

13
ไลบรารี C # ใดบ้างที่สามารถใช้เพื่อสนับสนุนการพัฒนาเกม [ปิด]
เนื่องจากเกมมีพื้นฐานอยู่บนระบบย่อยต่าง ๆ เช่นกราฟิก (DirectX, OpenGL, ... ), เสียง (OpenAL, Ogg Vorbis, ... ) หรือฟิสิกส์ (การชน, ... ), ห้องสมุดใดที่คุณรู้ว่ามีประโยชน์ สำหรับการพัฒนาเกมใน C # และมีประโยชน์อะไรบ้าง
58 c#  .net 

7
อันตรายของการพัฒนาเกมการเรียนการสอนด้วยตนเองคืออะไร? [ปิด]
ฉันกำลังจะเริ่มดำเนินการในการพัฒนาเกม ทำตามคำตอบของคำถามสุดท้ายของฉันฉันจะใช้ C # และ XNA อย่างไรก็ตามฉันไม่รู้จักนักพัฒนาเกมอื่น ๆ เป็นการส่วนตัวและฉันไม่ได้ทำงานในอุตสาหกรรมดังนั้นจะสอนตัวเอง ข้อยกเว้นนี้ชัดเจนว่าการถามคำถามและการอ่านข้อมูลออนไลน์ / สิ่งพิมพ์ แต่ฉันจะยังคงจัดให้สิ่งนี้ว่าเป็นการเรียนรู้ด้วยตนเอง ด้วยสิ่งนี้ฉันต้องการเตรียมพร้อมสำหรับปัญหาที่ฉันอาจพบเจอโดยไม่ให้มีใครบางคน "ทำให้ฉันอยู่ภายใต้ปีกของพวกเขา" เมื่อเปรียบเทียบตนเองเมื่อสอนตัวเองให้เล่นกีตาร์ฉันเล่นคอร์ดสำคัญในลักษณะที่ทำให้คอร์ดเคลื่อนที่ฉันเรียนรู้ได้ยากขึ้นในภายหลัง หากคุณสามารถแบ่งปันบทเรียนที่ได้เรียนรู้และคำแนะนำเกี่ยวกับสิ่งที่อาจจะผิดพลาดในการเรียนรู้การพัฒนาเกมของฉันฉันจะขอบคุณ ฉันตระหนักดีว่าการทำผิดเป็นส่วนที่ใหญ่ที่สุดของการเรียนรู้ แต่ถ้ามีข้อผิดพลาดฉันสามารถเตรียมพร้อมสำหรับการแล้วฉันจะมีความสุขกับที่
58 c#  xna  books 

9
ใหม่สำหรับการสร้าง AI - จะเริ่มที่ไหนดี [ปิด]
ฉันยังใหม่กับการเขียนโปรแกรมเกมและกำลังพยายามสร้างเกมบนพื้นที่บนลงล่างแบบ 2d พร้อมกับยานอวกาศ 2 ลำที่ต่อสู้กัน ฉันทำได้ดีกับยานอวกาศควบคุมของผู้ใช้ แต่ไม่รู้ว่าจะเริ่มเขียนโปรแกรม AI ได้อย่างไร มีวิธีการ / รูปแบบบางอย่างที่ดีกว่าสำหรับสถานการณ์นี้หรือไม่? ฉันจะเริ่มต้นที่ไหนดี

14
เหตุใดบางเกมจึงมีกลยุทธ์ที่ทำงานได้อย่างต่อเนื่องเป็นส่วนใหญ่ในขณะที่เกมอื่น ๆ อาจมีมากมาย
สิ่งที่น่าสนใจในLeague of Legendsคือการมีอยู่ของ "เมตา" ซึ่งสำหรับจุดประสงค์ของคำถามนี้สามารถนิยามได้ว่าเป็นกลยุทธ์หนึ่งเดียวที่ควบคุมพวกเขาทั้งหมด เมตาเปลี่ยนไปมาระหว่างแพทช์ แต่ไม่นานหลังจากที่ปล่อยแพทช์รูปแบบใหม่ของเมตาดาต้าจะปรากฏขึ้นและทุกคนยอมรับว่ากลยุทธ์นี้โดยเฉพาะอย่างยิ่งในกรณีส่วนใหญ่จะเป็นวัตถุที่ดีที่สุด ไม่ใช่ว่าเกม Riot ไม่พยายามที่จะโยกย้ายสิ่งนี้ ตัวอย่างเช่นพวกเขาแนะนำรูนส์ที่ควรอนุญาตให้ความชอบส่วนตัวเป็นปัจจัยสำคัญในการเล่นเกมนั่นคืออนุญาตให้ใช้กลยุทธ์ที่หลากหลายได้ แต่ความพยายามส่วนใหญ่ย้อนกลับมา: ในไม่ช้าก็ปรากฏหน้าหนึ่งที่ถูกต้องรูนสำหรับแชมป์ต่อไป แปลกผมบอกและผมอ่านในอินเทอร์เน็ตนี้ไม่ได้เป็นกรณีในDota 2 (ฉันไม่รู้; ฉันไม่ได้เล่นDota ) ตามข้อมูลที่ฉันสามารถรวบรวมได้ในDota "ไม่มีอะไรกำหนดไว้ในหิน" และวีรบุรุษหลายคนสามารถเล่นได้อย่างถูกกฎหมายในหลายบทบาทมีการแจกแจงเลนที่ปฏิบัติได้หลายอย่าง และกลยุทธ์ที่ใช้การได้หลายอย่าง สิ่งนี้ดูเหมือนจะเป็นเรื่องที่เข้าใจง่ายเพราะมีความแตกต่างระหว่างเกมสองเกมที่มีการชี้ให้เห็นบ่อยๆนั่นคือDotaรวบรวมแนวคิดของเคาน์เตอร์ยาก (เช่นถ้าคุณเลือกฮีโร่ก่อนเกมที่ผิดและแทบจะไม่สามารถเกี่ยวข้องในเกมได้ โชคดีคุณควรเลือกฮีโร่อีกตัว) ในขณะที่LoLเห็นว่ากลไกดังกล่าวแตกหักและมุ่งมั่นที่จะให้เคาน์เตอร์ที่นุ่ม สุดยอดเคาน์เตอร์ยากดูเหมือนจะทำให้เกมเอนไปทางกลยุทธ์ "slated in stone" (การเลือกที่ถูกต้องนั้นเกี่ยวข้องกับทีมก่อนหน้านี้และการเลือกทีมของศัตรู) ขณะที่ซอฟต์เคาน์เตอร์จะทำให้กลยุทธ์ที่หลากหลายมากขึ้น การเปลี่ยนแปลงของ champs เพื่อเลือกในสถานการณ์ที่กำหนด ฉันอาจถามว่าอะไรที่ทำให้เกมมี One Strategy To Rule Them All และสิ่งที่ทำให้เกมมีกลยุทธ์ที่ทำงานได้หลายอย่างแทน? ฉันให้ตัวอย่างของLoLและDotaเพราะฉันคิดว่าความแตกต่างที่โดดเด่นที่สุดคือความคล้ายคลึงกันระหว่างเกมสองเกม แต่ฉันเชื่อว่าคำถามนี้ใช้กับเกมที่แข่งขันกันได้หลายคนได้อย่างง่ายดาย


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

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

9
โปรโตคอล TCP นั้นดีพอสำหรับเกมแบบผู้เล่นหลายคนตามเวลาจริงหรือไม่?
ย้อนกลับไปในวันนี้การเชื่อมต่อ TCP ผ่านการเรียกเลขหมาย / ISDN / บรอดแบนด์ความเร็วสูงทำให้เกมขาด ๆ หาย ๆ เนื่องจากแพ็กเก็ตที่ถูกทิ้งเพียงครั้งเดียวส่งผลให้มีการซิงค์ซ้ำ นั่นหมายถึงนักพัฒนาเกมจำนวนมากต้องใช้เลเยอร์ความน่าเชื่อถือของตนเองที่ด้านบนของ UDP หรือพวกเขาใช้ UDP สำหรับข้อความที่อาจจะหล่นหรือได้รับตามลำดับและใช้การเชื่อมต่อ TCP แบบขนานสำหรับข้อมูลที่ต้องเชื่อถือได้ เมื่อพิจารณาจากผู้ใช้โดยเฉลี่ยมีการเชื่อมต่อเครือข่ายที่เร็วขึ้นตอนนี้เกมเรียลไทม์เช่น FPS สามารถให้ประสิทธิภาพที่ดีกว่าการเชื่อมต่อ TCP หรือไม่?
57 networking 

15
เอนจิ้นกราฟิก 2D ข้ามแพลตฟอร์ม [ปิด]
ฉันกำลังมองหาเอ็นจิ้นกราฟิก 2 มิติที่จะอนุญาตให้ฉันปล่อยไปยัง Windows, Mac และ iPhone ซึ่งเป็นวิธีที่ Unity ทำเพื่อ 3D มีเครื่องมือที่ดีที่ทำสิ่งนี้และเฉพาะกับ 2D หรือไม่?

3
ปรับแต่งเกม XNA 2D
มันสมเหตุสมผลไหมที่จะใช้ตรรกะเพื่อข้ามการเรนเดอร์วัตถุนอกวิวพอร์ตหรือฉันไม่ควรสนใจมันและปล่อยให้ Framework ทำมัน?
56 xna  2d  optimization  xna-4.0 

8
ทำไมปืนวิดีโอเกมส่วนใหญ่จึงบรรจุกระสุนใหม่โดยไม่สูญเสียกระสุนที่ไม่ได้ใช้ในนิตยสาร?
หากฉันได้รับกระสุนสำรอง 500 นัดและกระสุน 73/100 นัดในปืนปัจจุบันของฉันทำไมฉันถึงลงเอยด้วยกระสุนสำรอง 473 ชุดแทนที่จะเป็น 400 (สูญเสีย 73 รอบที่ไม่ได้ใช้ในนิตยสารก่อนหน้า)? นี่เป็นเพียงการทำให้เล่นง่ายขึ้นหรือไม่ ฉันต้องการสร้างเกมยิงที่ท้าทายและดูเหมือนว่าระยะเวลาที่โหลดของคุณจะน่าสนใจ มีเหตุผลใดบ้างที่ฉันควรยึดถือปรกติ?

18
ไลบรารี JS ที่ดีสำหรับเกม dev คืออะไร [ปิด]
หากฉันตัดสินใจที่จะเขียนเกมง่ายๆทั้งข้อความและกราฟิก (2d) ฉันจะใช้ไลบรารีใด (สมมติว่าเรากำลังใช้เบราว์เซอร์ที่ใช้งานร่วมกับ HTML5 ได้) สิ่งสำคัญที่ฉันคิดได้ แสดงข้อความบนหน้าจอ สไปรต์เคลื่อนไหว (โดยใช้ images / css) อินพุต (จับปุ่มลูกศรและรับตำแหน่งเมาส์สัมพัทธ์) บางทีทรัพยากรที่โหลดไว้ล่วงหน้าหรือโหลดทรัพยากรแบบไดนามิกและเลือกคำสั่ง เสียง (แต่ฉันไม่แน่ใจว่าความสำคัญนี้จะเป็นอย่างไรสำหรับฉันในตอนแรก) บางทีด้วยการผสมและการผูกมัดเสียงหรือวนซ้ำตลอดไปจนกว่าจะหยุด ระบบเครือข่าย (ลำดับความสำคัญต่ำ) เพื่อเชื่อมต่อผู้ใช้กับผู้อื่นหรือรับข้อมูลอย่างต่อเนื่องโดยไม่มีการร้องขอหลายครั้ง (ฉันรู้ว่ามันมีอยู่ แต่ฉันไม่รู้ว่าการติดตั้งหรือใช้งานง่ายแค่ไหน แต่มันไม่สำคัญสำหรับฉัน คำถาม).
56 html5  javascript 

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