การพัฒนาเกม

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

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

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

3
ฉันจะสร้างดาวได้อย่างไร
ฉันพยายามสร้างแบบจำลองดาวในเอกภาพและมันเรียงลำดับของงาน แต่มันไม่เหมาะ ขณะนี้ฉันใช้ทรงกลมขนาดใหญ่ที่มีวัสดุส่องสว่างในตัวเองที่มีพื้นผิวรูปดาวนำไปใช้กับพื้นผิวของมันและสปอตไลต์เพื่อสร้างเอฟเฟกต์ของแสงดาวเช่นนี้: ในขณะที่ใช้งานได้มันไม่ได้ดูยอดเยี่ยม ฉันกำลังมองหาเอฟเฟกต์เพิ่มเติมตามแนวทางที่Kerbal Space Programกำหนดดาว: ฉันจะบรรลุผลนี้ได้อย่างไร

3
มีการฉาย 3 มิตินอกเหนือจาก orthographic และมุมมอง? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา คำถามนั้นค่อนข้างมากในชื่อเรื่อง มีการฉายภาพ 3 มิติที่น่าสนใจนอกเหนือจาก orthographic และมุมมองที่สามารถใช้ในระบบ 3D เช่น OpenGL ได้หรือไม่? โดยเฉพาะอย่างยิ่งมีอะไรบ้างไหมที่มีความพิเศษในการออกแบบเกม?

4
ฉันควรกำหนด ID เฉพาะให้กับหน่วยเงินของเกมแต่ละหน่วยหรือไม่
ฉันกำลังสร้าง MMORPG อยู่ ในขณะนี้ฉันกำลังทำงานในส่วนของสกุลเงินของเกม แต่ฉันสับสนว่าฉันควรกำหนดหมายเลขซีเรียลที่ไม่ซ้ำสำหรับทุกหน่วยของสกุลเงินที่สร้างขึ้นหรือไม่ ฉันหวังว่าจะใช้ระบบนี้เพื่อติดตามการใช้สกุลเงินเสมือนจริงในทางที่ผิด แต่นี่เป็นวิธีปฏิบัติทั่วไปและหากไม่เป็นเช่นนี้จะเป็นความคิดที่ดีเกี่ยวกับการปฏิบัติงานและ / หรือมุมมองด้านประสิทธิภาพหรือไม่?
22 mmo 

3
ทำไม H (blinn) จึงใช้แทน R (phong) ในการแรเงาแบบ specular?
ฉันไม่สามารถหาเหตุผลที่ดีสำหรับสิ่งนี้ได้ทุกที่ เวกเตอร์สะท้อนที่ใช้ในพงษ์มีพื้นฐานง่าย ๆ ในวิชาฟิสิกส์ แต่เวกเตอร์ครึ่งหนึ่งที่ใช้ในรูปแบบบลินน์นั้นดูเหมือนจะไม่มีเหตุผลที่เป็นเหตุเป็นผล และยังมีการใช้งานในทุกสิ่งที่เรียกว่าฟังก์ชั่นการแรเงาตามร่างกาย หากมีพื้นฐานทางกายภาพที่ดีสำหรับมันฉันอยากจะรู้ สิ่งที่ฉันสามารถค้นหาได้มีสาเหตุบางประการ: มันเร็วกว่า - มีข้อมูลที่หลากหลายเกี่ยวกับเรื่องนี้ แต่ถึงอย่างนั้นมันก็จะเป็นเหตุผลที่ดี ... ในปี 1998 มันจัดการมุมที่สูงกว่า 90 องศาได้ดีกว่า - เท่าที่ฉันสามารถบอกเหตุผลเดียวสำหรับเรื่องนี้ก็เพราะว่าคำว่าพงษ์ถูกใช้อย่างไม่ถูกต้อง ผลคูณของการสะท้อนและมุมมองให้มุมระหว่าง -1 ถึง +1 โดยปกติมุมนี้จะถูกจับเป็น 0 ถึง 1 นี่คือสาเหตุโดยตรงของปัญหา 90 องศา ปรับมุมให้เป็นมาตรฐานอีกครั้งแทนที่จะยึดไว้และคุณจะได้รับการครอบคลุม 180 องศาอย่างเต็มที่ ฉันปฏิเสธที่จะเชื่อว่าการทำงานแบบ x * 0.5 + 0.5 ที่เรียบง่ายทำให้โลกกราฟิกเป็นเวลา 40 ปี มันจัดการกับขอบได้ดีขึ้น - "ปัญหา" ของขอบยังมีอยู่ในโซลูชัน blinn เพียงเล็กน้อยเท่านั้น สาเหตุหลักคือการจำลองแสงของพื้นที่ในเทอร์มิเนเตอร์อย่างไม่เหมาะสมซึ่งควรมีความสำคัญสำหรับส่วนใดส่วนหนึ่งของร่างกาย …

