การพัฒนาเกม

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

4
การจำลองทางเศรษฐกิจระหว่างดวงดาว
ฉันกำลังออกแบบเกมที่ชวนให้นึกถึง Elite หรือ Escape Velocity เกมซื้อขายพื้นที่เก่าแก่ที่คุณเล่นพ่อค้าเดินทางในอวกาศ ฉันต้องการเศรษฐกิจของเกมอย่างน้อยก็คล้ายกับของจริง มีทรัพยากรใดบ้างที่ฉันสามารถดูเพื่อทำความเข้าใจกับอัลกอริทึมที่ฉันต้องใช้เพื่อจำลองสถานการณ์ สิ่งกีดขวางที่สำคัญอย่างหนึ่งคือฉันน่ากลัวคณิตศาสตร์ ดังนั้นคำอธิบายแบบง่ายจะเหมาะ ฉันคิดว่าเศรษฐกิจระหว่างดวงดาวจะไม่แตกต่างจากโลกที่เป็นอยู่ บางสิ่งสามารถผลิตได้ในบางสถานที่เท่านั้น (เนื่องจากทรัพยากรและระดับเทคโนโลยี) การจัดส่งสินค้าต้องใช้เวลาและเงินผู้คนในสถานที่ต่าง ๆ ต้องการสิ่งต่าง ๆ ... แทนที่จะเป็นเมืองพวกเขาจะเป็นดาวเคราะห์ การค้นหาโดย Google ของ "อัลกอริธึมการจำลองเชิงเศรษฐศาสตร์" และคำศัพท์ที่คล้ายกันนั้นกลับกลายเป็นการใช้งานน้อยมากและไม่มีอะไรที่ฉันจะเข้าใจได้เลย ใครรู้แหล่งข้อมูลที่เป็นประโยชน์ที่ฉันสามารถดูได้?

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

2
เครื่องปั่น - อบแผนที่ปกติ - สีแปลก ๆ
ฉันมีตาข่ายกลองโลหะและเมื่อฉันอบแผนที่ปกติฉันได้สีแปลก ๆ (ดูรูปที่แนบมา) ฉันกำลังพูดถึงการเลื่อนสีในแนวนอน บนตาข่ายของฉันไม่มีการเปลี่ยนรูปแบบทำไมสีจึงเป็นเช่นนั้น ฉันได้ลองใช้ช่องว่างต่าง ๆ (กล้องโลก ฯลฯ ) แต่มันก็ยังไม่ดี นอกจากนี้พื้นที่แทนเจนต์จะส่งคืนสีน้ำเงินทุกบล็อกด้วย มีคนช่วยบอกวิธีทำแผนที่ปกติที่ดีออกจากตาข่ายของฉันได้ไหม === อัปเดต แก้ไขแล้วขอบคุณมาก Luke B. ยังคงมีคำถามเกี่ยวกับการปรับขนาดหนึ่งในสองเวอร์ชันที่เหลื่อมกันเล็กน้อย (ตัวอย่างความละเอียดต่ำ) เพื่อให้ได้ผลลัพธ์ที่ดีจริงๆ แต่นั่นเป็นวิธีที่ควรทำ === อัพเดท 2 หลังจากทำตามคำแนะนำของลุคบีต่อไปฉันได้ใช้ตัวแก้ไขแบบหลายค่าบนตาข่ายความละเอียดต่ำของฉันและอบจากที่นั่น มันดูดีขึ้นกว่าก่อนหน้านี้การสร้างสีให้น้อยที่สุดด้วยการแก้ไขบางอย่างใน GIMP มันใช้งานได้ค่อนข้าง:

4
มีเอ็นจิ้นเกมใด ๆ ที่ใช้ภาษาการเขียนโปรแกรมที่ใช้งานได้หรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา มีเอ็นจิ้นเกมใด ๆ ที่ใช้ภาษาการเขียนโปรแกรมที่ใช้งานได้คล้ายกับ Scheme, Common Lisp, Clojure หรือ JavaScript หรือไม่? ฉันได้ลอง Unity3D แล้ว "JavaScript" ของพวกเขาไม่ใช่ JavaScript จริง ๆ แล้วพิมพ์ออกมาอย่างรุนแรงและไม่สามารถใช้งานได้
10 functional 

