การพัฒนาเกม

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

3
การจัดการสินทรัพย์ฐานข้อมูลหรือระบบการกำหนดเวอร์ชัน?
ในขณะที่กำลังพัฒนาสินทรัพย์สำหรับเกม (meshes, พื้นผิว, เสียง, วิดีโอ) คุณจัดการกับมันได้หรือไม่? ทำให้พวกเขาพร้อมกับซอร์สโค้ดภายในระบบเวอร์ชันหรือไม่ (จำเป็นต้องใช้คอมไพล์ ฯลฯ …) หรือมี back-upped กลางฐานข้อมูลที่ทุ่มเทให้กับสินทรัพย์และมีบรรณาธิการชอบทำงานเสมอหรือไม่ (PostgreSQL, MySQL, ฯลฯ …) อื่น ๆ ? ข้อดีและข้อเสียของแต่ละคนคืออะไรและทำไมจึงควรเลือกสิ่งอื่น ๆ

14
วิธีใช้“ สัญลักษณ์แสดงเวลา” ในเกมที่มีผู้เล่นหลายคนได้อย่างไร?
ฉันไม่เคยเห็นคุณลักษณะดังกล่าวมาก่อน แต่ควรให้โอกาสการเล่นเกมที่น่าสนใจ ใช่ในสภาพแวดล้อมที่มีผู้เล่นหลายคน / เรียลไทม์ (ลองจินตนาการถึง FPS) ฉันจะใช้เอฟเฟกต์การเคลื่อนที่ช้า / กระสุนได้อย่างไร บางสิ่งบางอย่างเช่นภาพลวงตาสำหรับผู้เล่นที่กำลังดูหมิ่น ดังนั้นทุกคนเห็นเขา "เรียลไทม์" แต่เขาเห็นทุกอย่างช้าลง ปรับปรุง คำเตือน: โปรดจำไว้ว่าเกม FPS จะต้องมีความสมดุลเพื่อความสนุก ใช่คุณสมบัติลูกกระสุนนี้จะต้องเป็นของแข็งให้ประโยชน์เล็กน้อยกับ "ผู้เล่น" ในขณะที่ไม่ได้ละทิ้งผู้เล่นคนอื่น นอกจากนี้ยังมีความเป็นไปได้ที่ผู้เล่นสองคนสามารถเปิดใช้งานสัญลักษณ์แสดงหัวข้อย่อยในเวลาเดียวกันได้ นอกจากนี้: ฉันจะใช้สิ่งนี้ในอนาคตไม่ว่าจะเกิดอะไรขึ้น และแนวคิดก็คือการสร้างเอ็นจิ้นเกมใหม่ทั้งหมดสำหรับทุกสิ่งนี้ ถ้านั่นเป็นตัวเลือกใหม่ฉันก็สนใจฟังความคิดมากกว่า ในขณะเดียวกันที่นี่กับทีมของเราที่เรากำลังคิดเกี่ยวกับเรื่องนี้เช่นกันเมื่อทฤษฎีของเราจะถูกสร้างขึ้นมาฉันจะแบ่งปันที่นี่ เป็นไปได้ไหม ดังนั้นคำถามที่ว่า "เป็นไปได้ยังไง" ได้รับคำตอบแล้วถึงเวลาที่จะหาทางออกที่ดีที่สุดแล้ว ฉันกำลังรักษา "คำตอบ" ไว้จนกว่าจะมีสิ่งที่ยอดเยี่ยมเกิดขึ้นเช่นทฤษฎีต้นแบบที่มีบางสิ่งที่ใกล้เคียงกับโค้ดหลอกทำงาน สิ่งที่นักฟิสิกส์และนักปรัชญาพูด: ลิงก์มีไว้เพื่อคุณที่สนใจเนื่องจากหัวข้อถูกปิด https://physics.stackexchange.com/questions/17118/time-traveling-and-time-dilation-within-a-multiplayer-videogame https://philosophy.stackexchange.com/questions/1704/seeing-everything-in-slow-motion-but-being-real-time เงื่อนไขที่ฉันคิดเมื่อเขียนคำถามในเว็บไซต์ฟิสิกส์ (คัดลอก): ผู้เล่นที่อยู่ภายใต้เอฟเฟ็กต์ของสโลว์โมชั่นมีข้อได้เปรียบในการทำการกระทำที่แม่นยำยิ่งขึ้น (การยิงการเคลื่อนไหว ฯลฯ ) เนื่องจากเห็นทุกอย่างในจังหวะที่ช้ากว่ามาก การกระทำของเขาควรส่งผลกระทบต่อผู้เล่นอื่นแบบเรียลไทม์ ผู้เล่นมองไปที่ผู้เล่นที่ได้รับผลกระทบของเราไม่เห็นความแตกต่างใด ๆ ยกเว้นว่าพวกเขาสามารถสัมผัสกับการกระทำที่เขาได้ทำ …

