การพัฒนาเกม

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

5
ข้อดีและข้อเสียของการรวม Lua เข้ากับเกม C ++ คืออะไร
ฉันมีหนังสือการเขียนโปรแกรมเกม C ++ และมีส่วน Lua อยู่ในนั้น ฉันเริ่มอ่านหัวข้อ Lua แล้วและมันฟังดูน่าสนใจ แต่ฉันไม่สามารถระบุข้อดีข้อเสียของการใช้ Lua ในเกม C ++ ของฉัน ประโยชน์เดียวที่ฉันคิดได้ในตอนนี้คือคุณสามารถอัปเดตการเข้ารหัสผ่าน Lua ได้โดยไม่ต้องคอมไพล์ใหม่ นอกจากนั้นฉันไม่สามารถคิดอะไรได้เลย ดังนั้นข้อดีและข้อเสียของการเพิ่ม Lua ในเกม C ++ คืออะไร ตัวอย่างจะได้รับการชื่นชม
37 lua 

4
ระบบส่วนประกอบ / ส่วนประกอบใน C ++ ฉันจะค้นหาชนิดและสร้างส่วนประกอบได้อย่างไร
ฉันกำลังทำงานกับระบบส่วนประกอบเอนทิตีใน C ++ ที่ฉันหวังว่าจะเป็นไปตามสไตล์ของอาร์ทิมิส (http://piemaster.net/2011/07/entity-component-artemis/) ในส่วนประกอบนั้นส่วนใหญ่เป็นถุงข้อมูลและเป็น ระบบที่มีตรรกะ ฉันหวังว่าจะใช้ประโยชน์จาก data-centess-ness ของวิธีการนี้และสร้างเครื่องมือเนื้อหาที่ดี อย่างไรก็ตามหนึ่งโคกที่ฉันเจอคือวิธีการใช้สตริงตัวระบุหรือ GUID จากไฟล์ข้อมูลและใช้เพื่อสร้างส่วนประกอบสำหรับ Entity เห็นได้ชัดว่าฉันสามารถมีฟังก์ชั่นการแยกวิเคราะห์ขนาดใหญ่ได้หนึ่งรายการ: Component* ParseComponentType(const std::string &typeName) { if (typeName == "RenderComponent") { return new RenderComponent(); } else if (typeName == "TransformComponent") { return new TransformComponent(); } else { return NULL: } } แต่นั่นน่าเกลียดจริงๆ ฉันตั้งใจจะเพิ่มและแก้ไขส่วนประกอบบ่อยครั้งและหวังว่าจะสร้าง ScriptedComponentComponent บางประเภทเช่นที่คุณสามารถนำส่วนประกอบและระบบมาใช้ใน Lua …

13
เป็นวิธีที่ดีที่สุดในการกำจัดบดในเกมอะไร [ปิด]
นี่เป็นคำถามที่ค้างอยู่มากในการออกแบบเกมโดยเฉพาะในเกมที่คุณต้องถือ / รักษาผู้เล่นเช่น MMO หรือเกมโซเชียล (ในการบันทึกด้านข้างการบดสามารถคำนวณได้อย่างง่ายดายดังนั้นจึงเป็นเครื่องมือที่ง่ายสำหรับการมีส่วนร่วมและความก้าวหน้าตามกำหนดเวลา) คำถามอื่นนอกเหนือจากการสร้างชุมชน / การแข่งขันจะมีวิธีแก้ปัญหาที่สามารถทดแทนการบดและยังคงดึงดูดผู้ชมของคุณในช่วงระยะเวลาหนึ่ง (โดยไม่ต้องเพิ่มเนื้อหาและรหัสเกมจำนวนมาก)?

20
ตัวอย่างเกมจาวาสคริปต์ที่ดี / HTML5 [ปิด]
ตอนนี้ Flash ส่วนใหญ่ถูกแทนที่ด้วยองค์ประกอบ HTML5 (วิดีโอ, เสียง, แคนวาส, ฯลฯ ) มีตัวอย่างที่ดีของเกมบนเว็บที่สร้างขึ้นบนมาตรฐานแบบเปิดที่สมบูรณ์ (หมายถึง Javascript, HTML และ CSS) ฉันเห็นตัวอย่างมากมายของการใช้งาน HTML5 อย่างแท้จริงของสิ่งที่ครั้งหนึ่งเคยมีเฉพาะใน Flash (เช่นที่นี่: http://www.html5rocks.com/ ) แต่ไม่ใช่เกมจำนวนมากโดเมนที่ดูเหมือนจะยังคงครอบครองโดย Flash ฉันอยากรู้ว่าอะไรเป็นไปได้และข้อ จำกัด คืออะไร
37 flash  web  html5  javascript 

1
ความแตกต่างระหว่างภาพสามมิติแบบ "เซ" และ "ปกติ" แผนที่สามมิติแบบสามมิติคืออะไร?
V0.9 กระเบื้องแก้ไขแผนที่เมื่อเร็ว ๆ นี้เพิ่มการสนับสนุนสำหรับเซ tilemaps ในนอกเหนือจากการสนับสนุน tilemap ตามปกติของมันมีมิติเท่ากัน อะไรคือความแตกต่างทางเทคนิคที่แน่นอนระหว่างกระเบื้องสามมิติทั้งสามประเภทนี้? ข้อดี / ข้อเสียของพวกเขาคืออะไร?

4
ส่วนในการเขียนโปรแกรมกราฟิก 3 มิติคืออะไร?
แฟรกเมนต์ใน shader แฟรกเมนต์คืออะไร Wikipedia บอกว่า: โดยทั่วไปชิ้นส่วนสามารถคิดได้ว่าเป็นข้อมูลที่จำเป็นในการแรเงาพิกเซลรวมทั้งข้อมูลที่จำเป็นในการทดสอบว่าชิ้นส่วนที่รอดชีวิตกลายเป็นพิกเซล (ความลึกอัลฟ่าลายฉลุกรรไกรหน้าต่าง ID ฯลฯ ) ดังนั้นมันคือพื้นผิวจุดยอดหรืออะไรอย่างอื่น?

8
ฉันควรหลีกเลี่ยงการใช้การสืบทอดของวัตถุเป็นไปได้ในการพัฒนาเกมหรือไม่?
ฉันชอบฟีเจอร์ OOP เมื่อพัฒนาเกมด้วย Unity ฉันมักจะสร้างคลาสพื้นฐาน (ส่วนใหญ่เป็นนามธรรม) และใช้การสืบทอดวัตถุเพื่อแบ่งปันฟังก์ชันการทำงานเดียวกันกับวัตถุอื่น ๆ อย่างไรก็ตามฉันเพิ่งได้ยินจากคนที่ใช้การสืบทอดต้องหลีกเลี่ยงและเราควรใช้อินเทอร์เฟซแทน ดังนั้นฉันจึงถามว่าทำไมและเขาบอกว่า "การสืบทอดวัตถุมีความสำคัญแน่นอน แต่ถ้ามีวัตถุเพิ่มเติมจำนวนมากความสัมพันธ์ระหว่างชั้นเรียนจะถูกเชื่อมโยงกันอย่างลึกซึ้ง ฉันใช้คลาสเบสที่เป็นนามธรรมบางอย่างเช่นWeaponBaseและสร้างคลาสอาวุธที่เฉพาะเจาะจงเช่นShotgunนั้นAssaultRifleเป็นMachinegunอย่างนั้น มีข้อดีมากมายและรูปแบบเดียวที่ฉันชอบคือความแตกต่าง ฉันสามารถปฏิบัติต่อวัตถุที่สร้างโดยคลาสย่อยราวกับว่าพวกเขาเป็นคลาสพื้นฐานเพื่อให้ตรรกะสามารถลดลงอย่างมากและทำให้สามารถนำมาใช้ซ้ำได้มากขึ้น หากฉันต้องการเข้าถึงฟิลด์หรือวิธีการของคลาสย่อยฉันจะส่งกลับไปยังคลาสย่อย ฉันไม่ต้องการที่จะกำหนดเขตข้อมูลเดียวกันที่นิยมใช้ในการเรียนแตกต่างกันเช่นAudioSource/ Rigidbody/ Animatorและจำนวนมากของเขตข้อมูลสมาชิกฉันที่กำหนดไว้เช่นfireRate, damage, range, spreadและอื่น ๆ ในบางกรณีวิธีการบางอย่างอาจถูกเขียนทับ ดังนั้นฉันใช้วิธีเสมือนในกรณีนั้นโดยทั่วไปฉันสามารถเรียกใช้วิธีนั้นโดยใช้วิธีการจากคลาสผู้ปกครอง แต่ถ้าตรรกะควรจะแตกต่างกันในเด็กฉันได้แทนที่พวกเขาด้วยตนเอง ดังนั้นสิ่งเหล่านี้ทั้งหมดควรถูกทอดทิ้งเป็นการปฏิบัติที่ไม่ดี? ฉันควรใช้อินเทอร์เฟซแทนหรือไม่

4
ฉันควรใช้สี“ ธรรมดา” เพื่อเป็นตัวแทนของสินค้าที่หายากหรือไม่?
ฉันกำลังสร้าง RPG ใหม่ที่มีของขวัญ ในความเป็นจริงเกมส่วนใหญ่มีพื้นฐานมาจากการปล้นสะดม มันจะมีเส้นขอบสีเพื่อแสดงถึงความประเสริฐของของขวัญขณะที่วาด WoW ใช้สีเทา, ขาว, เขียว, น้ำเงิน, ม่วง, ส้มและอื่น ๆ GW2 ใช้สีเทา, ดำ, น้ำเงิน, เขียว, เหลือง, ส้ม, ชมพู, ม่วง สีไม่ตรงกัน แต่คุณสามารถเห็นการทับซ้อนที่แตกต่างกัน ฉันสงสัยว่าสีเหล่านั้นมีความสำคัญหรือใช้งานง่ายเพื่อให้ผู้ใช้เข้าใจถึงความหายากหรือไม่หากพวกเขาสามารถยุ่งเหยิง? หากพวกเขาสามารถเปลี่ยนแปลงได้คุณจะกำหนดสีที่จะเรียงลำดับอย่างไร ตัวอย่างเช่นถ้าฉันไปกับสีขาวสีฟ้าสีเขียวสีเหลืองและสีแดงนั่นจะเป็นสิ่งที่ดีตราบใดที่ฉันทำให้มันชัดเจนในรูปแบบอื่น ๆ หรือสีเหล่านั้นจะสับสน?

3
เกมจำเป็นต้องติดตั้งในวันนี้หรือไม่?
ฉันสงสัยว่าทำไมเกมต้องติดตั้งเลย ฉันสามารถเข้าใจได้ว่าซอฟต์แวร์บางอย่างเช่นเบราว์เซอร์จำเป็นต้องใช้เพื่อให้สามารถเชื่อมโยงไฟล์บางประเภทกับมันและเริ่มปฏิบัติการได้หรือเพิ่มไอคอนลงในคอมโพเนนต์โปรแกรม / คุณลักษณะบน Windows แต่จุดประสงค์ของการติดตั้งเกม Steam คืออะไร? Steam เองนั้นจัดการติดตั้ง / ลบเกมอัปเดตเริ่มต้นเป็นต้นถ้าฉันพัฒนาตัวเรียกใช้เกมของตัวเอง (ซึ่งจะใช้การติดตั้ง) เหตุผลอะไรที่ฉันจะใช้ตัวติดตั้งสำหรับเกมด้วย
36 installer 

7
MMO ทำให้อะไรกับเศรษฐกิจเงินจริงที่ถูกกฎหมาย?
ฉันเชื่อว่า MMO ส่วนใหญ่ที่มีสกุลเงินในเกมที่เชื่อมโยงกับสกุลเงินจริง (เช่นอัญมณีของGuild Wars 2หรือPLEX ของEve ) ไม่อนุญาตให้แลกเปลี่ยนไอเท็มในเกมเป็นเงินสดจริงด้วยเหตุผลหลายประการ - ส่วนหนึ่งเป็นเพราะพวกเขาอาจมีการเปลี่ยนแปลงทางเศรษฐกิจของ "ปกติ" ของเกม แต่โดยทั่วไปเพราะสิ่งนี้จะเปิดประเด็นทางกฎหมายที่เกี่ยวข้องกับการฟอกเงินกฎหมายการเล่นเกม / การพนันและอื่น ๆ อย่างไรก็ตามEntropia Universe ( ลิงค์ wikipedia ) มีเศรษฐกิจในเกมซึ่งเชื่อมโยงโดยตรงกับดอลลาร์สหรัฐทำให้ผู้เล่นสามารถ "ถอนเงินสด" ของเกมและกลับเข้าสู่เงินจริง พวกเขาไปไกลถึงขั้นตอนการผลิตบัตรธนาคารซึ่งถอนออกจากเกมและตอนนี้ได้จัดตั้งธนาคารจริงขึ้นมาเพื่อควบคุมการซื้อขาย เหตุใดจึงไม่มีเกมอีกจำนวนมากที่ใช้แนวทางเศรษฐกิจแบบเกมนี้เชื่อมโยงกับเงินจริง ฉันเข้าใจว่าเศรษฐกิจจะต้องได้รับการออกแบบอย่างระมัดระวังและมีความสมดุลเพื่อหลีกเลี่ยงการทำเกินอัตราเงินเฟ้อหรือการหาประโยชน์อื่น ๆ ที่นำไปสู่การใช้สกุลเงินในเกมว่าเป็น "สร้าง" จากอะไรเลย สร้าง. เมื่อพิจารณาจำนวนโอกาสสุ่มที่เกี่ยวข้องกับเกมการพนันนี้ไม่มีประสิทธิภาพหรือไม่? ถ้าเป็นเช่นนั้นEntropia Universe จะอนุญาตให้ผู้ใช้ทั่วโลกได้อย่างไรโดยไม่ก่อให้เกิดปัญหาจากเจ้าหน้าที่และรัฐบาลระดับภูมิภาคที่แตกต่างกัน? แน่นอนว่านี่เป็นสิ่งที่ถูกห้ามในบางรัฐของสหรัฐอเมริกาหรือประเทศอื่น ๆ เป็นเพราะเกมดังกล่าวตั้งอยู่ในประเทศสวีเดนและกฎหมายอนุญาตของพวกเขาอนุญาตหรือไม่

6
ทำไมจุดกำเนิดในพิกัดคอมพิวเตอร์กราฟิกที่ด้านบนซ้าย?
จากสิ่งที่ฉันได้เห็นเกือบทุกอย่างใช้พิกัดโดยที่ (0, 0) อยู่ที่มุมบนซ้ายและแกน Y บวกไปในทิศทางลงของหน้าจอของคุณ ทำไมถึงเป็นเช่นนี้ ทำไมแกน Y เชิงบวกแบบบวกไม่เพิ่มขึ้นอย่างที่แสดงในกราฟในคลาสคณิตศาสตร์อย่างง่าย

2
จะมีหนังสืออื่น ๆ อีกในซีรี่ส์ Game Programming Gems หรือไม่ [ปิด]
เป็นเวลากว่าสามปีแล้วที่หนังสือ Game Programming Gems เล่มล่าสุดตีพิมพ์ เว็บไซต์อย่างเป็นทางการจะไม่มีการปรับปรุงอีกต่อไปและหน้าเว็บไซต์ของมาร์กเดโลอร่านี่ดูเหมือนจะบ่งบอกว่าชุดที่มีมากกว่า เคยมีแถลงการณ์อย่างเป็นทางการเกี่ยวกับเรื่องนี้ไหม? เล่มที่ 8 เป็นเล่มสุดท้ายหรือไม่ เกม Programming อัญมณีเป็นหนึ่งใน (ถ้าไม่มากที่สุดมากที่สุด) ทรัพยากรที่สำคัญสำหรับผมและอาจจะหลายพันของนักพัฒนาทั่วโลกได้ฆ่าอินเทอร์เน็ตพวกเขา?

6
ฉันต้องขออนุญาตจาก Microsoft เพื่อใช้โลโก้ผลิตภัณฑ์หรือไม่
ขณะนี้ฉันกำลังสร้างตัวอย่างเกมสำหรับโครงการวิทยาลัยของฉันฉันต้องการทราบว่าเกมของฉันเป็นแพลตฟอร์มข้าม ฉันต้องขออนุญาตใช้ภาพเหล่านั้นในสถานการณ์เช่นนี้หรือไม่? - เมื่อฉันต้องการจะบอกว่าเกมของพวกเขาจะเล่นได้บน Windows / Mac / Linux

6
เหตุใดเราใช้ 4x4 เมทริกซ์เพื่อเปลี่ยนสิ่งต่าง ๆ ในแบบ 3 มิติ
ในการแปลเวคเตอร์ 10 หน่วยในทิศทาง X ทำไมเราต้องใช้เมทริกซ์ เราสามารถเพิ่ม 10 ลงในเสื่อ [0] [0] และเราก็ได้ผลลัพธ์เดียวกัน
36 opengl  3d  matrix 

3
ฉันควรใช้รหัสฮาร์โค้ดเมื่อใดกับโหลดข้อมูลภายนอก
ฉันเขียนโค้ดหนึ่งพันหรือมากกว่านั้นเพื่อสร้างเกมตามพื้นที่ 2D ของฉันซึ่งสร้างเครือข่ายของระบบดาวที่สร้างขึ้นแบบสุ่มและเติมพวกมันด้วยการสุ่มเลือกดาวเคราะห์สถานีเรือและอาวุธ อาจมีหลายร้อยสถานี / เรือ / อื่น ๆ ที่เกมจะต้องใช้ - ดังนั้นนี่คือสิ่งที่ฉันสงสัย ฉันควรใช้เวลาในการสร้างตัวโหลดข้อมูลแบบ 'softcoded' ซึ่งจะเก็บข้อมูลทั้งหมดนี้ไว้ในไฟล์ XML (เช่น) และดังนั้นจะค่อนข้างง่ายกว่าที่จะแก้ไขในภายหลังหรือฉันควรจะไปกับสิ่งที่ฉันทำ ตอนนี้กำลังทำการฮาร์ดโค้ดวัตถุทั้งหมดไว้ในเอ็นจิ้นหลักของเกม ฉันเป็นคนเดียวในโครงการและอย่างที่ฉันพูดมันเป็นเพียงงานอดิเรกที่ฉันทำในเวลาว่างห่างจากมหาวิทยาลัย แต่ชุมชนจะแนะนำให้ลงทุนในการสร้างระบบพิเศษทั้งหมดในการจัดเก็บข้อมูลในไฟล์เพิ่มเติมหรือไม่ อะไรคือประโยชน์ของข้อมูล softcoding ในลักษณะเช่นนี้เมื่อเทียบกับ hardcoding ทุกอย่างผ่านทาง constructor? มีประโยชน์ระยะยาวในการมีไฟล์ภายนอกที่สามารถแก้ไขได้หรือไม่หากฉันไม่ต้องการให้เกมมี 'mods' จำเป็นต้องมีไฟล์ภายนอกหรือไม่ หากเป็นเพียงงานอดิเรกที่ฉันอาจยอมแพ้ในอีกไม่กี่สัปดาห์หรือหลายเดือนฉันควรเสียเวลากับเรื่องนี้ไหม?

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