2
ภาษาที่ใช้งานได้ดีเพียงใดใน Android
นี่เป็นกรณีพิเศษของคำถามนี้ที่ฉันรู้สึกว่าเกี่ยวข้องโดยเฉพาะ ฉันกำลังเล่นเกมสำหรับ Android และฉันวางแผนที่จะใช้ Scala กับ libgdx ฉันวางแผนที่จะสร้างเกมนักแสดง แต่ไม่จำเป็นว่าจะต้องเป็นเกมที่มีประสิทธิภาพมากเกินไป ฉันเห็นเอกสารของ libgdx เกี่ยวกับ Garbage Collectionและสิ่งนี้ทำให้ฉันคิดว่า: ฟังก์ชั่นการเขียนโปรแกรมหมายถึงวัตถุที่ไม่เปลี่ยนรูปจำนวนมาก ดังนั้นการกลายพันธุ์วัตถุต้องสร้างวัตถุใหม่ ดังนั้นวัตถุจำนวนมากได้รับการรวบรวมขยะซึ่งทำให้ประสิทธิภาพลดลง นี่เป็นปัญหาที่ผ่านไม่ได้หรือไม่ มีปัญหาที่สำคัญอื่น ๆ เกี่ยวกับสไตล์การใช้งานบน Android หรือไม่?
10 java  android  libgdx 

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

4
มีไลบรารีเสียงสำหรับ C เพื่อสร้างตัวอย่างเสียงจากรหัสหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังทำงานกับเอ็นจิ้นสำหรับเกมสไตล์ย้อนยุคในซีฉันกำลังมองหาคลังเสียงที่จะผลิตเสียงชิปจากรหัส ... ฉันต้องการสร้างแทร็คเสียงติดตามชิปของตัวเองสำหรับเครื่องยนต์เพื่อสร้างเพลง สิ่งนั้นมีอยู่จริงหรือไม่? ฉันยังสนใจห้องสมุดที่จะใช้ไฟล์. nsf ในโครงการของฉัน ฉันใช้ Linux เพื่อการพัฒนา
10 c  sound  music  linux 