9
ฉันควรศึกษา OpenGL ต่อไปหรือเพียงแค่เปลี่ยนเป็น DirectX เพื่อให้ฉันมีโอกาสได้งานทำในอุตสาหกรรมเกมมากขึ้น [ปิด]
ฉันได้เรียนรู้การเขียนโปรแกรมกราฟิกมาระยะหนึ่งแล้วโดยใช้ OpenGL และ Linux ฉันค่อนข้างคุ้นเคยกับแนวคิดส่วนใหญ่แล้ว แต่ฉันต้องการที่จะเพิ่มพูนความรู้ของฉันและในที่สุดก็มีอาชีพด้านการพัฒนาเกมโดยเฉพาะการพัฒนาโปรแกรมเกม สำหรับฉันแล้วดูเหมือนว่าสตูดิโอเกมส่วนใหญ่สร้างเกมสำหรับ Windows โดยใช้ DirectX แก้ไข: ฉันรู้ว่าคำถาม OpenGL กับ DirectX ได้รับการถามที่นี่มาก่อน แต่ฉันไม่พบคำตอบในมุมมองที่ฉันต้องการ แก้ไข 2: หลังจากอ่านคำตอบ / ความคิดเห็นทั้งหมดฉันตัดสินใจดำน้ำลึกลงไปในกราฟิกด้วย OpenGL / GLSL แต่ฉันจะลองเล่นกับ DX ด้วยเช่นกันเพื่อทำความเข้าใจพื้นฐานของ API ฉันอยากจะขอบคุณทุกคนสำหรับคำตอบและข้อมูลเชิงลึกที่คุณให้กับฉัน

10
MMOs ที่ใช้เบราว์เซอร์ (WebGL, WebSocket) [ปิด]
คุณคิดว่าเป็นไปได้หรือไม่ในทางเทคนิคที่จะเขียนไคลเอนต์ MMO สามมิติที่มีคุณสมบัติครบถ้วนด้วย Browser JavaScript - WebGL สำหรับกราฟิกและ WebSocket สำหรับระบบเครือข่าย? คุณคิดว่า MMO ในอนาคต (และโดยทั่วไปเกม) จะเขียนด้วย WebGL หรือไม่ ประสิทธิภาพ JavaScript ของวันนี้อนุญาตหรือไม่ สมมติว่าทีมพัฒนาของคุณคือคุณในฐานะนักพัฒนาและผู้สร้างโมเดลอีกคน (ศิลปิน) คุณจะใช้ไลบรารีเช่นSceneJSสำหรับเกมหรือเขียน WebGL โดยตรงหรือไม่ หากคุณต้องการใช้ห้องสมุด แต่ไม่ใช่ SceneJS โปรดระบุว่า UPDATE (กันยายน 2555): RuneScape ซึ่งเป็น MMORPG ที่ใช้เบราว์เซอร์ 3D ยอดนิยมที่ใช้ Java Applets จนถึงขณะนี้ได้ประกาศว่าจะใช้ HTML5 สำหรับลูกค้าของพวกเขา ( แหล่งที่มา ) Java (ซ้าย) และ HTML5 …
29 mmo  webgl  websocket 

3
มีกี่แกนที่จะใช้สำหรับการชน OBB 3D กับ SAT
ฉันใช้ SAT ตาม: การตรวจจับการชนแบบไดนามิกโดยใช้กล่องที่มุ่งเน้นการละเมิด [PDF] ในหน้า 7 ในตารางมันหมายถึง 15 แกนเพื่อทดสอบเพื่อให้เราสามารถหาการชนกัน แต่ด้วย Axe, Ay และ Az ฉันได้รับการชนกันแล้ว ทำไมฉันต้องทดสอบเคสอื่นทั้งหมด มีสถานการณ์ใดที่ Axe, Ay และ Az ไม่พอ?

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

6
โซลูชั่นมาตรฐานในการค้นหาเส้นทางไปยังเป้าหมายที่กำลังเคลื่อนที่คืออะไร
ฉันกำลังทำงานกับ 2D RTS เช่นเกมพื้นฐาน A * ทำงานได้อย่างสมบูรณ์แบบสำหรับการย้ายหน่วยจากจุด A ไปยังจุด B แต่ตอนนี้ฉันเผชิญกับปัญหาการค้นหาเส้นทางอย่างต่อเนื่องเช่น A การโจมตีวัตถุที่เคลื่อนที่ B เรียก A * ในแต่ละเฟรมเมื่อการเปลี่ยนตำแหน่งของวัตถุ B ดูเหมือนไม่มีประสิทธิภาพ ดังนั้นวิธีมาตรฐานสำหรับปัญหานี้คืออะไร?

