การพัฒนาเกม

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

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

9
สภาพแวดล้อม“ 2.5D” คืออะไร?
ฉันไม่เข้าใจความหมายของคำว่า "2.5D" ฉันสับสนโดยเฉพาะเกี่ยวกับความแตกต่างระหว่างสภาพแวดล้อม 2.5D และ 3D แม้ว่าฉันจะอ่านคำจำกัดความและบทความต่าง ๆ เกี่ยวกับทั้งสอง ฉันเข้าใจส่วนต่าง ๆ ที่ 2.5D เหมือน 3D แต่ฉันไม่เข้าใจส่วนที่ 2.5D นั้นแตกต่างกัน ดังนั้นเกมสำหรับ 2.5D หมายความว่าอย่างไร ตัวอย่างเช่นเกมแสดงที่นี่ 2.5D หรือไม่
31 2.5d  terminology 

5
ฉันจะใช้คุณสมบัติต่าง ๆ ในระบบเอนทิตีได้อย่างไร
หลังจากถามคำถามสองข้อเกี่ยวกับระบบเอนทิตี ( 1 , 2 ) และอ่านบทความเกี่ยวกับพวกเขาฉันคิดว่าฉันเข้าใจพวกเขาดีขึ้นกว่า แต่ก่อน ฉันยังมีความไม่แน่นอนอยู่บ้างส่วนใหญ่เกี่ยวกับการสร้างตัวส่งอนุภาคระบบอินพุตและกล้อง เห็นได้ชัดว่าฉันยังคงมีปัญหาในการทำความเข้าใจกับระบบเอนทิตีและพวกเขาอาจนำไปใช้กับวัตถุช่วงอื่น ๆ ทั้งหมด แต่ฉันเลือกสามข้อนี้เพราะมันเป็นแนวคิดที่แตกต่างกันมาก จัดการปัญหาเช่นนี้ด้วยตัวเองเมื่อพวกเขามา ฉันกำลังสร้างเอ็นจิ้นใน JavaScript และฉันได้นำคุณสมบัติหลักมาใช้ซึ่งรวมถึง: การจัดการอินพุต, ระบบภาพเคลื่อนไหวที่ยืดหยุ่น, ตัวส่งอนุภาค, คลาสคณิตศาสตร์และฟังก์ชั่น, การจัดการฉาก, กล้องและเรนเดอร์ ของสิ่งอื่น ๆ ที่เครื่องยนต์มักจะสนับสนุน ฉันอ่านคำตอบของ Byte56 ซึ่งทำให้ฉันสนใจที่จะทำให้เครื่องยนต์กลายเป็นระบบเอนทิตี มันจะยังคงเป็นเอ็นจิ้นเกม HTML5 ที่มีปรัชญาฉากพื้นฐาน แต่ควรสนับสนุนการสร้างเอนทิตีจากส่วนประกอบ ปัญหาที่ฉันมีตอนนี้คือปรับแนวคิดเครื่องยนต์เก่าของฉันให้เข้ากับกระบวนทัศน์การเขียนโปรแกรมใหม่นี้ นี่คือคำจำกัดความบางส่วนจากคำถามก่อนหน้านี้ที่อัปเดต: Entityเป็นตัวระบุ มันไม่มีข้อมูลใด ๆ ไม่ใช่วัตถุมันเป็นรหัสง่าย ๆ ที่แสดงดัชนีในรายการฉากของเอนทิตีทั้งหมด (ซึ่งจริง ๆ แล้วฉันวางแผนที่จะใช้เป็นเมทริกซ์คอมโพเนนต์) ตัวแทนเป็นผู้ถือข้อมูล แต่ด้วยวิธีการที่สามารถทำงานกับข้อมูลที่ ตัวอย่างที่ดีที่สุดคือองค์ประกอบVector2Dหรือ "ตำแหน่ง" มันมีข้อมูล: xและyแต่ยังมีบางส่วนวิธีการที่ทำให้การดำเนินงานเกี่ยวกับข้อมูลง่ายขึ้นเล็กน้อย: …

