การพัฒนาเกม

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

6
Visual Studio 2012 และการพัฒนาเกม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา เอาล่ะฉันคิดว่ามันเป็นคำถามง่าย ๆ แต่ฉันมีปัญหาในการหาคำตอบ ฉันได้อ่านแล้วว่า XNA จะไม่อยู่ใน Visual Studio 2012 ฉันเพิ่งเรียนรู้การใช้ XNA แต่เนื่องจากฉันต้องการทำงานกับเกมฉันอยากรู้ว่ามีวิธีพัฒนาเกมโดยใช้ C # ใน Visual Studio 2012 หรือไม่ หรือถ้าฉันควรเรียนรู้ทุกอย่างอีกครั้งโดยใช้ C ++ และ Direct3D C # เป็นภาษาที่ฉันชอบมากดังนั้นหากไม่มีวิธีที่จะทำใน C # แต่สิ่งที่ค่อนข้างง่ายต่อการใช้ Java สำหรับการพัฒนาเกมฉันก็สนใจเช่นกัน ขอบคุณมาก!
10 xna  c#  3d  directx  .net 

1
ความแม่นยำจุดลอยตัว (fp: แม่นยำกับ fp: เร็ว)
ใน C หรือ C ++ ตัวเลือกคอมไพเลอร์ของความแม่นยำจุดลอยตัวสร้างความแตกต่างในเกมในโลกแห่งความเป็นจริง (เล็ก / อินดี้) หรือไม่? จากการสังเกตของฉันการตั้งค่า fp: เร็วเร็วกว่า fp: แม่นยำหลายเท่าและจากสิ่งที่ฉันเข้าใจที่นี่ ( /programming/6889522/fpfast-vs-fpprecise-what-kind-of-errors-can -i-เผชิญหน้า ) ความแตกต่างที่แม่นยำระหว่างตัวเลือกคอมไพเลอร์สองตัวจะเปลี่ยนจากตัวเลขหลักที่ 16 ของตัวเลขทศนิยมเท่านั้น มีใครพบตัวอย่างเมื่อใช้ fp: ผิดอย่างรวดเร็วสำหรับเกม 2D หรือ 3D หรือไม่? แก้ไข: เพื่อความกระจ่างแจ้งฉันไม่ได้ถามเกี่ยวกับความแม่นยำของค่าจุดลอยตัวด้วยตนเอง (เช่น float vs double และทศนิยม) ความแม่นยำเกี่ยวกับตัวเลือกคอมไพเลอร์เท่านั้น
10 c++  c  floating-point 

4
Apple และ Google จะขอแชร์หรือไม่หากการชำระเงินที่กำหนดเองทำในแอปฟรีหรือไม่
ฉันมีเกมหลายแพลตฟอร์ม (เว็บ / iOS / Android) ในการสร้าง ในเวอร์ชั่นฟรีเกมหลักยังคงเล่นได้อย่างเต็มที่ แต่ผู้ที่เลือกที่จะจ่ายจะได้รับคุณสมบัติทางสังคมมากขึ้น (และไม่มีโฆษณาแน่นอน) ฉันคิดว่าแทนที่จะมีรุ่นฟรีและจ่ายเงินสำหรับแพลตฟอร์มทั้งหมดที่ฉันสามารถปล่อยแอพได้ฟรีและหากผู้ใช้ต้องการมากกว่าพวกเขาต้องลงทะเบียนและชำระค่าธรรมเนียมครั้งเดียว (ผ่านเกตเวย์การชำระเงินหรือ PayPal ) เนื้อหาเพิ่มเติมจะพร้อมใช้งานในไคลเอนต์ทั้งหมดที่พวกเขาสามารถเข้าถึงได้ ในทางทฤษฎีนี่หมายถึงคุณค่าที่ดีกว่าสำหรับผู้เล่นและการบำรุงรักษาและปวดหัวน้อยลงสำหรับฉัน (เห็นได้ชัดว่าฉันต้องจัดการกับปัญหาการชำระเงินทั้งหมดด้วยตัวเอง) มันเหมาะกับรูปแบบธุรกิจของ Apple / Google หรือไม่? หรือพวกเขาจะยังคงเรียกร้องส่วนแบ่งค่าธรรมเนียมการลงทะเบียนของพวกเขา?

