การพัฒนาเกม

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

1
จะลดขนาดภาพโดยไม่มีการปรับพิกเซลได้อย่างไร?
ฉันเห็นเกมจำนวนมากที่มีตัวอักษรขอบเรียบและภาพความละเอียดสูง แต่เมื่อฉันพยายามลดภาพเพื่อบอกว่า 64x64 สำหรับตัวละครของฉันฉันเพิ่งได้รับพิกเซลแบบยุ่ง ๆ แม้ว่าฉันจะเริ่มต้นด้วยผ้าใบ 64x64 ฉันจะได้รับขอบตัวหนังสือ ฉันควรปรับขนาดด้วย OpenGL หรือไม่ หรือมีเทคนิคบางอย่างกับ photoshop หรือ pixen ที่ฉันไม่รู้?

4
สร้างภูมิภาคที่เท่าเทียมกันในแผนที่ฐานสิบหก
ยกตัวอย่างเช่นแผนที่ฐานสิบหกขนาดใหญ่ (X โดย Y) ฉันจะแบ่งออกเป็นภูมิภาค N ของฐานสิบหกที่เชื่อมต่อกันเพื่อจำลองประเทศได้อย่างไร เป้าหมายคือการสร้างแผนที่ฐานสิบหกที่ดูเหมือนแผนที่ชีวิตจริงกับประเทศที่มีรูปร่างแตกต่างกัน แต่มีขนาดเท่ากัน

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

4
ฉันจะสอนผู้เล่นให้เล่นได้อย่างไร
ฉันคิดเกี่ยวกับวิธีการที่ platformers ปริศนาสอนให้ผู้เล่นเล่น ฉันชอบ Super Meat Boy โดยเฉพาะอย่างยิ่งวิธีการสอนคุณโดยไม่สังเกตว่าคุณกำลังถูกสอน มันทำให้ฉันตื่นเต้นและมีส่วนร่วม มีความพึงพอใจในการหาบางสิ่งด้วยตัวเองแม้ว่ามันจะง่ายและชัดเจนโดยการออกแบบระดับ นอกเหนือจาก "ระดับการกวดวิชา" เพื่อสอนทักษะหรือกฎใหม่แต่ละข้อมีวิธีอื่นหรือไม่? ประโยชน์และค่าใช้จ่ายของแต่ละรายการคืออะไร

3
.sln / .csproj มีประโยชน์สำหรับการแบ่งปันโครงการ Unity หรือไม่
เรากำลังประสบปัญหาบางอย่างกับ GIT และ Unity มันเกิดขึ้นบ่อยครั้งที่ไฟล์. sln / .csproj ทำให้เรามีปัญหาบางอย่างดังนั้นหลังจากค้นหาสักครู่บนเว็บฉันพบว่าไฟล์นี้อาจไม่จำเป็นต้องพุช มีคนมีข้อเสนอแนะสำหรับเรื่องนี้? https://gist.github.com/hw/1234398มีตัวอย่างรวมอยู่ใน. gitignore แต่จริงๆแล้วฉันไม่รู้ว่าไฟล์ประเภทนี้ทำอะไร ฉันสามารถแยกพวกเขาออกจาก repo ของฉันได้หรือไม่ไฟล์นี้มีความเกี่ยวข้องสำหรับการอ้างอิงบางอย่างในเกมของฉัน

3
ปล่อยเกมโดยไม่ต้องมี บริษัท จดทะเบียนอย่างเป็นทางการ
ฉันคิดว่าจะปล่อยเกม iOS ของฉันโดยไม่ต้องลงทะเบียน บริษัท อย่างเป็นทางการเลย ฉันไม่แน่ใจว่าฉันต้องการสร้าง บริษัท หรือไม่ ITunes ต้องการทราบเจ้าของลิขสิทธิ์ของหนังสือของฉัน ฉันมีคำถาม 2 ข้อเกี่ยวกับเรื่องนี้: 1) ฉันสามารถใช้ชื่อ บริษัท ของฉัน (ตัดสินใจแล้วว่าจะมีอยู่) และเพียงแค่ลงทะเบียนในภายหลัง (ถ้าจำเป็น) 2) หรือฉันควรใช้ชื่อในฐานะผู้ถือลิขสิทธิ์โดยไม่คำนึงว่าฉันวางแผนที่จะจดทะเบียน บริษัท อย่างเป็นทางการในภายหลังหรือไม่?
13 legal  copyright 

