การพัฒนาเกม

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

1
ฉันจะลบตัวละครของผู้เล่นได้อย่างไรเมื่อเขาเข้าไปข้างในหรือนอกพื้นที่?
ฉันต้องการจางผู้เล่นเมื่อเขาออกไปจากพื้นที่ ตัวอย่างเช่นสมมติว่าบุคคลเข้าสู่อาคาร เมื่อบุคคลอยู่นอกอาคารเขาไม่ควรมองเห็น แต่เมื่อเขาเข้าเขาจะค่อยๆปรากฏให้เห็น (โดยใช้เอฟเฟกต์สีซีดจาง) เมื่อช้างอยู่ในพื้นที่สีเขียวอัลฟาเขาควรจะเป็น 1 เมื่อช้างอยู่นอกพื้นที่สีเขียวอัลฟาเขาควรเป็น 0
17 unity  shaders 

1
ฉันจะใช้สถานะถาวรสำหรับวัตถุที่กำหนดในระดับได้อย่างไร
ฉันกำลังพัฒนา Metroidvania 2D ซึ่งประกอบด้วยชุดของระดับที่เชื่อมต่อระหว่างกันที่สามารถมาได้อีกครั้ง แต่ละระดับจะแสดงด้วยไฟล์ Tiled TMXซึ่งฉันได้ระบุตำแหน่งที่วัตถุต่าง ๆ ของคลาสสไปรต์ที่แตกต่างกันวางไข่ (ตัวอย่างเช่นศัตรูรถปิคอัพคันโยก ฯลฯ ) เมื่อเริ่มเกมใหม่โหลดเกมที่บันทึกไว้หรือเปลี่ยนระดับลูปเกมของฉันจะทำงานผ่านไฟล์ TMX ที่เหมาะสมและสร้างวัตถุทั้งหมดในระดับนั้น ฉันจัดการกับการเปลี่ยนแปลงระดับด้วยวิธีต่อไปนี้: หากPlayerวัตถุตัดกันPortalวัตถุchange_map()วิธีการหนึ่งถูกเรียกใช้ซึ่งโหลดแผนที่ใหม่ (อันที่เกี่ยวข้องกับพอร์ทัลที่ตัดกัน) และวางตำแหน่งผู้เล่นในตำแหน่งที่เหมาะสมบนแผนที่ใหม่ วัตถุบางอย่างของฉันมีสถานะซึ่งฉันต้องการที่จะคงอยู่ผ่านการเปลี่ยนแปลงระดับและบันทึกและเลิกเล่นเกม ตัวอย่างเช่นหากผู้เล่นปลดล็อคประตูและคุณลักษณะสถานะของประตูถูกตั้งค่าเป็น "เปิด" ฉันต้องการให้ประตูเปิดเมื่อผู้เล่นกลับมา ฉันต้องการสิ่งที่คล้ายกับคันโยกซึ่งสามารถตั้งค่าเป็นซ้ายหรือขวาและวัตถุอื่น ๆ นอกจากนี้ผู้เล่นบางครั้งจะมีรายการที่ฉันไม่ต้องการที่จะเกิดใหม่เมื่อผู้เล่นกลับมาที่พื้นที่ คำถามของฉันคือฉันจะจัดการกับความเพียรแบบนี้ได้อย่างไร ฉันทำงานใน Python แม้ว่าฉันคิดว่าคุณสามารถหลีกเลี่ยงได้

1
ขนาด จำกัด ของ Unity 2017.2 Tilemap คือเท่าใด
ฉันกำลังขุดอ่านเอกสารเกี่ยวกับคุณสมบัติ Tilemap ของ Unity 2017.2 Unity จำกัด จำนวนสูงสุดของการเรียงแบบต่อเนื่องที่จะรองรับการเรียงต่อกันแบบเรียงต่อกันหรือไม่? ฉันรู้ว่าแต่ละไทล์จะถูกสร้างอินสแตนซ์หนึ่งครั้งและเคยใช้ประกอบฉากล่ามใน Tilemap mesh ที่รันไทม์ดังนั้นฉันเดาว่าขีด จำกัด จำนวน quad quad นั้นขึ้นอยู่กับฮาร์ดแวร์ในที่สุดและสูงหรือน้อยก็ได้ นั่นเป็นข้อสันนิษฐานที่ถูกต้องหรือมีฝาปิดที่แข็งอยู่ในเครื่องยนต์หรือไม่?
17 unity  2d  tilemap 

