การพัฒนาเกม

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

1
ความแตกต่างระหว่าง Arcade, P2 และฟิสิกส์ของ Ninja ใน Phaser
ฉันเป็นผู้เริ่มต้นและพยายามเรียนรู้การพัฒนาเกมโดยใช้Phaser Phaserปัจจุบัน Phaser ให้บริการระบบฟิสิกส์สามระบบ ได้แก่ Arcade, P2 และ Ninja แต่ฉันไม่ทราบความแตกต่างระหว่างพวกเขาและฉันอยากจะรู้ว่าในสถานการณ์ใดที่เราควรใช้ระบบฟิสิกส์แบบเฉพาะเจาะจง? โปรดให้ข้อมูลเชิงลึกเกี่ยวกับระบบฟิสิกส์เหล่านี้ให้ฉัน
33 phaser 

4
กราฟิกวิวัฒนาการไปมากบนฮาร์ดแวร์คอนโซลเดียวกันได้อย่างไร?
มันเป็นเพียงเรื่องของการเพิ่มประสิทธิภาพรหัสหรือไม่? ผู้พัฒนาเกมวางแผนที่จะเริ่มต้นเล็ก ๆ บนฮาร์ดแวร์ใหม่หรือไม่เพื่อให้มีพื้นที่ในการพัฒนาในขณะที่สร้างชุดของเกมนั้นขึ้นมา? ความก้าวหน้าด้านกราฟิกคอมพิวเตอร์เป็นเรื่องปกติพอที่จะเกิดขึ้นในชีวิตของคอนโซลหรือไม่?
33 hardware  console 

6
มีเหตุผลจริงในการบันทึกข้อมูลเกมใน% UserProfile% \ Documents แทน% AppData% หรือไม่
โฟลเดอร์เอกสารของฉันเต็มไปด้วยโฟลเดอร์ย่อยของเกมต่างๆรวมถึงเกม AAA ล่าสุดบางเกม ในฐานะนักพัฒนาแอปพลิเคชั่นมืออาชีพที่ไม่มีประสบการณ์ในอุตสาหกรรมเกมนี่เป็นความผิดพลาดธรรมดาไฟล์เหล่านี้อยู่ใน% APPDATA% หรือ% LOCALAPDATA% คำถามของฉันคือมีการตัดสินใจอย่างมีสติในการวางไฟล์เหล่านี้ใน% UserProfile% \ Documents เพื่อรับผลประโยชน์ที่เฉพาะเจาะจงหรือเป็นพฤติกรรมแบบดั้งเดิมที่สืบทอดมาจากยุคของ Windows XP หรือไม่ หรือมีเหตุผลที่ดีกว่าอย่างเช่น Steam ที่ต้องการหรือแนะนำสิ่งนี้หรือเครื่องมือยอดนิยมที่ทำสิ่งนี้โดยค่าเริ่มต้น ที่เกี่ยวข้อง: ในไดเรกทอรีใดที่จะเขียนไฟล์และข้อมูลเกม? (เพื่อหลีกเลี่ยงการสนทนาที่ไม่มีจุดหมาย)
33 windows  savegame 

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

