การพัฒนาเกม

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


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

4
ฉันจะย้ายวัตถุในเส้นทาง“ ไม่มีที่สิ้นสุด” หรือ“ รูปที่ 8” ได้อย่างไร
เมื่อฉันต้องการย้ายวัตถุไปรอบ ๆ จุดฉันทำ: point.x *= cosf(timer.timeElapsed); point.y *= sinf(timer.timeElapsed); วิธีทำให้จุดเคลื่อนที่บนวิถีวิถีแปดหรืออนันต์

3
ฉันจะใช้ anti-aliasing ใน OpenGL ได้อย่างไร
ฉันต้องการทำ anti-aliasing แบบเต็มหน้าจอใน OpenGL และไม่ต้องการใช้ anti-aliasing ที่ OpenGL จัดทำขึ้นเองเนื่องจากฉันกำลังสร้างเกมและต้องการเอฟเฟกต์ดีๆ ฉันควรดำเนินการอย่างไร

4
มีอัลกอริทึมในการตรวจจับ "แผ่นดินใหญ่" บนแผนที่ 2D หรือไม่?
บนแผนที่นี้ "แผ่นดินใหญ่" เป็นดินแดนทั้งหมดที่สามารถเชื่อมต่อกับศูนย์กลางของแผนที่ในสี่ทิศทางที่สำคัญ (เหนือ, ใต้, ตะวันออก, ตะวันตก - ไม่ใช่แนวทแยงมุม) ฉันต้องการตรวจจับแผ่นดินใหญ่และเติมเต็มหลุมในนั้น ฉันคิดถึงสามสิ่ง: ค้นหาในทุกเซลล์ที่ไม่ใช่น้ำ (เซลล์มืด) หากสามารถเชื่อมต่อกับศูนย์กลางของแผนที่โดยใช้อัลกอริทึมการค้นหาเส้นทาง แพงเกินไป! แต่มันสามารถใช้ได้กับเกาะต่างๆ แผ่นดินใหญ่เต็มไปด้วยถังสีเขียว แต่ละหลุมล้อมรอบด้วยสี ... ตอนนี้อะไรนะ? หากฉันตรวจสอบทุก ๆ จุดน้ำในแผ่นดินใหญ่ฉันจะลบคาบสมุทรและคุณลักษณะทางภูมิศาสตร์อื่น ๆ ที่แสดงบนชายฝั่ง การตรวจจับขอบบางชนิดเพื่อค้นหาแผ่นดินใหญ่ เก็บสิ่งที่อยู่ข้างในเติมถ้ามันเป็นน้ำเอาสิ่งที่อยู่ข้างนอกออก คอมเพล็กซ์? บางทีผู้พัฒนาเกมที่มีประสบการณ์บางคนสามารถช่วยฉันได้ด้วยสิ่งนี้อาจให้ชื่อฉันกับอัลกอริทึมหรือเทคนิคที่รู้จักกันบ้าง?
28 algorithm  maps 

2
Tetris เป็นโดเมนสาธารณะหรือไม่ [ปิด]
แนวคิดสำหรับ Tetris เป็นสาธารณสมบัติหรือมีใครบางคนที่ยังคงเก็บค่าลิขสิทธิ์ในแนวคิด ฉันหมายความว่าถ้าฉันจะเขียนตัวแปรของ Tetris ฉันจะเป็นหนี้ใครสักคนไหม? ขอบคุณ
28 legal 

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

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