1
คำนวณส่วนหัวของจักรยานจากล้อหน้าและความเร็ว
ฉันมีเกมจักรยานบนล่างที่เรียบง่ายที่ฉันพยายามเพิ่มการควบคุม ฉันต้องการทราบวิธีการใช้ส่วนหัวของล้อหน้าเพื่อกำหนดหัวเรื่องและความเร็วของจักรยาน void Update () { //Get input from user Vertical: 0 to 1, Horizontal -1 to 1 float forwardInput = Input.GetAxis("Vertical"); float sidewaysInput = Input.GetAxis("Horizontal") * m_steeringAmount; // Turn front wheel m_frontWheelTransform.localEulerAngles = new Vector3(0, sidewaysInput, 90); // get speed and drag float speed = m_velocity.magnitude; Vector3 forwardDrag = …
10 physics  car 

1
C # / XNA รับตำแหน่งเมาส์ของฮาร์ดแวร์
ฉันใช้ C # และพยายามรับตำแหน่งเมาส์ฮาร์ดแวร์ สิ่งแรกที่ฉันลองคือฟังก์ชั่น XNA ง่าย ๆ ที่ใช้งานง่าย Vector2 position = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); หลังจากนั้นฉันก็ทำการวาดเมาส์เช่นกันและเปรียบเทียบกับเมาส์ฮาร์ดแวร์ของ windows แล้วเมาส์ใหม่ที่มีพิกัด xna ที่ระบุนี้คือ "หยุดหย่อน" โดยที่ฉันหมายความว่ามันอยู่เบื้องหลังโดยไม่กี่เฟรม ตัวอย่างเช่นหากเกมทำงานที่ 600 fps คำสาปมันจะตอบสนอง แต่ที่ความล่าช้าของเมาส์ซอฟต์แวร์ 60 fps ไม่เป็นที่ยอมรับอีกต่อไป ดังนั้นฉันจึงลองใช้สิ่งที่ฉันคิดว่าเป็นเมาส์ฮาร์ดแวร์ [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool GetCursorPos(out POINT lpPoint); แต่ผลลัพธ์ก็เหมือนกันทุกประการ ฉันยังลองรับเคอร์เซอร์ของ Windows และนั่นก็เป็นจุดสิ้นสุดเช่นกัน - ใช้งานได้ แต่มีความล่าช้าเท่าเดิม ล้อเล่นกับฟังก์ชัน xna: …

1
OpenGL ES สร้างเอฟเฟกต์ stencil โดยใช้พื้นผิว
สิ่งแวดล้อม นี่คือสภาพแวดล้อมที่ฉันกำลังทำงานอยู่: OpenGL ES 2.0 iPhone Simulator และ iPhone 4 iMac 27 "โดยใช้ NVIDIA GeForce GTX 680MX 2048 MB หวังว่าจะช่วย ปัญหา เคยค้นหาสูงและต่ำจากหลายแหล่งและหลายไซต์รวมถึง Stackoverflow แต่ยังไม่มีเอฟเฟกต์ stencil ที่ใช้งานได้ สิ่งที่ฉันมีคือ: สิ่งที่สีดำไม่ใช่รูปหลายเหลี่ยมแต่พื้นผิวถูกวาดลงบนสี่เหลี่ยมรูปสี่เหลี่ยมที่มีความกว้างและความสูงเท่ากับภาพพื้นหลัง ฉันกำลังพยายามทำเอฟเฟกต์ stencil ที่พื้นหลังและผู้ชายสีเหลืองตัวเล็ก ๆ ควรมองเห็นได้ถ้ามันอยู่ในพื้นผิวของสีดำ ในส่วนของฉันฉันมีสิ่งนี้: varying lowp vec4 destinationColor; varying lowp vec2 TexCoordOut; uniform sampler2D Texture; uniform highp float TexScale; void …

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

3
แสดงช่วงบนตารางหกเหลี่ยม
นี่คือสถานการณ์ ฉันมีกระดานหกเหลี่ยมและหน่วยบนมันมีค่าความเร็วหรือการเคลื่อนย้าย 4.Diffrent ภูมิประเทศมีค่าใช้จ่ายที่แตกต่างกันเมื่อฉันคลิกที่หน่วยเกมจะแสดงช่วงการเคลื่อนที่ ทางออกของฉันคือการตรวจสอบแต่ละ hex ในช่วง 4 กับ A * pathfinding และถ้าค่าพา ธ น้อยกว่า 4 แล้ว hex นี้อยู่ในช่วงเกมสุดท้ายแสดงให้ฉันเห็นช่วงของหน่วยนั้น คำถามของฉันคือ: มีวิธีอื่นในการค้นหาช่วงบนกริดฐานสิบหกหรือตารางกริดเพราะแม้ว่าฉันภูมิใจในสิ่งที่ฉันทำในโซลูชันของฉันฉันคิดว่ามันเป็นเรื่องเล็กน้อยเกินจริงหรือไม่ :)) อะไรทำให้ฉันถามคำถามนี้ฉันสังเกตเห็นว่าเมื่อความเร็วหน่วยเป็น 4 หรือ 6 หรือแม้กระทั่ง 8 ช่วงเวลาในการคำนวณสำหรับคอมพิวเตอร์ของฉันนั้นดีมาก แต่เมื่อความเร็วเท่ากับ 10 ขึ้นไปฉันสังเกตว่าฉันต้องรอสองสามวินาทีในการคำนวณ . ดีในเกมจริงฉันไม่เห็นอะไรเช่นนี้และการหาเส้นทาง A * ของฉันนั้นได้รับการปรับให้เหมาะสมดังนั้นฉันคิดว่าโซลูชันของฉันผิด ขอบคุณสำหรับคำตอบใด ๆ