8
การ จำกัด สินค้าคงคลังใน MMORPG สมเหตุสมผลหรือไม่
ตอนนี้ฉันกำลังพัฒนาเกม MMORPG ที่เรียบง่าย โฟกัสปัจจุบันของฉันคือระบบสินค้าคงคลัง ฉันกำลังสงสัยว่าฉันควรจะใช้ขีด จำกัด ในสิ่งที่ตัวละครผู้เล่นสามารถดำเนินการได้หรือไม่ ไม่ว่าจะเป็นน้ำหนักสูงสุดจำนวนช่องโฆษณาที่ จำกัด หรือทั้งสองอย่างรวมกัน เกือบทุก MMORPG ที่ฉันเคยเล่น จำกัด พื้นที่สินค้าคงคลัง แต่ความเป็นไปได้นั้นเป็นสิ่งจำเป็นจริงๆจากมุมมองการเล่นเกมหรือไม่? บางทีในความเป็นจริงแล้วมันอาจปรับปรุงประสบการณ์เกมเมื่อฉันเพียงแค่ปล่อยให้ผู้เล่นพกสิ่งของได้มากเท่าที่พวกเขาต้องการ tl; dr:อะไรคือเหตุผลในการพัฒนาเกมที่อยู่เบื้องหลังการจำกัดความสามารถในการรองรับตัวละครของผู้เล่น? แก้ไข: ขอบคุณสำหรับคำตอบทั้งหมดจนถึงตอนนี้ พวกเขาล้วน แต่ชาญฉลาดมาก หลังจากการป้อนข้อมูลของคุณฉันตัดสินใจที่จะไปสำหรับสินค้าคงคลังที่ จำกัด เพื่อป้องกันไม่ให้ผู้คนดำเนินรายการรักษามากเกินไปและอุปกรณ์พิเศษมากเกินไปในดันเจี้ยน เพื่อหลีกเลี่ยงปัญหาการบรรทุกของมากเกินไปและต้องกลับไปที่เมืองตลอดเวลาฉันวางแผนที่จะให้ผู้เล่นมีความสามารถในการส่งสิ่งของจากคลังของพวกเขาไปยังที่เก็บข้อมูลของพวกเขาโดยตรง (แต่ไม่ใช่ความสามารถ ฉันยอมรับคำตอบของ Kylotan แล้วในตอนนี้ แต่อย่าปล่อยให้เรื่องนี้ทำให้คุณท้อแท้จากการโพสต์คำตอบเพิ่มเติมเมื่อคุณรู้สึกว่ามีบางแง่มุมที่น่าสนใจยังไม่ครอบคลุม
33 game-design  mmo 

2
วิธีการเครือข่ายระบบนิติบุคคลนี้
ฉันได้ออกแบบระบบเอนทิตีสำหรับ FPS มันใช้งานได้ดังนี้: เรามี "โลก" - วัตถุเรียกว่า GameWorld สิ่งนี้ถืออาร์เรย์ของ GameObject เช่นเดียวกับอาร์เรย์ของ ComponentManager GameObject ถืออาร์เรย์ของ Component นอกจากนี้ยังมีกลไกเหตุการณ์ซึ่งง่ายมาก คอมโพเนนต์เองอาจส่งเหตุการณ์ไปยังเอนทิตีซึ่งออกอากาศไปยังส่วนประกอบทั้งหมด ส่วนประกอบนั้นเป็นสิ่งที่ให้ GameObject คุณสมบัติบางอย่างและเนื่องจาก GameObject เป็นเพียงภาชนะของพวกเขาทุกอย่างที่เกี่ยวข้องกับวัตถุเกมเกิดขึ้นในส่วนประกอบ ตัวอย่างเช่น ViewComponent, PhysicsComponent และ LogicComponent หากต้องการการสื่อสารระหว่างกันก็สามารถทำได้ผ่านการใช้เหตุการณ์ ComponentManager เป็นเพียงส่วนต่อประสานเช่นเดียวกับ Component และสำหรับแต่ละชั้น Component โดยทั่วไปควรจะมีหนึ่ง ComponentManager ผู้จัดการส่วนประกอบเหล่านี้มีความรับผิดชอบในการสร้างส่วนประกอบและเริ่มต้นพวกเขาด้วยคุณสมบัติอ่านจากสิ่งที่ชอบไฟล์ XML ComponentManager ยังดูแลการอัพเดทส่วนประกอบต่างๆเช่น PhysicsComponent ที่ฉันจะใช้ห้องสมุดภายนอก (ซึ่งทำทุกอย่างในโลกพร้อมกัน) สำหรับการกำหนดค่าฉันจะใช้โรงงานสำหรับเอนทิตีที่จะอ่านไฟล์ XML หรือสคริปต์สร้างส่วนประกอบที่ระบุในไฟล์ (ซึ่งเพิ่มการอ้างอิงไปยังผู้จัดการองค์ประกอบที่เหมาะสมสำหรับการอัปเดตจำนวนมาก) และ จากนั้นอัดมันเข้าไปในวัตถุ GameObject มาถึงปัญหาของฉันแล้วฉันจะลองใช้มันกับเกมที่มีผู้เล่นหลายคน …

5
ฉันจะคำนวณระดับปัจจุบันจาก XP ทั้งหมดได้อย่างไรเมื่อแต่ละระดับต้องการ XP เพิ่มเติมตามสัดส่วน
ในเกมของฉัน, XP ที่จำเป็นในการเข้าถึงระดับถัดไปคือปัจจุบันระดับ×ระดับเกณฑ์ ระบุว่าฉันจะได้รับระดับปัจจุบันของฉันจากXP ทั้งหมดที่เคยได้รับ? ตัวอย่างเช่น: Level Threshold = 50 Current Level = 1 เริ่มต้นที่ระดับ 1 ฉันต้องการ(1 × 50) = 50 XP เพื่อไปที่ระดับ 2 และต่อไป Level 1: 50 XP needed to reach level 2 Level 2: 100 more XP needed to reach level 3 Level 3: 150 more XP needed …

4
การทำนายฝั่งไคลเอ็นต์ทำงานอย่างไร
ฉันได้อ่าน Valve + Gafferon และอีกหลายร้อยหน้าจาก Google แต่ด้วยเหตุผลใดก็ตามที่ฉันไม่สามารถคาดเดาลูกค้าได้ เพื่อความเข้าใจของฉันปัญหาพื้นฐานคือ: ลูกค้า A ส่งอินพุตที่ T0 เซิร์ฟเวอร์รับอินพุตที่ T1 ลูกค้าทั้งหมดได้รับการเปลี่ยนแปลงเวลา T2 T2อย่างไรก็ตามเมื่อใช้การคาดการณ์ของลูกค้าลูกค้า A อยู่ในตำแหน่งที่เหมาะสมT4แล้ว คุณจะมั่นใจได้อย่างไรว่าลูกค้า A เมื่อคาดการณ์ว่าเซิร์ฟเวอร์จะยอมรับคำขอการเคลื่อนไหวจะไม่นำหน้าเซิร์ฟเวอร์ เห็นได้ชัดว่าทุกครั้งที่พวกเขาอยู่ข้างหน้าผลนี้ในการหักกลับไปที่เซิร์ฟเวอร์ครั้งล่าสุดเห็นพวกเขา ด้วยการแก้ไขทั้งหมดที่ฉันได้ลองสิ่งนี้ยังคงเห็นได้ชัดเจนเมื่อคุณหยุดเพราะเซิร์ฟเวอร์หยุดตามคุณ

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

3
คุณจะเขียนเนื้อหา HDR ได้อย่างไร
คุณไม่ทำให้มันเป็นวิธีที่ง่ายสำหรับศิลปินที่คุณไปยังเนื้อหาที่เขียนสำหรับrenderer HDR ? คุณควรจัดหาเครื่องมือชนิดใดและเวิร์กโฟลว์ใดที่จำเป็นต้องเปลี่ยนตั้งแต่ LDR ถึง HDR โปรดทราบว่าฉันไม่ได้ถามเกี่ยวกับแง่มุมทางเทคนิคของการใช้งานเครื่องมือสร้างภาพ HDR แต่เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างวัสดุและแสงใน HDR ฉันไปเที่ยวกันซักนิด แต่ดูเหมือนจะไม่ค่อยมีอะไรเกี่ยวกับหัวข้อนี้ในเว็บ ใครช่วยชี้ให้ฉันเห็นทรัพยากรที่ดีในเรื่องนี้หรือแบ่งปันประสบการณ์ของตัวเอง? บางจุดที่เฉพาะเจาะจง: การให้แสง - ศิลปินให้ความสว่างเลือกสีแสง HDR ได้อย่างไร พวกเขามีตัวเลือกสี LDR มาตรฐานและตัวคูณหรือไม่ ตัวคูณเป็นแกมม่าหรือพื้นที่เชิงเส้นหรือไม่? บางทีแทนที่จะเป็นตัวทวีคูณมันเป็นความสว่างระดับ log หรือไม่? หรือระดับความสว่างทางกายภาพเช่นจำนวนลูเมน? พวกเขาจะรู้ได้อย่างไรว่าตัวคูณ / ความส่องสว่าง / ความสว่างนั้น "ถูกต้อง" สำหรับแสงที่กำหนด วัสดุ - ศิลปินพื้นผิวสามารถทำแผนที่สีแบบเปล่งแสงเช่นป้ายนีออนหน้าจอทีวีกล่องรับสัญญาณ ฯลฯ ได้อย่างไร คุณสามารถวาดหนึ่งภาพเป็นภาพ LDR ปกติ (8 บิตต่อช่อง) และใช้ตัวคูณ (หรือบันทึกความสว่างเป็นต้น) ได้หรือไม่? มีกรณีที่จำเป็นต้องทาสีภาพ HDR …
33 graphics  art  hdr 

8
เงาที่เข้ากันได้ดีสำหรับเกมหรือไม่
ตามทฤษฎีสีเงาจะทำงานได้ดีขึ้นหากพวกเขาไม่ใช้สีดำบริสุทธิ์หรือสีเทา แต่ใช้สีที่ประกอบเข้ากับสีของวัตถุที่หล่อด้วยเงาแทน นั่นคือถ้าคุณมีแอปเปิ้ลสีแดงคุณควรใช้เงาสีเขียวเข้ม สำหรับกล้วยสีเหลืองเงาสีม่วงเข้ม แต่ในเกมหลายเกมคุณไม่สามารถคาดเดาได้ว่าพื้นหลังหรือสภาพแวดล้อมแบบใดที่เงาจะปรากฏขึ้นและคุณอาจไม่มีความหรูหราในการมีสีเงาแบบไดนามิก ในกรณีเช่นนี้มันยังคงสมเหตุสมผลที่จะใช้เงาเพิ่มเติมหรือยอมรับเป็นกลางดำหรือเทา

2
ในเบราว์เซอร์ควรใช้สเปรดชีทขนาดใหญ่หรือ PNG ที่แตกต่างกัน (10,000) ตัวหรือไม่
ฉันกำลังสร้างเกมใน jQuery ที่ฉันใช้แผ่นประมาณ 10,000 32x32 แผ่น จนถึงตอนนี้ฉันใช้มันแยกกันหมด (ไม่มีแผ่นสไปรต์) แผนที่เฉลี่ยใช้ประมาณ 2,000 ไทล์ (บางครั้งใช้ PNG ใหม่ แต่แยก Divs ทั้งหมด) และประสิทธิภาพการทำงานมีตั้งแต่เสถียร (Chrome) ไปจนถึงความล่าช้าเล็กน้อย (Firefox) แต่ละ divs เหล่านี้อยู่ในตำแหน่งที่ใช้ CSS อย่างแน่นอน พวกเขาไม่จำเป็นต้องได้รับการอัพเดททุกเห็บเพียงแค่โหลดแผนที่ใหม่ มันจะดีกว่าหรือที่ประสิทธิภาพจะใช้วิธี spritesheet สำหรับ div โดยใช้การวางตำแหน่งพื้นหลัง CSS เหมือน gameQuery ขอบคุณล่วงหน้า!

5
คุณภาพเสียงของฉันควรเป็นเท่าไหร่?
เสียงและคุณภาพมันเหมือนศาสนา ไม่มีวันจบเรื่อง ผู้คนจะพูดว่า MP3 320kbps นั้นไม่มีความสูญเสียในขณะที่ผู้เชี่ยวชาญจะกล่าวว่า MP3 ใด ๆ ที่ไร้สาระ แต่ท้ายที่สุดแล้วจะไม่มีใครได้ยินความแตกต่างของผลลัพธ์ ... เว้นแต่ว่าพวกเขาจะอยู่ในวงการเพลงมานานกว่า 20 ปี อะไรจะเป็นรูปแบบที่ดีที่สุดสำหรับวิดีโอเกมและคุณสมบัติใดที่ควรจะเพียงพอ (เฮิรทซ์บิตเรตและอื่น ๆ ) สมมติว่า 320kbps MP3 นั้น "หนัก"? อาจเป็นตัวอย่างหนึ่งหรือสองชื่อ AAA บางรายการทำงานอย่างไรกับเสียงของพวกเขา
33 sound 

5
ฉันจะทดสอบเกมของฉันเพื่อความปลอดภัยของโรคลมชักได้อย่างไร
ฉันพัฒนาเกมที่ค่อนข้างบิ่นในแง่ของสีและความสว่าง มันเป็นเกมของ iPhone ดังนั้นหน้าจอจะค่อนข้างเล็ก แต่ฉันเคยได้ยินเกี่ยวกับWipeout XL ที่ล้มเหลวในการทดสอบโรคลมชัก เราจะมั่นใจได้อย่างไรว่าเกมจะไม่เกิดอาการชักจากโรคลมชักสำหรับผู้ใช้ ฉันเป็นนักพัฒนาอินดี้ดังนั้นโซลูชันงบประมาณต่ำจึงเหมาะ

6
ฉันควรใช้ Lua เพื่อลอจิกเกมบนอุปกรณ์มือถือหรือไม่
ดังกล่าวข้างต้นจริงๆ ฉันกำลังเขียนเกมที่ใช้ Android ในเวลาว่าง (android เพราะฟรีและฉันไม่มีแรงบันดาลใจที่แท้จริงที่จะทำอะไรเชิงพาณิชย์) ตรรกะของเกมมาจากรูปแบบพื้นฐานทั่วไปซึ่งมีหน่วยงานอยู่และมีส่วนประกอบที่แนบมากับพวกเขาและข้อความจะถูกส่งไปมาเพื่อให้สิ่งต่าง ๆ เกิดขึ้น เห็นได้ชัดว่าเลเยอร์สำหรับการแสดงจริงนั้นบางและถ้าฉันต้องเขียนแอพเวอร์ชัน iPhone ของแอพนี้ฉันจะต้องเขียน renderer และคอร์ไดร์เวอร์ใหม่ (ของระบบที่ใช้องค์ประกอบนี้) ใน Objective C เอนทิตีเป็นไฟล์แบบแฟลตซึ่งกำหนดชื่อของส่วนประกอบที่จะเพิ่มและส่วนประกอบนั้นเป็นวัตถุที่เรียบง่ายและมีวัตถุประสงค์เดียวที่มีตรรกะสำหรับเอนทิตี ตอนนี้ถ้าฉันเขียนลอจิกทั้งหมดสำหรับส่วนประกอบเหล่านั้นใน Java แล้วฉันต้องเขียนใหม่บน Objective C ถ้าฉันตัดสินใจที่จะทำพอร์ต iPhone เนื่องจากตรรกะแอปพลิเคชันส่วนใหญ่มีอยู่ในส่วนประกอบเหล่านี้พวกเขาจะต้องเขียนภาษา / สคริปต์ / DSL ที่ไม่เชื่อเรื่องภาษาแพลตฟอร์มซึ่งอาจโหลดลงในแอปบนแพลตฟอร์มใดก็ได้ ฉันถูกชักนำให้เชื่อ แต่นี่ไม่ใช่โลกในอุดมคติแม้ว่าและประสิทธิภาพของ Lua และอื่น ๆ บนอุปกรณ์มือถือยังคงไม่เป็นที่เกาค่าใช้จ่ายมากเกินไปและฉันจะพบปัญหาในภายหลังถ้าฉัน ลงไปตามเส้นทางนั้นไหม? เป็นกรณีนี้จริงหรือ เห็นได้ชัดว่านี่เป็นเพียงคำถามสมมุติฉันมีความสุขที่เขียนพวกเขาทั้งหมดใน Java เพราะมันง่ายและง่ายที่จะกำจัดสิ่งต่าง ๆ ออกไป แต่บอกว่าฉันสนุกกับการทำเกมนี้จริง ๆ (ไม่น่าเป็นไปได้ ด้วยอุปกรณ์มือถือที่แตกต่างกันทั้งหมด) และฉันต้องการสร้างเกมที่มีขายในเชิงพาณิชย์ …
33 android  lua  mobile  porting 

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