4
ป้องกันการโกงผู้เล่นหลายคน
ฉันเกือบจะพัฒนาเกมแบบผู้เล่นหลายคนแนวอินดี้เล็กเสร็จแล้ว ในขณะที่ฉันตั้งใจจะอนุญาตให้ผู้คนโกงในผู้เล่นคนเดียวนี่ก็เห็นได้ชัดว่าไม่เป็นที่ยอมรับในผู้เล่นหลายคน ไม่มีใครรู้วิธีที่จะช่วยหยุดค่าเฉลี่ยโจจากการใช้บางอย่างเช่น Cheat-Engine ในการปรับเปลี่ยนบางส่วนของเกม? ขณะนี้ฉันวางแผนที่จะให้ลูกค้าอัปโหลดแฮช MD5 ของแต่ละไฟล์ที่เกมใช้ (เก็บไว้เป็น XML) ไปยังเซิร์ฟเวอร์เกมเพื่อตรวจสอบทุกสองสามวินาที แต่มีอะไรที่ฉันสามารถทำได้เพื่อหยุดสิ่งต่าง ๆ เช่นโปรแกรมแก้ไขหน่วยความจำ ฯลฯ ?


2
จะลบภูมิประเทศลอยเมื่อสร้างด้วย 3D Perlin Noise ได้อย่างไร
ขณะนี้ฉันกำลังใช้ 3D Perlin Noise เพื่อสร้างภูมิประเทศแบบสุ่มร่วมกับ Marching Cubes ปัญหาของฉันดูเหมือนจะอยู่ในการปรับฟังก์ชั่นเสียงรบกวนเพื่อให้ได้ความสูงที่เหมาะสมในภูมิประเทศของฉัน หากมีการใช้อ็อกเทฟเพียงหนึ่งจุดทุกจุดที่สัมพันธ์กับเสียงรบกวนจะถูกสอดแทรกอย่างชัดเจนซึ่งทำให้ได้ข้อมูลที่ค่อนข้างราบ อย่างไรก็ตามเพื่อให้ได้ระยะยื่น / ถ้ำ / ภูมิประเทศขรุขระฉันต้องใช้อ็อกเทฟหลาย ๆ ตัวที่มีแอมพลิจูดที่แตกต่างกันและ / หรือปรับขนาดค่าผลลัพธ์ให้เป็นความสูง 'สูงสุด' ที่ฉันต้องการของแผนที่ ฉันอาจจะพลาดอะไรบางอย่าง แต่ด้วยการใช้ลูกบาศก์เดินกับเสียงเพอร์ลิน 3 มิติฉันจึงได้รับภูมิประเทศที่ลอยอยู่เป็นประจำ ความคิดเห็นใด ๆ เกี่ยวกับวิธีที่ฉันสามารถแก้ไขหรือถ้ามีฟังก์ชั่นเสียงรบกวนอื่น ๆ ที่ฉันอาจใช้เพื่อให้ได้ผลลัพธ์เหมือนที่ฉันอธิบาย ฉันต้องการเนินเขา / หุบเขา / ภูเขา / ทะเลสาบ / ฯลฯ ไม่จำเป็นต้องแยกบิตที่ลอยอยู่ออกจากส่วนที่เหลือของแผนที่ ฉันเชื่อว่านี่เป็นปัญหาที่คล้ายคลึงกับสิ่งที่ Minecraft มีเมื่อมันมีภูมิประเทศที่ลอยอยู่บนท้องฟ้าเป็นครั้งคราวในรุ่นต่อไป ขอบคุณสำหรับความช่วยเหลือ Mythics

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

2
XNA การพูดติดอ่างในช่วงเวลาปกติ
ฉันพยายามที่จะทำฮาร์ดแวร์ instancing แต่ฉันตีปัญหาประสิทธิภาพการทำงานที่แปลก อัตราเฟรมเฉลี่ยอยู่ที่ประมาณ 45 แต่มันขาด ๆ หาย ๆ อย่างมาก หน้าต่าง SynchronizeWithVerticalRetrace = false IsFixedTimeStep = false PresentationInterval = PresentInterval.Immediate ภาพด้านล่างแสดงเวลาที่ฉันวัดได้ (พร้อมStopwatch) กราฟระดับบนสุดคือเวลาที่ใช้ในDrawวิธีการและกราฟด้านล่างเป็นเวลาตั้งแต่สิ้นสุดDrawจนจบUpdate เดือยแหลมนั้นอยู่ห่างกันเกือบ 1 วินาทีและมักจะ 2,3,4 หรือ 5 เท่าของเวลาปกติ เฟรมทันทีหลังจากขัดขวางไม่ใช้เวลาเลย ฉันตรวจสอบแล้วว่าไม่ใช่ตัวรวบรวมขยะ ขณะนี้ฉันกำลังวางตาข่ายที่ประกอบด้วยสามเหลี่ยม 12 รูปและจุดยอด 36 จุดเป็นรายการรูปสามเหลี่ยม (ฉันรู้ว่ามันไม่เหมาะ แต่เป็นเพียงการทดสอบ) โดยมี 1 ล้านอินสแตนซ์ ถ้าฉันแบทช์อินสแตนซ์การดึงการโทรออกเป็นส่วนเล็ก ๆ ของ 250 อินสแตนซ์แต่ละปัญหาจะบรรเทา แต่การใช้ cpu เพิ่มขึ้นอย่างมีนัยสำคัญ …
10 xna  performance 