3
จะคำนวณพื้นที่ที่มีรูปร่างผิดปกติได้อย่างไร?
ฉันมีห้องวัตถุที่กำหนดโดยชุดของส่วนของเส้นที่วนลูปที่ฉันต้องคำนวณพื้นที่ คลาสสามารถอธิบายได้ดังต่อไปนี้ (ในรหัสเทียม): class Point { float x; float y; ... float distanceFrom(Point p); } class Segment { Point start; Point end; ... float length(); } class Room { List<Segment> walls; ... float area(); } ผนังของห้องไม่สามารถตัดกันได้ทุกที่ แต่ที่จุดสิ้นสุดของเซกเมนต์และ "sub-loops" ที่สร้างขึ้นจะถูกแยกออกเป็นห้องใหม่ การแก้ปัญหาไม่จำเป็นต้องแม่นยำอย่างสมบูรณ์ (ยอมรับข้อผิดพลาด 10%) และไม่คำนวณบ่อยมาก (<1 / s)

1
ผู้เล่นกระวนกระวายใจกับผนังเมื่อกดปุ่มค้างไว้
ดังนั้นฉันจึงสร้าง RPG จากบนลงล่าง ทุกอย่างกำลังดี แต่ปัญหานี้ค่อนข้างน่ารำคาญ ตอนนี้เมื่อตัวละครเคลื่อนไปตามกำแพงผู้เล่นจะกระวนกระวายใจไปมา ฉันเดาว่าเป็นเพราะผู้เล่นพยายามย้ายไปที่กำแพงแล้วกำแพงปะทะกันดันกลับซึ่งทำให้เกิดการเคลื่อนไหวไปมาที่น่ารำคาญ คำถามของฉันชัดเจนฉันจะหยุดสิ่งนี้เกิดขึ้นได้อย่างไร ขอบคุณ! PS: ฉันใช้ transform.translate เพื่อย้ายผู้เล่นและฉันใช้ C # แก้ไข : ฉันยังใช้ 2D Rigidbody และ 2Dbox colliders ทั้งสอง
17 unity  c# 

1
ใน Unreal ความแตกต่างระหว่าง C ++ กับ float คือ FFloat32 คืออะไร?
ฉันพยายามที่จะเรียนรู้บางแง่มุมที่ลึกซึ้งยิ่งขึ้นของ UE4 และในขณะที่อ่านรหัสตัวอย่างจำนวนมากและยังเป็นแหล่งที่มาของเครื่องยนต์ฉันสังเกตว่าบางครั้งผู้คน (และซอร์สโค้ดมาก) ใช้มาตรฐานfloatดั้งเดิมC ++ แต่บางครั้งก็ใช้FFloat32. ถ้าอย่างนั้นฉันอยากรู้ว่า: เมื่อเขียนโปรแกรมเกมด้วย Unreal อะไรคือความแตกต่างระหว่างการใช้ 2 ตัวเลือกเหล่านี้และสิ่งที่เป็นกรณีหลักที่ควรวางมาตรฐานดั้งเดิม C ++ แบบดั้งเดิมเพื่อการใช้งานของเครื่องยนต์

2
ไดรเวอร์ AI ในเกมแข่งรถ
ฉันสงสัยว่าฉันจะควบคุมรถในเกมแข่งรถได้อย่างไร ตัวแทน AI ของฉันควรควบคุมรถด้วยคำสั่งเช่น "เค้นที่ 0.35, หมุนพวงมาลัยที่ 0.5 ขวา, เบรคที่ 0.0" หรือไม่ หรือฉันควรจะคำนวณเส้นโค้งที่รถติดไว้ล่วงหน้าและภาพเหมือนการเปลี่ยนล้อหน้าเป็นเพียงการทำให้ทุกอย่างดูสอดคล้องกันหรือไม่ หรือมีวิธีอื่นใด
17 game-design  ai 