2
ฉันจะแสดงภูมิประเทศในมุมมอง 2.5D ได้อย่างไรเช่นในเกม Don't Starve
ผมมีประสบการณ์ในการทำ 2D เกม scroller ด้านเช่น Terraria แต่ตอนนี้ฉันต้องการที่จะท้าทายตัวเองและทำให้เกมที่มีเป็นมุมมอง 2.5D เกมที่ฉันพยายามเลียนแบบคือ Don't Starve ตอนนี้โฟกัสของฉันอยู่ที่การหาวิธีทำให้พื้นดิน ฉันมีเวลายากลำบากในการหาวิธีที่พวกเขาสร้างพื้นดินและจากนั้นแสดงผล วิธีที่ฉันคิดว่าพวกเขาทำให้พื้นดินเกิดจากการทาสีพื้นในโปรแกรมระบายสีก่อนแล้วจึงจัดการภาพแบนนั้นเพื่อให้มีความลึก ฉันสับสนอย่างสมบูรณ์ว่าคุณจะทำให้ภูมิประเทศนั้นเป็นอย่างไร ฉันต้องการให้ภูมิประเทศมีคุณสมบัติดังต่อไปนี้: ดูภูมิประเทศใน Don't Starve นี่คือวิดีโอแสดงภูมิประเทศใน Don't Starve ภูมิประเทศจะเรียบและมุมและมุมมองของกล้องจะได้รับการแก้ไข คำแนะนำและคำแนะนำใด ๆ จะได้รับการชื่นชมขอบคุณล่วงหน้า (ฉันทำงานใน Java โดยใช้ Light Game Java Light Library (LWJGL))

3
อัลกอริทึมตรวจจับการชนกันของเฟสแคบ
การตรวจจับการชนมีสามขั้นตอน Broadphase : มันวนลูประหว่าง objec ทั้งหมดที่สามารถโต้ตอบบวกได้รับอนุญาตถ้ามันจะเร่งความเร็ววน Narrowphase : พิจารณาว่าพวกเขาชนกันและบางครั้งอย่างไรไม่มีผลบวกปลอม การแก้ไข : แก้ไขการชน คำถามที่ฉันถามเป็นเรื่องเกี่ยวกับเฟสแคบ มีอัลกอริธึมหลายอย่างแตกต่างกันในความซับซ้อนและความแม่นยำ Hitbox intersection : นี่เป็นอัลกอริทึม a-posteriori ที่มีความซับซ้อนต่ำที่สุด แต่ก็ไม่แม่นยำเกินไป จุดตัดสี : จุดตัด Hitbox สำหรับแต่ละพิกเซล, a-posteriori, พิกเซลสมบูรณ์แบบ, ไม่แม่นยำในเรื่องของเวลา, ความซับซ้อนสูงขึ้น การแยกทฤษฎีบทแกน : มันถูกใช้บ่อยกว่า, แม่นยำสำหรับรูปสามเหลี่ยมอย่างไรก็ตาม, a-posteriori, เนื่องจากมันหาขอบไม่ได้, เมื่อพิจารณากรอบสุดท้ายในบัญชี, มันมีเสถียรภาพมากขึ้น Linear raycasting : อัลกอริทึม A-Priori ซึ่งเป็นประโยชน์สำหรับฟิสิกส์กึ่งที่สมจริงมองหาจุดตัดที่แม่นยำยิ่งกว่า SAT แต่มีความซับซ้อนมากขึ้น การแก้ไขเส้นโค้ง: A-Priori, แม่นยำยิ่งขึ้นกว่ารังสีเชิงเส้น, coplexity …

2
เรือแล่นผ่านใต้สะพานใน RTS ที่อิงกับไทล์ 2 มิติ
ฉันกำลังเขียน RTS ที่อิงกับไทล์ และฉันต้องการเพิ่มฟีเจอร์ 'หลอก 3D' ลงไป - เชื่อมข้ามแม่น้ำ ฉันยังไม่ได้เริ่มการเข้ารหัสใด ๆ เพียงแค่พยายามคิดว่ามันเหมาะกับรูปแบบการตรวจจับการชนกันของข้อมูลอย่างไร เรือแล่นผ่านใต้สะพานและหน่วยเคลื่อนที่ข้ามสะพานในที่สุดจะครอบครองเซลล์เดียวกันบนแผนที่ วิธีการจัดลำดับพวกเขาจากการชน? มีวิธีการทั่วไปในการแก้ปัญหาดังกล่าวหรือไม่? หรือฉันต้องใช้โลก 3 มิติเพื่อทำสิ่งนี้?

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