2
การทำความเข้าใจเสียงเพอร์ลิน
ฉันกำลังเล่นกับ Perlin Noise หลังจากทำงานกับ Diamond Square ฉันติดตามการใช้งานโดย Hugo Eliasซึ่งโดยทั่วไปสร้างชุดฟังก์ชันด้วย x, y เพื่อป้อนค่าแต่ละค่าพิกัด รหัส PHP ของฉันอยู่ที่นี่ : ฉันมีสองคำถาม: ฉันจะใช้อัลกอริทึมเพื่อสร้างแผนที่ความสูงในอาร์เรย์ได้อย่างไร ฉันไม่เข้าใจอย่างเต็มที่และเพิ่งส่งไปยัง PHP รหัสเทียม แต่ทำฟังก์ชั่นสุดท้าย (map_perlined) หลังจากอ่านที่ไหนสักแห่งว่าอัลกอริธึม "น่าอัศจรรย์" ให้ค่าการเปลี่ยนสำหรับแต่ละ x, y ชี้ให้ (ชัดโดยไม่ต้องอ่าน ค่าติดกัน) ฉันเพิ่งได้สิ่งนี้เมื่อใช้เป็นฟังก์ชั่นแบบสุ่มmt_rand(-100,100)/100; และสิ่งนี้เมื่อใช้การเข้ารหัสลับ: 1.0-(($n*($n*$n*15731+789221)+1376312589)&0x7fffffff)/1073741824.0;(อันไหน BTW สามารถดำเนินการ "ตามที่เป็น" ใน PHP?): ดังนั้นสรุปคำถามที่สาม: รหัสของฉันถูกต้องหรือไม่ ฟังก์ชั่นแบบสุ่มสามารถย้ายไปยัง PHP ตามที่อธิบายไว้ในรหัสได้หรือไม่ มันไม่มีข้อผิดพลาด แต่ผลลัพธ์ไม่ได้อยู่ที่นั่น ฉันจะใช้อัลกอริทึมจริงได้อย่างไร UPDATE ตกลงทำพอร์ต PHP …
31 algorithm  php 

3
อะไรคือความแตกต่างระหว่างไลบรารี่กับเอ็นจิ้น?
ฉันทำงานในห้องสมุดเพื่อช่วยพัฒนาเกม 2D ด้วย Scala จนถึงตอนนี้มันเป็นชุดของคลาสที่มีประโยชน์การโหลดไฟล์การตรวจจับการชนภาพรูปภาพสไปรต์ ฯลฯ ดังนั้นเมื่อไหร่ที่จะหยุดการเป็นห้องสมุดเรียนและเริ่มเป็นเครื่องมือ? ความแตกต่างระหว่างเฟรมเวิร์กที่มีประโยชน์และเอ็นจิ้นเกมอยู่ตรงไหน?

4
โปรแกรมเมอร์สามารถเรียนรู้การวาดเนื้อหา 2D ได้อย่างไร [ปิด]
มีแบบฝึกหัดที่ดีสำหรับผู้ที่ต้องการสร้างเนื้อหาเกมกราฟิก 2 มิติหรือไม่? การวาดชั้นเรียนสำหรับผู้เริ่มต้นอย่างสมบูรณ์โดยเฉพาะอย่างยิ่งทักษะการสอนที่มีความเกี่ยวข้องกับเกมมากที่สุด - การวาดตัวละครไปด้านข้าง / จากบนลงล่าง, มีมิติเท่ากัน, พื้นผิวการวาดภาพและอื่น ๆ
31 2d  graphics  art 

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