3
ทำไมเอ็นจิ้นเกมส่วนใหญ่ไม่ใช้ gif สำหรับพื้นผิวเคลื่อนไหว?
อะไรจะดีไปกว่าการใช้ Animation ชีตหรือ Gif ข้อดีอย่างหนึ่งของ Gif ที่มีเหนือแผ่นภาพเคลื่อนไหวคือคุณไม่ต้องคิดเกี่ยวกับเฟรมที่จะเร็วหรือช้าเกินไปเพราะรหัสของคุณและการอัพเดทในเห็บที่เหมาะสม อะไรคือข้อเสียของการใช้ Gif และข้อดีของ Animation Sheet มีมากกว่า Gif

2
ทำไมบางเกมแสดงแสงไฟส่องทะลุกำแพง?
ในบางเกมฉันเห็นแสงไฟส่องผ่านผนังแม้ว่าฉันจะตั้งค่าคุณภาพวิดีโอในระดับสูง ตัวอย่างของเกมที่ฉันเล่นเมื่อไม่นานมานี้คือ Borderlands 2 (ระเบิดขีปนาวุธ) และ Call of Cthulhu (ตะเกียง; เกมยังใช้ Unreal Engine 4) นี่เป็นข้อบกพร่องหรือมีเหตุผลด้านประสิทธิภาพหรือไม่ ตัวอย่าง Borderlands 2: https://youtu.be/9bV83qA6_mU?t=419 (ไม่กี่ครั้ง แต่อย่างรวดเร็ว) คำถามโบนัส: ในกรณีหลังมีการติดตาม ray ด้วยวิธีใดบ้างที่สามารถใช้ในการแก้ปัญหาได้อย่างถูก? ฉันเดาว่าแพง RT แก้ไขปัญหาได้แน่นอน แต่ฉันสงสัยว่ามันสามารถใช้ในรูปแบบ "ถูก" เพื่อแก้ปัญหาเฉพาะนี้ได้หรือไม่

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

4
ฉันจะใช้สไปรต์ 2D ที่แสดงผลล่วงหน้าซึ่งสามารถเผชิญกับทิศทางใดได้อย่างไร
ฉันได้รับ Googling ว่าเกมเช่น Clash of Clans ให้กองทหารของพวกเขาอย่างไรและดูเหมือนว่าพวกเขาเป็นแบบจำลอง 3 มิติล่วงหน้าไปยัง 2D sprite ชีทก่อนรันไทม์และแสดงภาพ 2 มิติเหล่านั้นที่รันไทม์ อย่างไรก็ตามกองทหารใน Clash of Clans สามารถเผชิญกับทิศทางใดก็ได้ ในเกมที่คล้ายกันของฉันถ้าผมจะสร้างภาพทุกปฐมนิเทศ (0-360 องศา) สำหรับประเภททหารทุก (มี 18 ชนิด) ที่แต่ละเฟรมในการเคลื่อนไหวของพวกเขาพวกเขาจะมีการผลิตขนาดใหญ่จำนวนของภาพ ฉันไม่สามารถจินตนาการได้ว่านี่คือสิ่งที่นักพัฒนารายอื่นกำลังทำอยู่ดังนั้นฉันจะทำสิ่งนี้สำเร็จจริง ๆ ได้อย่างไร
28 3d 

6
ทำไมฉันไม่ควรอนุญาตให้เปลี่ยนมุมมองหากเทคโนโลยีอนุญาต
นี่เป็นคำถามที่มีจุดประสงค์น้อยในการพัฒนาเกมและเพิ่มเติมเกี่ยวกับเทคโนโลยีที่อยู่เบื้องหลัง นักข่าวเกมและนักเล่นเกมมืออาชีพจำนวนมาก (ทั้งในทัวร์นาเมนต์และโฮมเอนเตอร์เทนเม้นท์) มักจะตอกย้ำในเรื่องที่เกมบุคคลที่หนึ่งหรือที่สามควรมีวิธีเปลี่ยนมุมมองและฉันเห็นด้วยกับพวกเขา เหตุผลหลักที่พวกเขาพูดถึงเรื่องนี้เป็นเพราะมีผู้เล่นจำนวนมากที่มีอาการปวดหัวและปวดตาเนื่องจากมีผู้เล่นจำนวนมากที่ได้รับการเคลื่อนไหว ฉันสามารถเข้าใจได้ว่านักพัฒนาอินดี้ไม่อนุญาตหรือไม่เนื่องจากข้อ จำกัด ด้านงบประมาณเพราะพวกเขาจำเป็นต้องเพิ่มการสนับสนุนให้กับเอ็นจิ้น อย่างไรก็ตามนักพัฒนาซอฟต์แวร์จำนวนมากใช้เอ็นจิ้นบุคคลที่สามที่มีชื่อเสียงเช่น Frostbite, Unity, Unreal หรือ Cryengine แต่ไม่ได้เสนอทางเลือกสำหรับการเปลี่ยนมุมมอง ทำไมฉันไม่ควรอนุญาตให้เปลี่ยนมุมมองหากเทคโนโลยีอนุญาต
28 viewport 