3
เป็นไปได้อย่างไรที่จะรวมระบบบุคลิกภาพเช่น MBTI เข้ากับเกม
โดยเฉพาะอย่างยิ่งมันเป็นเรื่องยากสำหรับนักพัฒนาอินดี้ที่จะใช้ระบบคล้ายกับ MBTI เพื่อให้บทสนทนาการกระทำและตัวเลือกของตัวละครของผู้เล่นเปลี่ยนแปลงไปตามประเภท MBTI ที่กำหนดไว้? สิ่งนี้อาจถูก จำกัด เพียงแค่ความเย้ายวนของการตอบสนองของผู้เล่นตัวละครตัวละครลังเลที่จะเข้าร่วมกิจกรรมทางสังคม มันจะช่วยอ้างอิงเกมที่ทำสิ่งนี้หรือคล้ายกัน แก้ไข: สำหรับผู้ที่ไม่ทราบตัวบ่งชี้ชนิด Meyers Briggs เป็นวิธีการวัดบุคลิกภาพของใครบางคนโดยใช้ตัวแปร 5 ตัว (ซึ่งโดยทั่วไปจะไม่สนใจตัวสุดท้าย) เพื่อรับ 16 (หรือ 32 รวมถึงตัวแปรสุดท้าย) ต้นแบบที่แตกต่างกัน e xtraversion กับฉัน ntroversion กำหนดว่าคุณ 'คืนพลังงาน' โดยการโต้ตอบกับผู้อื่นเป็นศูนย์กลางของความสนใจ ฯลฯ หรือโดยการอยู่คนเดียวทำกิจกรรมเช่นการเดินการอ่านและการวิปัสสนา S Ensing กับฉันยังไม่มีการเรียนการสอนกำหนดว่าคุณต้องการที่จะดูดซับข้อมูลใหม่โดยมุ่งเน้นข้อเท็จจริงสถิติและรายละเอียดการเลือกความคิดกับการใช้งานจริงหรือจินตนาการความเป็นไปได้ที่การสำรวจแนวคิดเพื่อประโยชน์ของตัวเองและมองไปที่ความหมายลึก การกระพริบตากับF eeling เป็นตัวกำหนดว่าคุณต้องตัดสินใจโดยใช้ตรรกะให้ความสำคัญกับความยุติธรรมมีความสุขกับการค้นหาข้อบกพร่องและเล่นเป็นผู้สนับสนุนของปีศาจหรือตัดสินใจเกี่ยวกับคุณค่าส่วนบุคคลและเป็นสิ่งที่ควรทำจะเป็น J udging vs. การรับรู้กำหนดว่าคุณใช้คุณลักษณะT / Fเพื่อโต้ตอบกับโลกรอบตัวคุณหรือS / Iคุณลักษณะ การรับรู้มีแนวโน้มที่จะทำให้คนต้องการเปิดทางเลือกของพวกเขาและทำการตัดสินใจภายนอกในจุดที่มากกว่าในขณะที่ผู้พิพากษามีแนวโน้มที่จะเชื่อมโยงกับการวางแผนและติดกับมัน จากนั้นก็มีA ssertive vs. …
17 ai  character 

1
ข้อเสียใด ๆ ในการส่งออกไฟล์เสียงที่ความเร็วสองเท่าจากนั้นมีการเล่นเอ็นจิ้นเกมที่ความเร็วครึ่ง
ฉันต้องการลดขนาดไฟล์และเพลงในเกมของฉันและ SFX ใช้เวลาอย่างมาก ถ้าฉันสร้างเพลงหรือเอฟเฟกต์เสียงที่ 120bpm จากนั้นจึงใช้จังหวะและระดับเสียงสองเท่าโดยใช้โปรแกรม DAW หรือสแตนด์อโลนจากนั้นบันทึกไฟล์เสียงความเร็วสองเท่าใหม่มันจะกลายเป็นขนาดไฟล์ต้นฉบับเพียงครึ่งเดียว ลดลงครึ่งหนึ่ง) จากนั้นฉันก็ใช้โปรแกรมเกมของฉัน (Unity) เพื่อเล่นไฟล์เสียง 240bpm ที่ความเร็วครึ่งหนึ่งดังนั้นตอนนี้มันฟังดูเป็นปกติ ไม่มีสิ่งประดิษฐ์หรือการบิดเบือน ดังนั้นนี่คือคำถาม: ฉันเสียสละอะไรเช่นพลังการประมวลผลเพื่อเล่นด้วยความเร็วครึ่งเดียวหรือไม่? ฉันกำลังโหลดไฟล์ที่มีขนาดเพียงครึ่งเดียวดังนั้นต้องมีการแลกเปลี่ยนบางอย่างใช่มั้ย ฉันมีความรู้สึกไม่มีใครในใจที่ถูกต้องของพวกเขาจะทำเช่นนี้ แต่ทำไมไม่