3
สถาปัตยกรรมเกมเพียร์ทูเพียร์ที่ดีที่สุด
พิจารณาการตั้งค่าที่ไคลเอนต์เกม: มีทรัพยากรคอมพิวเตอร์ขนาดเล็ก (อุปกรณ์มือถือสมาร์ทโฟน) เชื่อมต่อกับเราเตอร์ทั่วไป (LAN, ฮอตสปอตและอื่น ๆ ) ผู้ใช้ต้องการเล่นเกมแบบผู้เล่นหลายคนโดยไม่มีเซิร์ฟเวอร์ภายนอก ทางออกหนึ่งคือการโฮสต์เซิร์ฟเวอร์ที่เชื่อถือได้ในโทรศัพท์เครื่องหนึ่งซึ่งในกรณีนี้จะเป็นลูกค้าเช่นกัน เมื่อพิจารณาถึงจุดที่ 1 โซลูชันนี้ไม่เป็นที่ยอมรับเนื่องจากทรัพยากรการประมวลผลของโทรศัพท์ไม่เพียงพอ ดังนั้นฉันต้องการออกแบบสถาปัตยกรรมแบบเพียร์ทูเพียร์ที่จะกระจายการจำลองเกมในหมู่ลูกค้า เนื่องจากจุดที่ 2 ระบบไม่จำเป็นต้องมีความซับซ้อนเนื่องจากการปรับให้เหมาะสม เวลาแฝงจะต่ำมาก ลูกค้าแต่ละรายสามารถเป็นแหล่งข้อมูลที่เชื่อถือได้เกี่ยวกับตัวเขาและสภาพแวดล้อมในทันที (ตัวอย่างเช่นหัวข้อย่อย) อะไรจะเป็นวิธีที่ดีที่สุดในการออกแบบสถาปัตยกรรมเช่นนี้? มีตัวอย่างที่รู้จักของโปรโตคอล LAN แบบ peer-to-peer ดังกล่าวหรือไม่? หมายเหตุ: ปัญหาบางอย่างได้รับการแก้ไขที่นี่แต่แนวคิดที่ระบุไว้มีระดับสูงเกินไปสำหรับฉัน ความปลอดภัย ฉันรู้ว่าไม่มีเซิร์ฟเวอร์ที่มีสิทธิ์หนึ่งเดียวเป็นปัญหาด้านความปลอดภัย แต่มันไม่เกี่ยวข้องในกรณีนี้เนื่องจากฉันยินดีที่จะเชื่อถือลูกค้า แก้ไข: ฉันลืมที่จะพูดถึง: มันจะเป็นเกมที่ค่อนข้างเร็ว (นักกีฬา) นอกจากนี้ฉันได้อ่านเกี่ยวกับสถาปัตยกรรมเครือข่ายที่Gaffer on Gamesแล้ว

3
ฉันต้องพิจารณาเรื่องทางกฎหมายอะไรบ้างเมื่อเปิดตัว MMO
สมมติว่าฉันเขียนโปรแกรมเกม MMO ที่คุ้นเคยกับTibiaเสร็จแล้ว ฉันได้รับ: แอปพลิเคชันเซิร์ฟเวอร์ที่เสถียรพร้อมที่จะเปิดตัว แอปพลิเคชันไคลเอนต์ที่ได้รับการทดสอบและปราศจากข้อบกพร่องพร้อมที่จะเล่น เว็บไซต์ทางการของเกม (พร้อมโฮสต์) ด้วยระบบการชำระเงินและไคลเอนต์เกมที่ดาวน์โหลดได้อย่างอิสระ ไม่ว่าฟังดูจะเป็นไปไม่ได้เราก็ไม่คิดว่ากฎหมายลิขสิทธิ์ฉบับฝ่าฝืน เกมของฉันแบ่งบัญชีออกเป็นกลุ่มฟรีและพรีเมียม บัญชีพรีเมียมสามารถเข้าถึงฟีเจอร์เกมทั้งหมดโดยต้องได้รับอนุญาตจากเซิร์ฟเวอร์เพื่อให้ทำงานได้อย่างถูกต้อง สมมติว่า "บัญชีพรีเมียม" สามารถซื้อได้บนเว็บไซต์ในอัตรารายเดือนคงที่ บัญชีฟรีสามารถเล่นได้ฟรี แต่มีการ จำกัด การเข้าถึง นี่คือสิ่งที่ระบบการชำระเงินจะกล่าวถึง ถ้าฉันได้เข้าใจอย่างถูกต้องนี้เป็นfreemiumรุ่น ฉันเป็นสามเณรอย่างสมบูรณ์กับปัญหาทางธุรกิจดังนั้น ในระยะสั้น: ขั้นตอนใดในแง่กฎหมายฉันต้องทำอะไรที่นี่เพื่อให้เกมของฉันสามารถได้รับเงินตามกฎหมาย? ตัวอย่างเช่นมีบางสิ่งที่เหมือนกับการยืนยันที่เกมให้กับผู้ใช้ว่ามีอะไรให้บริการจริงเมื่อชำระเงินบนเว็บไซต์ของตนหรือไม่ หากเกี่ยวข้องฉันอาศัยอยู่ในยุโรป
10 mmo  legal  business  release 

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