6
จะตัดสินใจได้อย่างไรว่า GameObject ควรจัดการกับการชนกันอย่างไร
ไม่ว่าจะเกิดการชนกัน GameObjects สองรายการมีส่วนเกี่ยวข้องหรือไม่ สิ่งที่ฉันต้องการที่จะรู้คือผมจะตัดสินใจอย่างไรว่าวัตถุที่ควรมีของฉันOnCollision*? ตัวอย่างเช่นสมมติว่าฉันมีวัตถุผู้เล่นและวัตถุเข็ม ความคิดแรกของฉันคือการวางสคริปต์บนโปรแกรมเล่นที่มีรหัสดังนี้: OnCollisionEnter(Collision coll) { if (coll.gameObject.compareTag("Spike")) { Destroy(gameObject); } } แน่นอนว่าฟังก์ชั่นเดียวกันนี้สามารถทำได้โดยแทนที่จะมีสคริปต์บนออบเจ็กต์ Spike ที่มีรหัสดังนี้: OnCollisionEnter(Collision coll) { if (coll.gameObject.compareTag("Player")) { Destroy(coll.gameObject); } } ขณะที่ทั้งสองมีความถูกต้องมันจะทำให้รู้สึกมากขึ้นกับผมที่จะมีสคริปต์ในการเล่นเพราะในกรณีนี้เมื่อการปะทะกันเกิดขึ้นการดำเนินการจะถูกดำเนินการบนเครื่องเล่น อย่างไรก็ตามสิ่งที่ทำให้ฉันสงสัยว่านี่คือในอนาคตคุณอาจต้องการเพิ่มวัตถุอื่น ๆ ที่จะฆ่าผู้เล่นในการปะทะกันเช่นศัตรู, ลาวา, ลำแสงเลเซอร์ ฯลฯ วัตถุเหล่านี้อาจมีแท็กที่แตกต่างกัน ดังนั้นสคริปต์บน Player จะกลายเป็น: OnCollisionEnter(Collision coll) { GameObject other = coll.gameObject; if (other.compareTag("Spike") || other.compareTag("Lava") || …

3
เกม 2 มิติเช่น Zelda จัดการกับตัวละครที่อยู่ด้านหลังอาคารซึ่งมีเพียงส่วนเดียวของเขาที่แสดงได้อย่างไร
ฉันพยายามพัฒนาเกมสไตล์ Zelda ง่าย ๆ ฉันพบหัวข้อที่มีประโยชน์มากนี้ LoZ: ลิงก์ไปยังการชนกันของไทล์ย่อยจัดการอย่างไร ฉันใช้เป็นข้อมูลอ้างอิงเพื่อพัฒนากลไกการตรวจจับการชนของฉัน อย่างไรก็ตามมีบางสิ่งที่ฉันไม่เข้าใจ เมื่อลิงก์อยู่ด้านหลังอาคารจะมีเพียงบางส่วนเท่านั้นที่ปรากฏ ทุกคนได้โปรดช่วยฉันเข้าใจว่าเอฟเฟกต์นี้จะประสบความสำเร็จได้อย่างไร? พื้นอาคารเป็นส่วนหนึ่งของพื้นหลังไม่ใช่หรือ
28 2d 

6
เหตุใดจึงมีสินทรัพย์เหลืออยู่ในเกมสุดท้าย
ฉันเพิ่งอ่านเกี่ยวกับสิ่งที่ค้นพบในไฟล์สำหรับ No Man's Sky สิ่งต่าง ๆ มากมายที่ไม่ได้ใช้หรือเกี่ยวข้องกับเกม ฉันได้อ่านเมื่อไม่นานมานี้เกี่ยวกับการตั้งค่า E3 ที่ถูกทิ้งไว้ในไฟล์ Watch Dogs ทำไมผู้พัฒนาเกมถึงทิ้งไฟล์เก่าและไฟล์ที่ไม่ได้ใช้ในเกมสุดท้าย แน่นอนว่านี่ใช้พื้นที่เพิ่มเติมบนดิสก์และต้องมีการดาวน์โหลดข้อมูลเพิ่มเติมหากคุณดาวน์โหลดเกม นักพัฒนาไม่กลัวสิ่งที่ผู้คนจะพบได้หรือไม่
28 assets 

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