11
ระบบการต่อสู้ที่ยุติธรรมสำหรับผู้เล่นใหม่ในเกม RTS
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันทำงานกับความคิด / แนวคิดสำหรับเกมที่มีผู้เล่นหลายคนที่ฉันต้องการพัฒนาหลังจากการวิเคราะห์การทำงานของฉัน แต่ฉันยังคงคิดหาวิธีที่จะใช้ระบบการต่อสู้ที่เหมาะสมและยุติธรรมระหว่างผู้เล่นใหม่และผู้เล่นปัจจุบัน ผู้เล่นสามารถสร้างหมู่บ้าน / เมืองใหม่หนึ่งครั้งทุกที่บนแผนที่ ( นี่คือกุญแจ! ) มีระยะเวลาการโจมตีที่ผู้เล่นสามารถโจมตีซึ่งกันและกันได้ แต่ฉันต้องการ จำกัด โอกาสที่ผู้เล่นที่ก้าวหน้าขึ้นสามารถโจมตีผู้เริ่มต้นและป้องกันพวกเขาจากการเติบโต ยกตัวอย่างเช่น Tribal Wars โดยการสร้างหมู่บ้านใหม่ให้ห่างจากผู้เล่นที่ก้าวหน้ามากขึ้น ในกรณีของฉันผู้ใช้สามารถสร้างเมืองของเขาได้ทุกที่บนแผนที่ดังนั้นฉันจึงมองหาทางออกที่ยุติธรรมสำหรับผู้เล่นทุกคน ตัวอย่างของระบบการต่อสู้ที่ใช้ในเกมอื่น ๆ ที่ฉันคิดว่า: RuneScape ผู้เล่นใด ๆ ที่อยู่ในระดับเฉพาะของระดับการต่อสู้ของคุณสามารถโจมตีได้ในที่รกร้างว่างเปล่า ช่วงนั้นคำนวณโดยนำระดับการต่อสู้ปัจจุบันของคุณและเพิ่มหรือลบระดับความรกร้างในปัจจุบันที่คุณอยู่ สงครามเผ่า ผู้เล่นใหม่ทุกคนได้รับมอบหมายหมู่บ้านใหม่ที่ชายแดนจากผู้เล่นก่อนหน้า ผู้เล่นที่มีอายุมากกว่าดังนั้นจะอยู่ในศูนย์ในขณะที่ผู้เล่นใหม่อยู่ห่างจากพวกเขาซ้ำ ๆ ระบบการต่อสู้ขึ้นอยู่กับระยะทางระหว่าง 2 หมู่บ้านดังนั้นหากผู้เล่นเก่าต้องการโจมตีผู้เล่นใหม่มันจะใช้เวลามากขึ้นในการโจมตีผู้เล่นเหล่านั้นเพื่อรับรางวัลน้อยลง

1
Phong lighting - มีบางอย่างแปลก ๆ ที่มีแสง specular
ฉันนำแสงพงษ์มาใช้ ดูเหมือนว่าทุกอย่างจะทำงาน - พรูและทรงกลมก็สว่างตามที่คาดไว้ ฯลฯ แต่ฉันสังเกตเห็นบางสิ่งที่แปลกเกี่ยวกับแสงแบบส่องทางของแสงทิศทาง นี่คือภาพหน้าจอสองภาพ ครั้งแรก: ประการที่สอง: ในขณะที่คุณสามารถดูพื้นที่มากขึ้นมีแสงส่องสว่างเป็นพิเศษเมื่อกล้องอยู่ไกลจากวัตถุ นี่คือจุดสุดยอด shader: #version 330 core layout(location = 0) in vec3 vertexPos; layout(location = 1) in vec3 vertexNorm; layout(location = 2) in vec2 vertexUV; uniform mat4 MVP; uniform mat4 M; out vec2 fragmentUV; out vec3 fragmentNormal; out vec3 fragmentPos; void main() …