2
Scrambling คำในรูปแบบที่รู้จักอย่างน้อย
เป้าหมายของฉันคือการนำเสนอผู้เล่นด้วยคำที่มีสัญญาณรบกวนที่ควรจัดลำดับใหม่กลับคืนสู่รูปแบบดั้งเดิม: OELHL -> สวัสดี ฉันต้องการอัลกอริทึม scrambling ที่ใช้คำที่กำหนด (> 3or4 ตัวอักษรอาจมีช่องว่าง) และเปลี่ยนเป็นรูปแบบที่รู้จักได้น้อยที่สุด ในขณะที่การเคลื่อนย้ายตัวอักษรทุกตัวรอบ ๆ ใช้งานได้อย่างแน่นอนฉันสังเกตเห็นว่าสับไม่ได้ทั้งหมดเท่ากัน แต่บางคนจำได้ดีกว่าคนอื่น ฉันกำลังโพสต์คำถามนี้ในกรณีที่มีคนรู้ถึงอัลกอริทึมที่ดีกว่า (อาจขึ้นอยู่กับภาษาศาสตร์) ที่ ~~ รับประกันรูปแบบที่เป็นที่รู้จักน้อยที่สุด

4
ใช้การจำลองทางฟิสิกส์บนทั้งไคลเอนต์และเซิร์ฟเวอร์หรือไม่?
ฉันใช้ดาวเคราะห์น้อยแบบผู้เล่นหลายคนเพื่อเรียนรู้เกี่ยวกับสถาปัตยกรรมเครือข่ายไคลเอ็นต์ / เซิร์ฟเวอร์ในเกม ฉันใช้เวลาในการอ่านสิ่งพิมพ์ของ GafferOnGames และ Valve บนเทคโนโลยีไคลเอ็นต์ / เซิร์ฟเวอร์ของพวกเขา ฉันมีปัญหากับสองแนวคิด ขณะนี้ฉันมีเซิร์ฟเวอร์เกมจำลองสถานการณ์จริงที่มี box2d และส่งสถานะของโลกให้กับลูกค้าประมาณ 20 ครั้งต่อวินาที ลูกค้าแต่ละรายติดตามสแน็ปช็อตสองสามครั้งสุดท้ายที่ได้รับและ lerps ระหว่างสองสถานะเพื่อให้การเคลื่อนไหวของสไปรต์ราบรื่นขึ้น อย่างไรก็ตามมันไม่ราบรื่น มันอาจจะราบรื่นสักพักหนึ่งแล้วก็กระตุกนิดหน่อยจากนั้นก็กลับมาราบรื่น ฯลฯ ฉันลองทั้ง TCP และ UDP แล้วทั้งคู่ก็เหมือนกัน ความคิดใดที่ปัญหาของฉันอาจเป็นอย่างไร (หมายเหตุ: ฉันใช้สิ่งนี้กับผู้เล่นคนแรกก่อนและการเคลื่อนไหวของสไปรต์นั้นราบรื่นที่ 60fps เมื่ออัปเดตโลกฟิสิกส์เพียง 20 ครั้งต่อวินาที) เพื่อที่จะแก้ปัญหาแรกฉันคิดว่าบางทีไคลเอนต์ควรรันการจำลอง box2d ด้วยเช่นกันและเพียงแค่อัปเดตตำแหน่งของสไปรต์เพื่อให้ตรงกับสแนปชอตของเซิร์ฟเวอร์เมื่อพวกเขาไม่ตรงกัน ฉันคิดว่านี่อาจราบรื่นกว่าเนื่องจากการใช้ผู้เล่นคนเดียวของฉันราบรื่น นี่เป็นความคิดที่ดีหรือไม่? แม้ว่ามันจะไม่สามารถแก้ไขปัญหาข้างต้นได้มันจำเป็นสำหรับการทำนายลูกค้าหรือไม่? ตัวอย่างเช่นหากผู้เล่นพยายามเคลื่อนย้ายเรือของพวกเขาพวกเขาจะรู้ได้อย่างไรว่าพวกเขายิงยานอวกาศดาวเคราะห์ผนังหรือศัตรูโดยไม่มีการจำลองทางฟิสิกส์? ดูเหมือนว่าเรือของพวกเขาจะปรากฏขึ้นเพื่อผ่านวัตถุที่มันควรจะชนกันก่อนที่พวกเขาจะได้รับสแนปชอตจากเซิร์ฟเวอร์ที่ระบุว่าพวกเขาชนกับวัตถุ ขอบคุณ!

