การพัฒนาเกม

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

3
วิธีหลีกเลี่ยงการซ้อนความเร็วในการเคลื่อนไหวเมื่อกดปุ่มหลาย ๆ ปุ่ม?
ฉันได้เริ่มเกมใหม่ที่ไม่ต้องใช้เม้าส์ ฉันพยายามรวม 8 ทิศทาง; ขึ้น, ซ้าย, ขวา, ขึ้น - ขวาเป็นต้น อย่างไรก็ตามเมื่อฉันกดปุ่มลูกศรมากกว่าหนึ่งปุ่มความเร็วในการเคลื่อนที่จะซ้อนกัน ( http://gfycat.com/CircularBewitchedBarebirdbat ) ฉันจะต่อต้านสิ่งนี้ได้อย่างไร นี่คือส่วนที่เกี่ยวข้องของรหัสของฉัน: var speed : int = 5; function Update () { if (Input.GetKey(KeyCode.UpArrow)) { transform.Translate(Vector3.forward * speed * Time.deltaTime); } else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.RightArrow)) { transform.Translate(Vector3.forward * speed * Time.deltaTime); } else if (Input.GetKey(KeyCode.UpArrow) …

5
ฉันจะตรวจจับแหล่งน้ำ (แต่แตกต่างอย่างมีเหตุผล) ในแผนที่ 2 มิติได้อย่างไร
ฉันมีแผนที่กริดหกเหลี่ยมแบบ 2D แต่ละเซลล์ฐานสิบหกมีค่าความสูงที่ใช้ในการตรวจสอบว่าเป็นน้ำหรือมหาสมุทร ฉันพยายามคิดวิธีที่ดีในการกำหนดและปิดฉลากแหล่งน้ำ มหาสมุทรและทะเลในประเทศนั้นง่าย (โดยใช้อัลกอริธึมเติมน้ำท่วม) แต่สิ่งที่เกี่ยวกับแหล่งน้ำเช่นทะเลเมดิเตอร์เรเนียน ? แหล่งน้ำที่ติดอยู่กับที่มีขนาดใหญ่กว่า (ที่ "ทะเล" และ "อ่าว" แตกต่างกันไปตามขนาดของช่องเปิด)? นี่คือตัวอย่างของสิ่งที่ฉันพยายามตรวจจับ (เนื้อน้ำสีน้ำเงินที่อยู่ตรงกลางของรูปภาพซึ่งควรติดป้ายต่างจากร่างกายมหาสมุทรขนาดใหญ่ทางด้านซ้ายแม้ว่าจะมีการเชื่อมต่อทางเทคนิค): ความคิดใด ๆ

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

3
คุณจะวาดเส้นตรงระหว่างสองจุดในบิตแมปได้อย่างไร?
ฉันเล่นกับแผนที่ความสูง (บิตแมป) พยายามสร้างของตัวเองในเกมของฉันและเพื่อที่ฉันจะต้องใช้วิธีการวาดขั้นพื้นฐานบางอย่าง ฉันรู้ได้อย่างรวดเร็วว่าการวาดเส้นตรงนั้นไม่ง่ายอย่างที่คิด มันง่ายมากถ้าคะแนนของคุณแชร์พิกัด X หรือ Y หรือถ้าพวกมันอยู่ในแนวเดียวกันคุณก็สามารถวาดเส้นทแยงมุมได้ แต่ในกรณีอื่น ๆ ทั้งหมดมันมีเล่ห์เหลี่ยม คุณใช้อัลกอริทึมแบบใดในการพิจารณาว่าพิกเซลใดที่จำเป็นต้องมีสีเพื่อให้เป็นเส้น "ตรง"

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

1
เกณฑ์ปกติเทียบกับแผนที่ปกติ
ฉันใช้ผู้นำเข้าสินทรัพย์ Assimp ( http://assimp.sourceforge.net/lib_html/index.html ) เพื่อแยกวิเคราะห์โมเดล 3 มิติ จนถึงตอนนี้ฉันก็แค่ดึงเวกเตอร์ปกติที่กำหนดไว้สำหรับแต่ละจุดยอดในตาข่ายของฉัน แต่ฉันก็ได้พบบทเรียนมากมายในแผนที่ปกติ ... เมื่อฉันเข้าใจมันสำหรับแผนที่ปกติเวกเตอร์ปกติจะถูกเก็บไว้ในแต่ละเท็กเซลของแผนที่ปกติและคุณดึงสิ่งเหล่านี้ออกจากพื้นผิวปกติใน shader เหตุใดจึงมีสองวิธีในการรับบรรทัดฐานซึ่งเป็นวิธีปฏิบัติที่ดีที่สุดและทำไม

1
ddx (hlsl) ทำอะไรได้จริง?
ฉันสับสนเล็กน้อย เอกสารอย่างเป็นทางการ ( http://msdn.microsoft.com/en-us/library/windows/desktop/bb509588(v=vs.85).aspx ) กล่าวว่า ddx (อินพุต) เป็นอนุพันธ์ย่อยของอินพุตด้วยความเคารพ ถึง "การเว้นวรรค x หน้าจอพิกัด" แคลคูลัสของฉันใช้ได้ แต่มันจะบอกได้อย่างไรว่าอินพุทนั้นมาจากไหน? ถ้าฉันผ่านฟังก์ชั่นก็ดีฉันสามารถจินตนาการได้ว่ามันจะทำอะไร แต่อนุพันธ์ของตัวเลขนั้นจะเป็นศูนย์เสมอ ... ? มันเป็นเพียงการปรับขนาดหรือไม่? เช่นนี้จะถูกลดขนาดเป็นหนึ่งในสิบของขนาดระยะทางนี้ดังนั้นจะคืนหนึ่งในสิบหรือไม่ แต่ไม่จำเป็นต้องป้อนข้อมูล ... บางคนสามารถให้คำอธิบายอย่างรวดเร็วว่าเกิดอะไรขึ้นจริงหรือ
17 hlsl 

2
เปลี่ยนเพลงพื้นหลังได้อย่างราบรื่น
ตอนนี้ฉันมีห้าเสียงสำหรับเกมที่ฉันกำลังทำงานอยู่ ในเกมคุณสามารถต่อสู้กับอารยธรรมอื่น ๆ ในการต่อสู้ครั้งใหญ่ แต่คุณสามารถตั้งรกรากบนดาวเคราะห์อย่างสงบสุข เพลงบางเพลงมีความรุนแรงมากกว่าในขณะที่เพลงอื่น ๆ ค่อนข้างสงบ คำถามคือสิ่งที่เป็นแนวปฏิบัติที่ดีที่สุดสำหรับการเปลี่ยนแปลงระหว่างเพลง จะดีกว่าไหมถ้าฉันแค่มองว่า "มันสงบหรือไม่" เมื่อเพลงเก่าจบลงแล้วเล่นใหม่หรือฉันควรทำอย่างนั้นทุก ๆ เฟรมและเปลี่ยนเพลงทันที ทางเลือกแรกบางครั้งจะเล่นเพลงเงียบ ๆ ในการต่อสู้ (เพราะเพลงเริ่มก่อนการต่อสู้และยังไม่เสร็จ) และเพลงที่สองจะสลับระหว่างเพลงเร็วที่แตกต่างกันอย่างถูกต้องในช่วงเวลาที่ไม่ถูกต้องเพื่อให้ผู้เล่นได้ยินเสียง ดังนั้นฉันอยากรู้ว่าสิ่งที่เป็นธรรมชาติสำหรับผู้เล่นหรือมีความเป็นไปได้ที่แตกต่างออกไป PS: เพลงมีความยาวระหว่าง 300 และ 500 วินาที
17 music 

4
ฉันจะออกแบบการโจมตีประเภทต่าง ๆ จำนวนมากที่สามารถรวมกันได้อย่างไร
ฉันสร้างเกม 2D จากบนลงล่างและฉันต้องการที่จะมีประเภทการโจมตีที่แตกต่างกันมากมาย ฉันต้องการทำให้การโจมตีมีความยืดหยุ่นมากและรวมกันได้อย่างที่ The Binding of Isaac ทำงานได้ นี่คือรายชื่อของสะสมทั้งหมดในเกม ที่จะหาตัวอย่างที่ดีให้ดูที่ช้อนประมาทรายการ Spoon Bender ทำให้ไอแซคมีความสามารถในการยิงน้ำตากลับบ้าน หากคุณดูที่ส่วน "การทำงานร่วมกัน" คุณจะเห็นว่ามันสามารถใช้ร่วมกับของสะสมอื่น ๆ เพื่อเอฟเฟกต์ที่น่าสนใจ แต่ใช้งานง่าย ตัวอย่างเช่นถ้ามันรวมเข้ากับThe Inner Eyeมัน "จะทำให้ Isaac ยิงกระสุนกลับบ้านหลายนัดพร้อมกัน" มันสมเหตุสมผลแล้วเพราะ The Inner Eye ทำให้ Isaac ยิงได้สามครั้ง สถาปัตยกรรมที่ดีในการออกแบบสิ่งนี้คืออะไร นี่คือวิธีการแก้ปัญหากำลังดุร้าย: if not spoon bender and not the inner eye then ... if spoon bender and …

1
สูตรแสง GLSL (ลดทอนสีและความเข้ม)
ฉันกำลังติดตั้งไฟจุดในเครื่องมือ Voxel ของฉันและฉันพยายามอย่างหนักเพื่อให้ได้แสงที่ดีจาก 100% ใกล้กับแหล่งกำเนิดแสงถึง 0% ที่รัศมีแสง ฉันมี 5 ข้อโต้แย้งสำหรับฟังก์ชั่น: สีอ่อน (Vec3) ความเข้มของแสง (ระยะทางจากแสงจนถึงระยะทางที่จุดตกหล่น 100%) ระยะทางจากแสงถึงชิ้นส่วน มุมจากชิ้นส่วนปกติถึงแสง ตำแหน่งของแสง ทุกคนสามารถผลักฉันไปในทิศทางที่ถูกต้องเพื่อสร้างฟังก์ชั่นสำหรับการคำนวณสีชิ้นส่วนได้หรือไม่? ภาพหนึ่งในการทดลองของฉัน: แก้ไข (รหัสปัจจุบันที่ขอโดย Byte) โปรดทราบว่านี่เป็นเพียงรหัสการทดสอบจากฝั่งฉัน ฉันได้รับข้อมูลจากเว็บไซต์และมันใช้งานได้ แต่ไกลจากความสมบูรณ์แบบ : void main() { // Light color vec3 torchColor = vec3(1.0f, 1.0f, 1.0f); float lightAdd = 0.0f; for (int i=0; i<5; i++) { vec3 …
17 opengl  glsl  lwjgl  lighting  pixel 

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

7
การระดมทุนในเกมอินดี้ ฉันจะเสนออะไรกลับ
ฉันได้เห็นเกมอินดี้หลายเกมทำเงินเพื่อการพัฒนาโดยใช้เงินทุนสนับสนุนจากฝูงชน (Kickstarter, IndieGoGo และอื่น ๆ ) เกมบางเกมจะเสนอบางสิ่งบางอย่างกลับมา ตัวอย่างเช่นในเกม RPG คุณอาจได้รับอักขระ NPC ตามคุณ โครงการอื่น ๆ เพียงแค่ให้รุ่นสุดท้ายสำหรับคุณฟรี นอกเหนือจากการจบเกมจริง ๆ แล้วซึ่งอาจเป็นเหตุผลหลักว่าทำไมทุกคนต้องการให้เงินคุณกลยุทธ์การให้รางวัลของฉันควรเป็นอย่างไร?

2
ทำไมการคำนวณสีท้องฟ้าของฉันใน Mathematica ไม่ถูกต้อง
ฉันกำลังพยายามใช้อัลกอริทึมในการคำนวณสีของท้องฟ้าตามบทความนี้ (แบบจำลองของเปเรซ) ก่อนที่ฉันจะเริ่มโปรแกรม shader ฉันต้องการทดสอบแนวคิดใน Mathematica มีปัญหาบางอย่างที่ฉันไม่สามารถกำจัดได้ อาจมีบางคนใช้งานอัลกอริทึมไปแล้ว ฉันเริ่มต้นด้วยสมการสำหรับ luminances zenital แน่นอนYz, xzและyzตามที่เสนอในกระดาษ (หน้า 22) ค่าสำหรับYzดูเหมือนจะสมเหตุสมผล แผนภาพต่อไปนี้แสดงให้เห็นYzว่าเป็นฟังก์ชั่นของระยะทางของดวงอาทิตย์สำหรับความขุ่นT5: ฟังก์ชันแกมม่า (สุดยอด, azimuth, solarzenith, solarazimuth) คำนวณมุมระหว่างจุดที่มีระยะทางสูงสุดที่กำหนดและ azimuth และดวงอาทิตย์ที่ตำแหน่งที่กำหนด ฟังก์ชั่นนี้ใช้งานได้ดีเช่นกัน แสดงให้เห็นแผนภาพต่อไปนี้มุมนี้และsolarzenith=0.5 เติบโตจากบนลงล่าง (0 ถึง Pi / 2), เติบโตจากซ้ายไปขวา (-Pi ถึง Pi) คุณสามารถเห็นตำแหน่งของดวงอาทิตย์ได้อย่างชัดเจน (จุดสว่างมุมกลายเป็นศูนย์):solarazimuth=0zenithazimuth ฟังก์ชันเปเรซ (F) และสัมประสิทธิ์ได้รับการดำเนินการตามที่กำหนดไว้ในเอกสาร แล้วสีค่า yxy absolute value * F(z, gamma) / …
17 algorithm  sky 

7
C ++ จำเป็นต้องเรียนรู้หรือไม่หากฉันต้องการรับงานในอุตสาหกรรมเกม?
C ++ จำเป็นต้องเรียนรู้หรือไม่หากฉันต้องการรับงานในอุตสาหกรรมเกม? ฉันคุ้นเคยกับ C # มากและมีความเชี่ยวชาญขั้นพื้นฐานในการสร้างเกม 2D ใน XNA 4.0 ตอนนี้ฉันอายุเพียง 13 ปีและชอบทำเกมและหวังว่าสักวันฉันจะได้งานเขียนโปรแกรมเกม ฉันเคยได้ยินผู้คนมากมายพูดว่า C ++ เป็น 'มาตรฐานอุตสาหกรรม' และมันจะทำร้ายอาชีพของคุณโดยไม่รู้ตัว ฉันกำลังพยายามกำหนดเป้าหมายแพลตฟอร์มมากกว่าหน้าต่างและฉันรู้เรื่องMonogameแต่ด้วยเหตุผลบางอย่างฉันมีปัญหามากมายกับเทมเพลต visual studio และฉันพบข้อผิดพลาดมากมายกับ monogame เนื่องจากในทางเทคนิคฉันยังไม่สามารถหางานได้และอาจไม่สามารถเขียนโปรแกรมได้จนกระทั่งฉันอายุ 22 ปีหรือมากกว่านั้น และในช่วงระยะเวลา 9 ปีขึ้นไปอุตสาหกรรมเกมมีแนวโน้มที่จะเปลี่ยนไปมาก ดังนั้นนี่คือบางคำถาม การไม่เรียนรู้ C ++ จะทำให้โอกาสในการเขียนโปรแกรมของฉันแย่ลงหรือไม่? เมื่อถึงเวลาที่ฉันจะได้งาน C ++ จะยังคงเป็นภาษาการเขียนโปรแกรม 'มาตรฐานอุตสาหกรรม' ถ้าฉันเป็นนักพัฒนาอินดี้มันสำคัญไหมว่าฉันเรียนรู้ C ++ หรือไม่และยึดติดกับสิ่งที่ฉันรู้ ฉันควรเริ่มเรียนรู้ตอนนี้เพราะฉันมีเวลาหลายปีก่อนที่ฉันจะหางานได้หรือไม่? ฉันยังมีความกังวลด้วยถึงแม้ว่าฉันจะคุ้นเคยกับการเขียนโปรแกรมเชิงวัตถุ แต่ฉันอาจใช้เวลากับ C ++ …
17 xna  c++  game-industry  jobs 

6
คุณใช้ไดอะแกรมกับเกมจำลองหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันหมายถึง UML เป็นส่วนใหญ่ แต่วิธีการใดก็ได้ที่ใช้ได้จริง ดังนั้น - คุณทำแบบจำลองเกมของคุณด้วย UML / ไดอะแกรมอื่น ๆ หรือวิธีการต่าง ๆ หรือไม่? ฉันมีวิชาที่มหาวิทยาลัยของฉันเกี่ยวกับการสร้างแบบจำลองด้วย UML และดูเหมือนจะพยายามมากกว่าผลประโยชน์ที่เกิดขึ้นจริง แต่ฉันรู้ว่าอาจเป็นเพราะฉันไม่เคยสร้างระบบไอทีที่ซับซ้อนขนาดใหญ่ ดังนั้นมันจึงคุ้มค่าในขณะที่และไดอะแกรม / วิธีการประเภทใดมักจะเป็น * ที่ดีที่สุด? * แน่นอนว่าต้องเลือกใช้เครื่องมือคอนกรีตหลายครั้งเพื่อแก้ไขปัญหาที่เป็นรูปธรรม แต่อาจมีรูปแบบบางอย่าง แก้ไข:ฉันลืมสิ่งสำคัญ - คุณสร้างไดอะแกรมก่อนหรือหลังการนำสิ่งต่าง ๆ ไปใช้หรือไม่ สิ่งที่ฉันหมายถึงคือ - เมื่อมีการออกแบบและใช้งานสิ่งหนึ่งที่มักจะเปลี่ยนใจหรือสิ่งที่ไม่คาดคิดเกิดขึ้นและสิ่งหนึ่งที่ต้องทำการเปลี่ยนแปลงบางครั้งก็สำคัญ - และทำในไดอะแกรมที่ซับซ้อนอยู่แล้ว

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