7
มีโครงการโอเพ่นซอร์สสำหรับการจำลองเสียงเครื่องยนต์รถหรือไม่? [ปิด]
ฉันคิดว่าจะสร้างเสียงที่สมจริงสำหรับรถยนต์ได้อย่างไร เสียงหลักคือเครื่องยนต์จากนั้นเสียงลมถนนและเสียงช่วงล่างทุกอย่าง มีโครงการโอเพ่นซอร์สสำหรับการจำลองเสียงเครื่องยนต์หรือไม่? เพียงแค่ยกระดับตัวอย่างไม่ได้ฟังดูยอดเยี่ยมเกินไป อุดมคติคือสิ่งที่ทำให้ฉันเลือกประเภทของเครื่องยนต์ (เช่นอินไลน์ -4 vs v-8) เพิ่มความพิเศษอย่างเทอร์โบ / ซุปเปอร์ชาร์จเจอร์สะอื้นและในที่สุดก็ตั้งค่าโหลดและรอบต่อนาที แก้ไข: บางอย่างเช่นhttp://www.sonory.org/examples.html

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

4
อะไรคือแนวทางที่ถูกต้องในการออกแบบคลาสในการพัฒนาเกม?
ฉันกำลังอยู่ระหว่างการพัฒนาเกม 2D sprite สำหรับ Windows 7 Phone โดยใช้ XNA การฝึกอบรมและแบบฝึกหัดที่มีให้นั้นค่อนข้างมีประโยชน์ แต่ปัญหาที่ฉันเผชิญคือแต่ละคนเข้าใกล้การออกแบบชั้นเรียนของพวกเขาแตกต่างกันและรหัสไม่ได้รับการพิจารณาเป็นพิเศษ ผลที่ตามมามันเป็นเรื่องยากสำหรับฉันที่จะได้รับความเข้าใจที่ดีเกี่ยวกับความรับผิดชอบที่ฉันควรให้กับชั้นเรียนเฉพาะ ตัวอย่างเช่นฉันอาจมีคลาสสไปรต์พื้นฐานBaseSpriteที่รู้วิธีวาดตัวเองตรวจสอบการชน ฯลฯ จากนั้นฉันสามารถมีAnimatedSpriteคลาสที่รู้วิธีนำทางแผ่นสไปรต์ของExplodingSpriteคลาสและอื่น ๆ เทคนิคนี้จะแสดงให้เห็นในตัวอย่าง Space Invaders ใน Windows 7 โทรศัพท์ Jumpstart ช่วงที่ 2วัสดุ อีกทางหนึ่งฉันสามารถวางการแสดงจำนวนมากและเรียกใช้ความรับผิดชอบของเกมในGameScreenชั้นเรียน คลาสนั้นและคลาสที่ได้รับนั้นมีลักษณะคล้ายกับฟอร์มหรือเว็บเพจมากขึ้นในแง่ของความรับผิดชอบ สไปรต์คลาสเป็นคอนเทนเนอร์แบบธรรมดาที่มีตรรกะน้อยกว่ามาก นี่เป็นเทคนิคที่ใช้ในเกม Alien Sprite ของWindows 7 Phone Training Kitและตัวอย่างผู้จัดการเกมอื่น ๆ อะไรคือแนวทางที่ถูกต้องในการออกแบบคลาสในการพัฒนาเกม?
31 xna 

12
ฉันจะทำให้ A * เสร็จเร็วขึ้นได้อย่างไรเมื่อปลายทางไม่สามารถใช้ได้
I am making a simple tile-based 2D game, which uses the A* ("A star") pathfinding algorithm. I've got all working right, but I have a performance problem with the search. Simply put, when I click an impassable tile, the algorithm apparently goes through the entire map to find a route …

6
เกมที่ไม่ได้ใช้งานจัดการกับจำนวนที่มากเช่นนี้ได้อย่างไร
แค่สงสัยว่าเกมเช่น Tap titans และ Cookie Clicker จัดการกับจำนวนที่มากขนาดนี้ได้อย่างไร ฉันกำลังพยายามใช้งานเกมที่ไม่ได้ใช้งาน แต่รูปแบบตัวเลขที่ใหญ่ที่สุดที่รองรับโดย C # คือทศนิยม ฉันต้องการสนับสนุนมากถึง 10 ^ 500; ที่จะต้องมีจุดลอย ฉันจะจัดการสิ่งนี้ได้อย่างไร PS จะต้องเป็นแพลตฟอร์มข้ามเช่นพีซี, Mac, iOS, Android และเข้ากันได้กับ Unity