3
ฉันจะทำซ้ำข้อ จำกัด สีของ NES ด้วยส่วนขยาย HLSL พิกเซลได้อย่างไร
ดังนั้นเนื่องจากโหมดสี 256 ค่าเสื่อมราคาและไม่รองรับภายใต้โหมด Direct3D อีกต่อไปฉันจึงมีแนวคิดที่จะใช้พิกเซล shader แทนเพื่อจำลองจานสี NES ของสีที่เป็นไปได้ทั้งหมดเพื่อให้วัตถุที่ซีดจางและสิ่งที่ไม่จางหายไปอย่างราบรื่น . (ฉันรู้ว่าวัตถุไม่สามารถจางหายไปจาก NES ได้จริง ๆ แต่ฉันมีวัตถุทั้งหมดที่เลือนเข้าและออกบนพื้นหลังสีดำทึบซึ่งเป็นไปได้ด้วย palette swapping นอกจากนี้หน้าจอจะจางหายไปเมื่อคุณหยุด ซึ่งฉันรู้ว่ายังเป็นไปได้ด้วยการเปลี่ยนพาเล็ตในเกม Mega Man สองสามเกม) ปัญหาคือฉันรู้อะไรเกี่ยวกับ HLSL shaders ฉันต้องทำอย่างไร?
13 shaders  pixel 

2
วิธีสร้าง plasma trail สำหรับยานอวกาศ
ฉันได้เห็นเกมสเปซที่น่าจับตามองมากมายที่ทุกคนใช้เอฟเฟกต์ที่คล้ายกัน ฉันสนใจที่จะทราบว่าเอฟเฟกต์เหล่านี้เกิดขึ้นได้อย่างไร โดยเฉพาะฉันต้องการทราบว่าเส้นทางบางส่วนของยานอวกาศหรือขีปนาวุธนั้นสำเร็จได้อย่างไรโดยไม่ต้องใช้ทรัพยากรที่มีอยู่ทั้งหมด สำหรับตัวอย่างของเอฟเฟกต์ฉันหมายถึงดูภาพหน้าจอของ Gimbalและแม้แต่วิดีโอที่ลิงก์เดียวกัน นอกจากนี้ยังมีเส้นทางขีปนาวุธในอีเธอร์ไอ เทคนิคเหล่านี้เหมือนกันหรือไม่ ฉันสนใจ 2D เป็นหลัก แต่ฉันไม่สามารถจินตนาการได้ว่ามันจะแตกต่างกันมากเกินไป ดังนั้นฉันจะไปเกี่ยวกับการสร้างลักษณะเช่นนี้ได้อย่างไร พวกเรากำลังพูดถึง pixel shaders, ผสมผสานโหมด / ตัวกรอง, ผล bitmap, ระบบอนุภาคหรืออะไร ไม่เจาะจงแพลตฟอร์มจริงๆ ฉันแค่กำลังมองหาทฤษฎี แต่ตัวอย่างหรือลิงก์ที่เฉพาะเจาะจงจะดีมาก และรายละเอียดที่ดียิ่งขึ้น