3
ฉันควรใช้ไฟล์ข้อความสำหรับบันทึกข้อมูลของฉันหรือไม่
คำถามของฉันคือฉันควรใช้ไฟล์ข้อความเพื่อบันทึกข้อมูลเกมของฉันหรือไม่ ฉันมีความกังวลพื้นฐานเกี่ยวกับการทำเช่นนี้: ไม่มีวิธีใดในการปกป้องข้อมูลดังนั้นผู้ใช้สามารถทำให้หมดทุกอย่างถ้าพวกเขาแตะมันและฉันไม่ต้องการให้เกิดขึ้น อาจไม่ใช่วิธีที่มีประสิทธิภาพที่สุดในการจัดเก็บข้อมูลของฉัน (จะมีจำนวนมาก) ฉันรู้วิธีแยก / เขียนไฟล์ข้อความอย่างมีประสิทธิภาพ แต่สำหรับการทำต้นแบบพวกเขายอดเยี่ยม ฉันแค่ต้องการมองไปสู่อนาคตสำหรับสิ่งที่ฉันควรจะคิดเกี่ยวกับการเปลี่ยนไปใช้เพื่อที่จะไม่เจาะฉันในหน้าใกล้สิ้นสุดการพัฒนา หากฉันไม่ควรใช้ไฟล์ข้อความฉันควรใช้อะไรดี ฉันต้องการบางสิ่งบางอย่างที่รองรับ C ++

1
คุณจะใช้ความคลาดสีอย่างไร?
คุณจะใช้ผลของความคลาดเคลื่อนสีกับเฉดสีได้อย่างไร? การเรนเดอร์ของโลกที่มีระยะโฟกัสที่แตกต่างกันสำหรับแต่ละสีจะแก้ปัญหาได้หรือไม่
22 opengl 

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

8
ข้อความสอนโดยไม่มีผู้ใช้ที่น่ารำคาญ?
ฉันมีข้อความการสอน (ซึ่งฉันวางแผนที่จะเพิ่มด้วยการพากย์เสียงในภายหลัง แต่ตอนนี้ต้องเป็นข้อความเพราะฉันยังไม่ได้ว่าจ้างนักแสดง VO) ข้อความนำเสนอตัวเองในการโต้ตอบซึ่งเป็นเหมือนทวีต (น้อยกว่า 140 ตัวอักษรแต่ละตัว) ข้อความมีขนาดใหญ่และสามารถอ่านได้ ข้อความที่มีคำแนะนำขั้นตอนที่สำคัญที่ผู้ใช้ผ่านสิ่งที่ต้องทำต่อไป ในการทดสอบผู้ใช้จะกดตกลงตกลงตกลงโดยไม่อ่านข้อความ กล่องโต้ตอบสุดท้ายจะหายไปและผู้ใช้จะไม่ทราบว่าต้องทำอย่างไรเพราะเขาไม่ได้อ่านคำแนะนำ เกมคาดหวังให้เขาทำภารกิจที่เพิ่งถามมาและเขาไม่รู้ว่ามันคืออะไร ฉันเหนื่อย: วางในเคาน์เตอร์ (3), (2), (1) จากนั้นเมื่อตัวนับหายไปคุณสามารถกดตกลง ฉันคิดว่าตัวนับนั้นน่ารำคาญ / น่ารำคาญ เป็นสีเทาออก / ปิดการใช้งานปุ่มจนกว่าจะผ่านไป 2-3 วินาทีสำหรับข้อความโต้ตอบแต่ละข้อความ ซ่อนปุ่ม ok ไว้อย่างสมบูรณ์จนกว่าจะผ่านไป 2-3 วินาทีสำหรับข้อความโต้ตอบแต่ละข้อความ ฉันจะจัดการกับปัญหานี้ของผู้ใช้ที่ไม่อ่านข้อความการสอนดีกว่าก่อนที่จะยกเลิกไดอะล็อกได้อย่างไร
22 tutorials 