2
ทำไมผู้เล่นสไปรต์ของฉันถึงเคลื่อนที่เร็วขึ้นเมื่อฉันเลื่อนเมาส์
ฉันพยายามพัฒนาเกมง่ายๆที่สร้างด้วย Pygame (Python library) ฉันมีspriteวัตถุที่เป็นplayerและฉันย้ายมันโดยใช้ปุ่มลูกศร ถ้าฉันไม่เลื่อนเม้าส์สไปรต์ก็จะเคลื่อนที่ตามปกติ แต่เมื่อฉันเลื่อนเมาส์สไปรต์จะเคลื่อนที่เร็วขึ้น (เช่น x2 หรือ x3) playerวัตถุอยู่ภายในcharsGroupvar ฉันใช้งานเกมใน W7 และใน Ubuntu สิ่งเดียวกันเกิดขึ้นในทั้งสองระบบปฏิบัติการ ฉันมีเอนทิตีมากกว่าที่เคลื่อนไหวเหมือน NPC และกระสุน แต่พวกมันไม่ได้รับผลกระทบเพียงแค่ผู้เล่น ด้วยสิ่งนี้ฉันคิดว่าปัญหาอาจมีการเชื่อมต่อโดยตรงกับระบบการเคลื่อนที่ของผู้เล่น (ปุ่มลูกศร) นี่คือupdate()วิธีการของplayerวัตถุ: def update(self): for event in pygame.event.get(): key = pygame.key.get_pressed() mouseX, mouseY = pygame.mouse.get_pos() if event.type == pygame.MOUSEBUTTONDOWN: self.bulletsGroup.add(Bullet(pygame.image.load("bullet.png"), self.rect.x + (self.image.get_width()/2), self.rect.y + (self.image.get_height()/2), mouseX, mouseY, …

2
"นูน" ในบริบทของการออกแบบเกมคืออะไร?
ฉันเคยได้ยินนักออกแบบเกมที่พูดถึงสิ่งที่เรียกว่านูนในเกม สิ่งนี้ดูเหมือนจะเป็นแนวคิดเฉพาะการออกแบบเกมที่แตกต่างจาก (แม้ว่าอาจเกี่ยวข้องกับ) ในเรขาคณิตหรือทฤษฎีเกม น่าเสียดายที่มีแหล่งข้อมูลน้อยมากที่กล่าวถึงออนไลน์ จากสิ่งที่ฉันสามารถรวบรวมได้มันมีบางอย่างเกี่ยวกับตัวเลือกของผู้เล่น แล้วนูนคืออะไร มันแสดงให้เห็นในเกมอย่างไร? ตัวอย่างของมันคืออะไรหรือขาดมัน? มันเป็นสิ่งที่ดีสิ่งที่ไม่ดีหรือถ้ามันขึ้นอยู่กับว่ามันจะดีเมื่อใดมันจะไม่ดีหรือไม่?

1
`return return เท็จมีความหมายพิเศษใน Unity3d C # script หรือไม่
ใน Unity เรามีสิ่งพิเศษสำหรับ coroutines ที่เพิ่มเติมจาก C # ปกติ ตัวอย่างเช่นเราสามารถใช้ yield return WaitForSeconds(5.f); เพื่อให้ coroutine รอ 5 วินาทีก่อนดำเนินการต่อ ทำอะไรyield return false;และyield return true;ทำอย่างไร
17 c#  unity 

4
Unity new UI - เปลี่ยนฟังก์ชันที่เรียกใช้โดยองค์ประกอบ GUI แบบไดนามิก
มองการเปลี่ยนแปลงแบบไดนามิกค่าในปุ่ม OnClick และเลื่อนกับค่าเปลี่ยน ถ้าฉันต้องเดาว่าสิ่งนี้ทำได้อย่างไรให้อ้างอิงถึงองค์ประกอบของปุ่ม / gui ถัดไปรับองค์ประกอบสคริปต์ปุ่มและเข้าถึงรายการการเรียกใช้ฟังก์ชันนั้น อย่างไรก็ตามฉันไม่แน่ใจว่าจะแก้ไขรายการนั้นอย่างไร ใครมีความคิดเห็นบ้าง รายละเอียดเพิ่มเติมที่อาจช่วย: ฟังก์ชั่นที่ถูกเรียกนั้นอยู่นอกเหนือจากองค์ประกอบของสคริปต์ การใช้ตัวเลือกตัวแปร 'ไดนามิก' สำหรับตัวเลื่อน สามารถใช้เพื่อสร้างปุ่มแบบไดนามิก
17 c#  unity  gui 

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