5
ฉันจะวาดเค้าร่างใน Unity3d ได้อย่างไร
ฉันพยายามเน้นสี่เหลี่ยมที่มีความสูงตามอำเภอใจ ฉันคิดว่าวิธีที่ง่ายที่สุดในการทำเช่นนี้คือการสร้างเกม "กล่อง" แยกต่างหากที่ระบุเค้าโครงสี่เหลี่ยมผืนผ้า ฉันได้ลองใช้ทั้ง MeshRenderer + Transparent Texture และ LineRenderer เพื่อจัดเค้าร่างจุดสี่จุดของสี่เหลี่ยมผืนผ้า ไม่เป็นที่น่าพอใจมาก (เปิดตัวแสดงเส้นตรงกลางปรับขนาดลูกบาศก์ทางขวา) วิธีที่ถูกต้องในการทำสิ่งนี้คืออะไร? ฉันกำลังพยายามหารูปสี่เหลี่ยมมุมฉาก - เส้นรอบวงของความกว้างคงที่ตลอดสี่จุดที่ฉันเลือก
13 unity  graphics 

3
วนรอบเกม, วิธีตรวจสอบเงื่อนไขหนึ่งครั้ง, ทำอะไรแล้วไม่ทำอีกครั้ง
ตัวอย่างเช่นฉันมีคลาสเกมและมันจะคอยintติดตามชีวิตของผู้เล่น ฉันมีเงื่อนไข if ( mLives < 1 ) { // Do some work. } อย่างไรก็ตามเงื่อนไขนี้ยังคงมีการยิงต่อเนื่อง ตัวอย่างเช่นฉันต้องการตั้งเวลาเพื่อออกจากเกมใน 5 วินาที ปัจจุบันมันจะตั้งค่าเป็น 5 วินาทีทุกเฟรมและเกมจะไม่มีวันสิ้นสุด นี่เป็นเพียงตัวอย่างเดียวและฉันมีปัญหาเดียวกันในหลาย ๆ ด้านของเกม ฉันต้องการตรวจสอบเงื่อนไขบางอย่างแล้วทำบางครั้งเพียงครั้งเดียวแล้วไม่ตรวจสอบหรือทำรหัสในคำสั่ง if อีกครั้ง วิธีแก้ปัญหาที่เป็นไปได้บางอย่างที่อยู่ในใจกำลังมีอยู่boolสำหรับแต่ละเงื่อนไขและตั้งค่าboolเมื่อเงื่อนไขเริ่มทำงาน อย่างไรก็ตามในทางปฏิบัติสิ่งนี้ได้รับการจัดการที่ยุ่งมากboolsเนื่องจากพวกมันจะต้องถูกเก็บไว้เป็นฟิลด์คลาสหรือคงที่ภายในวิธีการเอง การแก้ปัญหาที่เหมาะสมสำหรับสิ่งนี้คืออะไร (ไม่ใช่สำหรับตัวอย่างของฉัน แต่สำหรับโดเมนปัญหา) คุณจะทำสิ่งนี้ในเกมได้อย่างไร?
13 c++  game-loop 

3
ฉันจะจัดการกับปัญหาของ side-scroller ได้อย่างไร
ฉันสร้างเกมเครื่องบินเลื่อนด้านข้างและเมื่อฉันเริ่มไปอย่างรวดเร็วฉันเริ่มพบปัญหาบางอย่างในฐานะผู้เล่น: องค์ประกอบไม่สามารถแยกความแตกต่างได้เช่นการเพิ่มพลังจากกระสุน ฯลฯ ฉันเริ่มรู้สึกเวียนหัวและอึดอัด ไม่มีเวลาพอที่จะดูว่ามีอะไรเกิดขึ้น ฉันจะเรียงลำดับนี้ได้อย่างไร ฉันจะใช้รายละเอียดน้อยลงใน grahpics ทั้งหมดหรือไม่ Tiny Wingsมีความเร็วในการเคลื่อนที่ในแนวนอนเท่ากับในเกมของฉัน แต่ไม่ประสบปัญหาเหล่านี้ มีตัวเลื่อนด้านข้างอื่น ๆ ที่เร็วมากที่ฉันสามารถใช้เป็นข้อมูลอ้างอิงได้หรือไม่?

4
การตรวจจับการชนกันที่รวดเร็วยิ่งขึ้น
เมื่อไม่นานมานี้ฉันกำลังทำงานกับนักแม่นปืน 2d ที่รวดเร็วและฉันเจอปัญหาอันยิ่งใหญ่ ตรวจจับการชนกัน แน่นอนว่ามันใช้งานได้ แต่ช้ามาก เป้าหมายของฉันคือ: มีศัตรูจำนวนมากบนหน้าจอและให้พวกเขาไม่ได้สัมผัสกัน ศัตรูทั้งหมดกำลังไล่ตามเอนทิตีของผู้เล่น ส่วนใหญ่มีความเร็วเท่ากันดังนั้นไม่ช้าก็เร็วพวกเขาทั้งหมดก็ลงเอยด้วยการเว้นวรรคขณะไล่ล่าผู้เล่น สิ่งนี้ทำให้ปัจจัยความสนุกลดลงอย่างมากสำหรับผู้เล่นดูเหมือนว่าคุณจะถูกไล่ล่าโดยศัตรูเพียงคนเดียวเท่านั้น เพื่อป้องกันไม่ให้พวกเขาใช้พื้นที่เดียวกันฉันได้เพิ่มการตรวจจับการชนกัน (การตรวจจับ 2D ขั้นพื้นฐานมากซึ่งเป็นวิธีเดียวที่ฉันรู้) ซึ่งก็คือ Enemy class update method Loop through all enemies (continue; if the loop points at this object) If enemy object intersects with this object Push enemy object away from this enemy object มันใช้งานได้ดี ตราบใดที่ฉันมี <เอนทิตีศัตรู …

1
ภูมิประเทศเรียบ Voxel
ในโครงการส่วนบุคคลฉันพยายามสร้างตัวสร้างภูมิประเทศที่จะสร้างภูมิประเทศที่ดูคล้ายกับภูมิประเทศที่ราบเรียบของ Castle Story หากคุณไม่เคยเห็นมาก่อนนี่: อย่างที่คุณเห็นมันคือการรวมกันของบล็อกและบล็อก "ราบรื่น" สิ่งที่ฉันพยายามทำเพื่อเลียนแบบรูปลักษณ์นี้คือให้แผนผังความสูงขนาดเล็กแต่ละบล็อก โดยทั่วไปแล้วใช้งานได้ แต่มีบางประเด็นที่ให้ภูมิประเทศเช่นนี้: ปัญหาคือว่าแต่ละบล็อกมี 1x1x1 แต่บางครั้งความสูงของตำแหน่งใดตำแหน่งหนึ่งเป็นค่าลบหรือ> 1 ในกรณีนี้ฉันคลิปมันและตั้งค่าความสูงเป็น 0 หรือ 1 เพื่อแสดงให้เห็นถึงสิ่งที่ฉันหมายถึงนี่คือแผนภาพ: เพื่อสร้างความสูงฉันโดยทั่วไปทำ: genColumn(int x, int z) { int highestBlockY = (int)noise2d(x, z); bool is_surface = true; for(int y = max_height - 1; y >= 0; y--) { Block b; if(is_surface) { b = …

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