3
วิธีการจัดโครงสร้างรหัสสำหรับอาวุธ / คาถา / พลังพิเศษมากมาย
ฉันเป็นโปรแกรมเมอร์ที่ไม่มีประสบการณ์ในการสร้างเกม "เหมือนโร๊คไลค์" ในเส้นเลือดของFTLโดยใช้ Python (ยังไม่มี PyGame ในขณะที่ฉันยังเกี่ยวข้องกับข้อความเท่านั้น) เกมของฉันจะมีอาวุธจำนวนมาก (ประมาณ 50 ดวงสำหรับผู้เริ่ม) ที่ให้ความสามารถพิเศษ ฉันกำลังดิ้นรนเพื่อทำความเข้าใจวิธีจัดโครงสร้างรหัสวัตถุในแบบที่ทรงพลัง (ในแง่ของการอนุญาตให้อาวุธมีเอฟเฟกต์ต่างกันอย่างรุนแรง) และขยายได้ (เพื่อให้ฉันสามารถเพิ่มอาวุธได้ง่ายขึ้นในภายหลังเช่นวางลงในโฟลเดอร์ ) สัญชาตญาณแรกของฉันคือการมีชั้นเรียน BasicWeapon และมีอาวุธต่าง ๆ ที่สืบทอดมาจากชั้นเรียนนั้น อย่างไรก็ตามนี่เป็นปัญหาสำหรับฉัน: ฉันต้องสร้างคลาส BasicWeapon ให้เปล่าโดยที่ไร้ประโยชน์ (คุณสมบัติเดียวที่อาวุธทั้งหมดมีเหมือนกันคือชื่อและประเภท (ปืนพกขวาน ฯลฯ ) หรือฉันต้องทำนายทุกอย่าง เอฟเฟกต์ที่ไม่ซ้ำใครที่ฉันจะได้รับและโค้ดที่เป็นพื้นฐานของ BasicWeapon เห็นได้ชัดว่าเป็นไปไม่ได้ แต่อดีตยังคงสามารถทำงานได้ อย่างไรก็ตามนั่นทำให้ฉันมีคำถาม: ฉันจะวางรหัสสำหรับอาวุธแต่ละชนิดได้ที่ไหน ฉันจะสร้าง plasmarifle.py, rocketlauncher.py, swarmofbees.py ฯลฯ และวางมันลงในโฟลเดอร์ที่เกมสามารถนำเข้าได้หรือไม่ หรือมีวิธีที่จะมีไฟล์สไตล์ฐานข้อมูล (อาจเป็นอะไรที่เรียบง่ายเหมือนกับสเปรดชีต Excel) ที่มีรหัสที่ไม่ซ้ำกันสำหรับอาวุธแต่ละอัน - โดยไม่ต้องหันไปใช้ eval …

3
เล่นวิดีโอด้วย LibGDX
มีวิธีการเล่นวิดีโอด้วย LibGDX หรือไม่? ฉันต้องการใส่วิดีโอเป็นหน้าจอเริ่มต้นของฉันใน Android แต่ฉันไม่ต้องการใช้ Android SDK เพราะฉันใช้ LibGDX และฉันเกือบจะเสร็จแล้ว: /
22 android  libgdx  video 

4
ส่งเรย์เพื่อเลือกบล็อกในเกม voxel
ฉันกำลังพัฒนาเกมที่มีภูมิประเทศคล้าย Minecraft ที่ทำจากบล็อก เนื่องจากการเรนเดอร์พื้นฐานและการโหลดชิ้นข้อมูลเสร็จสิ้นแล้วฉันต้องการใช้การเลือกบล็อก ดังนั้นฉันจึงต้องค้นหาว่าบล็อกใดที่กล้องตัวแรกกำลังเผชิญอยู่ ฉันได้ยินมาแล้วว่าไม่ได้คาดเดาฉากทั้งหมด แต่ฉันตัดสินใจว่าเพราะมันฟังดูแฮ็คและไม่ถูกต้อง บางทีฉันอาจโยนรังสีไปในทิศทางที่มองเห็นได้ แต่ฉันไม่รู้วิธีตรวจสอบการชนด้วยบล็อกในข้อมูล voxel ของฉัน แน่นอนว่าการคำนวณนี้ต้องทำบน CPU เนื่องจากฉันต้องการผลลัพธ์เพื่อดำเนินการกับเกมลอจิก แล้วฉันจะรู้ได้อย่างไรว่าบล็อกไหนอยู่หน้ากล้อง? ถ้าเป็นที่ต้องการฉันจะโยนรังสีและตรวจสอบการชนได้อย่างไร

5
ฉันสามารถใช้ดนตรีคลาสสิกยอดนิยมเป็นเพลงประกอบในเกมได้หรือไม่
ฉันสามารถใช้ดนตรีคลาสสิกยอดนิยมในเกมเป็นเพลงประกอบได้หรือไม่ ฉันกังวลเกี่ยวกับการคุ้มครองลิขสิทธิ์ ฉันไม่ได้วางแผนที่จะทำเงินจากเกมของฉัน ฉันจะผิดกฎหมายไหมถ้าฉันทำอย่างนั้น?
22 legal  music  copyright 

4
การแก้ปัญหาความเป็นอิสระใน libGDX
ฉันจะทำให้ความละเอียด / ความหนาแน่นของเกม libGDX ของฉันเป็นอิสระได้อย่างไร มีวิธีการระบุขนาดภาพเป็น "แน่นอน" โดยไม่คำนึงถึงความหนาแน่นพื้นฐานหรือไม่? ฉันสร้างเกมสำหรับเด็กที่เรียบง่าย เพียงแค่สไปรต์แสดงบนหน้าจอและข้อความสำหรับเมนู (เมนูตัวเลือกเป็นหลัก) สิ่งที่ฉันต้องการรู้คือฉันจะทำให้การแก้ไข Sprite / แบบอักษรของฉันเป็นอิสระได้อย่างไร (ฉันห่อไว้ในชั้นเรียนของฉันเองเพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้น) เนื่องจากเป็นเกมสำหรับเด็กที่เรียบง่ายฉันไม่จำเป็นต้องกังวลเกี่ยวกับ "พื้นที่ที่สามารถเล่นได้" ของเกม ฉันต้องการใช้พื้นที่หน้าจอให้มากที่สุด สิ่งที่ฉันทำอยู่ในตอนนี้ซึ่งดูเหมือนไม่ถูกต้องที่สุดคือการสร้างภาพที่เหมาะสำหรับความละเอียดขนาดใหญ่จากนั้นย่อขนาด (หรือน้อยมาก) ให้พอดีกับขนาดหน้าจอ ดูเหมือนว่าจะทำงานได้ดี (ในเวอร์ชันเดสก์ท็อป) แม้ว่าจะมีการแมปเชิงเส้นบนพื้นผิวของฉัน แต่ความละเอียดที่น้อยลงนั้นดูน่าเกลียด นอกจากนี้ดูเหมือนว่ามันจะบินไปที่ใบหน้าของ "พิกเซลอุปกรณ์อิสระ" (DPs) ของ Android หรือบางทีฉันอาจจะพลาดบางสิ่งบางอย่างและ libGDX ก็ดูแลเรื่องนี้อยู่แล้ว? วิธีที่ดีที่สุดในการแก้ไขปัญหานี้คืออะไร ฉันพบลิงค์นี้ นี้เป็นวิธีที่ดีในการแก้ปัญหา ?: http://www.dandeliongamestudio.com/2011/09/12/android-fragmentation-density-independent-pixel-dip/ มันกล่าวถึงวิธีการควบคุมภาพ แต่มันไม่ได้พูดถึงวิธีการระบุขนาดตัวอักษร / ภาพโดยไม่คำนึงถึงความหนาแน่น
22 android  libgdx 

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