5
คำถามเกี่ยวกับสถาปัตยกรรม / การออกแบบเกม - การสร้างเอนจิ้นที่มีประสิทธิภาพขณะเดียวกันก็หลีกเลี่ยงอินสแตนซ์ระดับโลก (เกม C ++)
ฉันมีคำถามเกี่ยวกับสถาปัตยกรรมเกม: วิธีที่ดีที่สุดในการสื่อสารด้วยส่วนประกอบต่าง ๆ กันคืออะไร? ฉันขอโทษจริง ๆ ถ้าคำถามนี้ถูกถามไปแล้วนับล้านครั้ง แต่ฉันไม่สามารถหาข้อมูลใด ๆ ที่ฉันต้องการได้ ฉันพยายามสร้างเกมตั้งแต่เริ่มต้น (C ++ ถ้าเป็นเรื่องสำคัญ) และได้สังเกตซอฟต์แวร์เกมโอเพ่นซอร์สเพื่อเป็นแรงบันดาลใจ (Super Maryo Chronicles, OpenTTD และอื่น ๆ ) ฉันสังเกตเห็นว่าการออกแบบเกมเหล่านี้จำนวนมากใช้อินสแตนซ์ระดับโลกและ / หรือซิงเกิลตันทั่วสถานที่ (สำหรับสิ่งต่าง ๆ เช่นการเรนเดอร์คิวผู้จัดการเอนทิตีผู้จัดการวิดีโอและอื่น ๆ ) ฉันพยายามหลีกเลี่ยงอินสแตนซ์ระดับโลกและซิงเกิลตันและสร้างเครื่องยนต์ที่มีการเชื่อมโยงอย่างหลวม ๆ เท่าที่จะเป็นไปได้ แต่ฉันตีสิ่งกีดขวางบางอย่าง (ส่วนหนึ่งของแรงจูงใจสำหรับโครงการนี้คือการแก้ไขปัญหานี้ :)) ฉันได้สร้างการออกแบบที่มีGameCoreวัตถุหลักหนึ่งชิ้นที่มีสมาชิกที่คล้ายกับอินสแตนซ์ทั่วโลกที่ฉันเห็นในโครงการอื่น ๆ (เช่นมีตัวจัดการอินพุตผู้จัดการวิดีโอวิดีโอGameStageวัตถุที่ควบคุมเอนทิตีและการเล่นเกมทั้งหมด สำหรับขั้นตอนใดก็ตามที่โหลดอยู่ ฯลฯ ) ปัญหาคือเนื่องจากทุกอย่างรวมอยู่ในGameCoreวัตถุฉันไม่มีวิธีง่าย ๆ สำหรับส่วนประกอบต่าง ๆ ในการสื่อสารซึ่งกันและกัน ยกตัวอย่างเช่นเมื่อมองจาก Super Maryo …
28 c++  architecture 

5
วิธีสร้างแผนที่โลกหกเหลี่ยมใน PHP จากฐานข้อมูลสำหรับเกมกลยุทธ์ที่ใช้เบราว์เซอร์
ฉันพยายามสร้างแผนที่โลกแบบหกเหลี่ยมสำหรับเกมวางกลยุทธ์บนเบราว์เซอร์ PHP ของฉัน ฉันสร้างตารางในฐานข้อมูลของฉันด้วยข้อมูลต่อแถว: id, type, x, y และครอบครอง โดยที่ type เป็นชนิดของไพ่ที่กำหนดไว้ในตัวเลข ตัวอย่างเช่น 1 คือหญ้า แผนที่มีขนาด 25 x 25 ฉันต้องการวาดแผนที่จากฐานข้อมูลด้วยไทล์ที่สามารถคลิกได้และความเป็นไปได้ในการนำทางแผนที่ด้วยลูกศร ฉันไม่รู้จริง ๆ เกี่ยวกับวิธีการเริ่มต้นด้วยสิ่งนี้และความช่วยเหลือใด ๆ จะได้รับการชื่นชม

4
การเขียนโปรแกรมกิจกรรมเรื่องราวของเกม
ฉันได้พัฒนาโปรแกรมเกมใน c / c ++ และ DirectX ฉันมีเอนจินแบบเรียงต่อกันสำหรับแผนที่ผู้เล่นแบบเคลื่อนไหว / สไปรต์ NPC พูดคุยกับ npc เมนูและการเปลี่ยนระดับ แต่ไม่มีเกมมันแค่รู้สึกว่างเปล่า ฉันได้ดูรอบ ๆ และได้ยินคำตอบ buzzword แต่ฉันต้องการทราบวิธีการใช้เรื่องราวในเกมของฉัน บางคนได้กล่าวว่าไฟล์บันทึกที่มีธงกำกับดูแลทุกการกระทำ / สถานะที่เป็นไปได้ที่มีอยู่ในเกม แต่ฟังดูน่าหัวเราะ มันค่อนข้างทะเยอทะยานเล็กน้อย แต่ฉันตั้งเป้าที่จะเล่นเกมอย่าง Pokemon / Final Fantasy ที่เก่ากว่า มีใครรู้หรือไม่ว่าเกมเหล่านี้ทำงานอย่างไรหรือใช้ทฤษฎีอย่างไร ฉันกำลังมองหาอยู่พักหนึ่งและจะซาบซึ้งกับทุกคนที่เข้ามา
28 c++  directx 