4
จุดสุดยอดสีคืออะไร?
คำถามของฉันคือสิ่งที่เขียนในชื่อ คำว่า "สีจุดสุดยอด" นี้ปรากฏขึ้นมากมาย ฉันมีเวลายากที่จะเข้าใจสิ่งนี้ ตัวอย่างเช่น: จุดยอดง่ายของอวกาศ 3 มิติไม่ใช่หรือ? ถ้าเป็นเช่นนั้นจุดจะมีสีได้อย่างไร? หรือ "สี" นี้หมายความว่าอย่างอื่น? มีโหนด "Vertex Color" ในตัวแก้ไขวัสดุของเครื่องมือที่ไม่เป็นจริง มีใครบางคนให้ความกระจ่างในคำถามของฉัน ฉันไม่พบสิ่งที่มีประโยชน์เมื่อฉันค้นหา "สีอะไรคือจุดสุดยอด" แต่เอกสารที่เป็นเทคนิคเกินไปสำหรับฉัน

2
วิธีที่ดีในการสร้างลูปเกมใน OpenGL
ขณะนี้ฉันเริ่มเรียน OpenGL ที่โรงเรียนและฉันเริ่มทำเกมง่ายๆเมื่อวันก่อน (ด้วยตัวเองไม่ใช่เพื่อโรงเรียน) ฉันใช้ freeglut และสร้างมันใน C ดังนั้นสำหรับวงเกมของฉันฉันเพิ่งใช้ฟังก์ชั่นที่ฉันส่งผ่านglutIdleFuncเพื่ออัปเดตรูปวาดและฟิสิกส์ทั้งหมดในรอบเดียว นี่เป็นสิ่งที่ดีสำหรับแอนิเมชั่นธรรมดา ๆ ที่ฉันไม่ได้สนใจมากเกินไปเกี่ยวกับอัตราเฟรม แต่เนื่องจากเกมส่วนใหญ่เป็นพื้นฐานของฟิสิกส์ฉันต้องการ (ต้อง) ผูกมัดว่ามันอัพเดตเร็วแค่ไหน ดังนั้นความพยายามครั้งแรกของฉันคือการให้ฟังก์ชั่นของฉันฉันส่งไปที่glutIdleFunc( myIdle()) เพื่อติดตามเวลาที่ผ่านไปนับตั้งแต่การโทรครั้งก่อนและอัปเดตฟิสิกส์ (และกราฟิกปัจจุบัน) ทุกมิลลิวินาที ฉันเคยtimeGetTime()ทำสิ่งนี้ (โดยใช้<windows.h>) และนี่ทำให้ฉันคิดว่าการใช้ฟังก์ชั่นว่างเป็นวิธีที่ดีในการวนรอบเกมหรือไม่? คำถามของฉันคือวิธีที่ดีกว่าในการใช้ลูปเกมใน OpenGL คืออะไร ฉันควรหลีกเลี่ยงการใช้ฟังก์ชันว่างหรือไม่
31 opengl  c  game-loop 

4
พื้นผิว 3 มิติคืออะไร
Google ล้มเหลวฉันไม่พบข้อมูลใด ๆ เลย ดังนั้น GameDev อาจจะสามารถ :) พื้นผิว 3 มิติคืออะไร พวกเขาจะใช้เมื่อใด ต้นทุนประสิทธิภาพหรือไม่ พวกเขาเก็บไว้อย่างไร? ฉันมีความคิดที่คลุมเครือมากมาย แต่ไม่มีคำจำกัดความ 'ชัดเจน' การอ้างอิงถึงตัวอย่างหรือแบบฝึกหัดใด ๆ โดยเฉพาะอย่างยิ่งในการแสดงผลระบบอนุภาคผ่านพื้นผิว 3 มิติ
31 3d  textures 

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