4
ฉันจะแปลงระหว่างระบบพิกัด 2D ที่แตกต่างกันสองระบบได้อย่างไร
ฉันพยายามแปลงพิกัดจากระบบพิกัดหนึ่งเป็นอีกระบบหนึ่งเพื่อให้ฉันสามารถวาดลงบนภาพได้ โดยทั่วไประบบพิกัดปลายทางจะเป็นดังนี้: X range: 0 to 1066 Y range: 0 to 1600 (แค่ภาพมาตรฐานที่ฉันวาดลงไปด้วยขนาด 1066 x 1600) ตำแหน่งที่ฉันพยายามวาดลงบนภาพมีขนาดเท่ากัน แต่ระบบพิกัดแตกต่างกัน การขยายพิกัดทั้งหมดคือ 1066x1600 แต่ตัวอย่างพิกัดจะเป็น: (111.33f, 1408.41f) (-212.87f, 1225.16f) ช่วงของระบบพิกัดนี้คือ: X range: -533.333 to 533.333 Y range: 533.333 to 2133.333 ฉันรู้สึกว่านี่เป็นคณิตศาสตร์ที่ง่ายมาก แต่ด้วยเหตุผลบางอย่างฉันไม่ได้รับ ฉันจะแปลงพิกัดที่ให้ไว้ในระบบพิกัดแรกได้อย่างไร
10 2d  coordinates 

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

5
ฉันจะจ่ายเงินให้ศิลปินเพื่อทำแบบจำลองสำหรับเกมของฉันได้ที่ไหน
ให้บอกว่าฉันได้รับเงินสำหรับโครงการงานอดิเรกของฉันและฉันต้องการที่จะเริ่มต้นเติมด้วยโมเดลที่ดีแทนที่จะเป็นตัวยึดราคาถูก มีเว็บไซต์อะไรบ้างที่ฉันสามารถจ่ายให้ผู้คนเพื่อสร้างแบบจำลองสำหรับเกมได้? ราคาต่อสินทรัพย์เท่าไหร่ แก้ไข:ฉันไม่ต้องการจ้างใคร ฉันแค่ต้องการจ่ายให้กับสินทรัพย์ส่วนบุคคล
10 models  art 

4
การเคลื่อนที่แบบวงกลมบนฮาร์ดแวร์ที่ใช้พลังงานต่ำ
ฉันกำลังคิดเกี่ยวกับแพลตฟอร์มและศัตรูที่เคลื่อนที่เป็นวงกลมในเกม 2D เก่าและฉันก็สงสัยว่ามันทำอย่างไร ฉันเข้าใจสมการแบบพารามิเตอร์และเป็นเรื่องง่ายที่จะใช้บาปและ cos เพื่อทำสิ่งนั้น แต่ NES หรือ SNES สามารถโทรหาแบบเรียลไทม์ได้หรือไม่ ฉันยอมรับความโง่เขลาอย่างหนัก แต่ฉันคิดว่าสิ่งเหล่านั้นเป็นการปฏิบัติการที่มีราคาแพง มีวิธีที่ฉลาดกว่าในการคำนวณการเคลื่อนไหวนั้นถูกกว่าหรือไม่? ฉันพยายามหาอัลกอริธึมจากอัตลักษณ์รวมของตรีโกณมิติที่จะใช้ตรีโกณมิติแบบ precalculated แต่ดูเหมือนว่าซับซ้อน
10 algorithm 

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