2
เกม Android ควรใช้เธรดกี่เธรด
อย่างน้อยที่สุดเกม OpenGL Android มีด้าย UI และด้าย Renderer GLSurfaceViewที่สร้างขึ้นโดย Renderer.onDrawFrame()ควรทำงานขั้นต่ำเพื่อรับ FPS ที่ยิ่งใหญ่ที่สุด ฟิสิกส์, AI, ฯลฯ ไม่จำเป็นต้องวิ่งทุกเฟรมดังนั้นเราสามารถใส่มันเข้าไปในเธรดอื่นได้ ตอนนี้เรามี: เธรด Renderer - อัปเดตแอนิเมชันและวาดโพลี เธรดเกม - อัปเดตลอจิกและฟิสิกส์, AI, ฯลฯ เธรด UI - การโต้ตอบกับ Android UI เท่านั้น เนื่องจากคุณไม่ต้องการบล็อกเธรด UI เลยฉันจึงรันอีกหนึ่งเธรดสำหรับตรรกะของเกม บางทีนั่นอาจไม่จำเป็นเลย มีเหตุผลในการรันตรรกะของเกมในเธรด renderer หรือไม่?

6
ข้อดีและข้อเสียของการใช้โปรแกรมเกมคืออะไร [ปิด]
ฉันจะรู้ได้อย่างไรว่าจะใช้เอ็นจิ้นเกมหรือไม่ ฉันต้องการสร้างเกม 2D ที่ค่อนข้างซับซ้อนสำหรับ Android ปัจจัยใดที่ฉันควรชั่งน้ำหนักในการตัดสินใจว่าจะค้นหาติดตั้งและเรียนรู้กลไกเกมหรือเพียงแค่ทำทุกอย่างด้วยตนเอง

15
เครื่องมือโอเพนซอร์ซที่น่าสนใจ / เป็นนวัตกรรมใหม่สำหรับเกมอินดี้ [ปิด]
เพิ่งอยากรู้อยากเห็นฉันต้องการทราบเครื่องมือโอเพ่นซอร์สหรือโครงการที่สามารถเพิ่มคุณสมบัติที่น่าสนใจบางอย่างให้กับเกมอินดี้โดยเฉพาะอย่างยิ่งสิ่งที่สามารถพบได้ในเกมที่มีงบประมาณมาก แก้ไข:ตามที่แนะนำโดย The Communist Duck และ Joe Wreschnig ฉันจะยกตัวอย่างเป็นคำตอบ แก้ไข 2:โปรดอย่าโพสต์เครื่องมือเช่น PyGame, Inkscape, Gimp, Audacity, Slick2D, Phys2D, Blender (ยกเว้นปลั๊กอินที่น่าสนใจ) และสิ่งที่คล้ายกัน ฉันรู้ว่าพวกเขาเป็นเครื่องมือ / ห้องสมุดที่ยอดเยี่ยมและบางคนอาจโต้แย้งว่าจำเป็นต่อการพัฒนาเกมที่ดี แต่ฉันกำลังมองหาโครงการที่หายากกว่านี้ อาจเป็นสิ่งที่เฉพาะเจาะจงหรือเฉพาะเจาะจงเช่นสร้างต้นไม้และพืชที่เหมือนจริงหรือ AI ที่สมจริงสำหรับสัตว์

1
จัดวางโมเดลเพื่อเผชิญหน้ากับเป้าหมาย
ฉันมีสองวัตถุ (เป้าหมายและผู้เล่น) ทั้งสองมีตำแหน่ง (Vector3) และการหมุน (Quaternion) ฉันต้องการให้เป้าหมายหมุนและหันไปทางขวาที่โปรแกรมเล่น เป้าหมายเมื่อมีบางสิ่งบางอย่างควรยิงไปที่ผู้เล่น ฉันได้เห็นตัวอย่างของการเล่น slerping กับผู้เล่นมากมาย แต่ฉันไม่ต้องการการหมุนแบบเพิ่มขึ้นดีฉันคิดว่ามันจะโอเคตราบใดที่ฉันสามารถทำให้ slerp เป็น 100% และตราบใดที่มันใช้งานได้จริง FYI - ฉันสามารถใช้ตำแหน่งและการหมุนเพื่อทำสิ่งอื่นมากมายและมันใช้งานได้ดีมากยกเว้นชิ้นสุดท้ายที่ฉันไม่สามารถหาได้ ตัวอย่างโค้ดทำงานในคลาสของเป้าหมาย, ตำแหน่ง = ตำแหน่งเป้าหมาย, Avatar = ผู้เล่น แก้ไข ตอนนี้ฉันใช้รหัส c # ของ Maik ที่เขาให้มาและใช้งานได้ดี!
28 xna  c#  3d  models  quaternion 

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