การพัฒนาเกม

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

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

5
วิธีการคำนวณพื้นที่การมองเห็นในเกมแบบสองมิติได้อย่างรวดเร็ว
ฉันมีเมทริกซ์ของแผ่นกระเบื้องบนบางแผ่นที่มีวัตถุ ฉันต้องการคำนวณผู้เล่นที่สามารถมองเห็นไทล์และไม่ได้และฉันต้องทำอย่างมีประสิทธิภาพ (ดังนั้นมันจะคำนวณเร็วพอแม้ว่าฉันจะมีเมทริกซ์ขนาดใหญ่ (100x100) และวัตถุจำนวนมาก ฉันพยายามทำด้วยอัลกอริทึมของ Bresenhamแต่มันช้า นอกจากนี้ยังทำให้ฉันมีข้อผิดพลาด: ----XXX- ----X**- ----XXX- -@------ -@------ -@------ ----XXX- ----X**- ----XXX- (raw version) (Besenham) (correct, since tunnel walls are still visible at distance) (@ is the player, X is obstacle, * is invisible, - is visible) ฉันแน่ใจว่าสิ่งนี้สามารถทำได้ - หลังจากทั้งหมดเรามี NetHack, Zangband และพวกเขาทั้งหมดจัดการกับปัญหานี้อย่างใด :) คุณสามารถแนะนำอัลกอริทึมสำหรับสิ่งนี้ได้อย่างไร …

1
กำหนดตำแหน่งขององค์ประกอบที่หมุนได้ใน Tetris
Tetris-Tiles ถูกเก็บไว้เป็น matrix 4x4 แบบบูล แต่ละขั้นตอนการหมุนมีเมทริกซ์เป็นของตัวเองการเป็นตัวแทนของT -Block จะมีลักษณะเช่นนี้: [ 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, …

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

7
การคำนวณแรงโน้มถ่วงแบบมัลติเธรด 2D
ฉันกำลังสร้างเกมสำรวจอวกาศและตอนนี้ฉันเริ่มทำงานกับแรงโน้มถ่วง (ใน C # กับ XNA) แรงโน้มถ่วงยังคงต้องการการปรับแต่ง แต่ก่อนที่ฉันจะทำได้ฉันต้องจัดการกับปัญหาด้านประสิทธิภาพด้วยการคำนวณทางฟิสิกส์ของฉัน นี่คือการใช้วัตถุ 100 รายการโดยปกติแล้วการแสดงผล 1,000 รายการโดยไม่มีการคำนวณทางฟิสิกส์ได้ดีกว่า 300 FPS (ซึ่งเป็นฝา FPS ของฉัน) แต่วัตถุใด ๆ ที่มากกว่า 10 หรือมากกว่านั้นจะนำเกมมาด้วย เข่าเมื่อทำการคำนวณทางฟิสิกส์ ฉันตรวจสอบการใช้เธรดของฉันและเธรดแรกกำลังฆ่าตัวเองจากงานทั้งหมดดังนั้นฉันจึงคิดว่าฉันต้องทำการคำนวณทางฟิสิกส์ในเธรดอื่น อย่างไรก็ตามเมื่อฉันพยายามเรียกใช้เมธอดการอัปเดตของคลาส Gravity.cs ในเธรดอื่นแม้ว่าเมธอดการอัปเดตของ Gravity จะไม่มีอะไรอยู่เกมยังคงลดเหลือ 2 FPS Gravity.cs public void Update() { foreach (KeyValuePair<string, Entity> e in entityEngine.Entities) { Vector2 Force = new Vector2(); foreach …

6
คุณจะมองภาพ quaternion ได้อย่างไร?
เมื่อฉันมองเห็นเมทริกซ์การหมุนสามมิติหรือเมทริกซ์มาตราส่วนฉันเห็นภาพมันเป็นสามแกน มีวิธีที่คล้ายกันที่ฉันสามารถเห็นภาพ quaternion หมุน?

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

2
อัลกอริทึมสำหรับการแพร่กระจายฉลากในวิธีที่ดึงดูดสายตาและใช้งานง่าย
เวอร์ชั่นสั้น มีรูปแบบการออกแบบสำหรับการกระจายฉลากยานพาหนะในแบบที่ไม่ทับซ้อนกันวางไว้ใกล้กับยานพาหนะที่พวกเขาอ้างถึงมากที่สุดหรือไม่? ถ้าไม่มีวิธีใดที่ฉันแนะนำให้ปฏิบัติได้? คุณจะใช้สิ่งนี้ด้วยตนเองอย่างไร? รุ่นขยาย ในเกมที่ฉันเขียนฉันมีวิสัยทัศน์ที่ชัดเจนจากยานพาหนะทางอากาศของฉัน ฉันมีป้ายเล็ก ๆ ติดกับคีย์ข้อมูลเกี่ยวกับยานพาหนะแต่ละคันด้วย นี่เป็นภาพหน้าจอจริง: ตอนนี้เนื่องจากยานพาหนะสามารถบินในระดับความสูงที่แตกต่างกันไอคอนของพวกเขาอาจทับซ้อนกัน อย่างไรก็ตามฉันไม่ต้องการให้ป้ายกำกับของพวกเขาซ้อนทับกัน (หรือป้ายกำกับจากยานพาหนะ 'A' ทับไอคอนรถถัง 'B') ขณะนี้ฉันสามารถตรวจสอบการชนกันระหว่างสไปรท์และผมก็ผลักดันออกไปป้ายที่กระทำผิดในทิศทางตรงข้ามกับผีสางมิฉะนั้นการที่คาบเกี่ยวกัน สิ่งนี้ใช้ได้ในสถานการณ์ส่วนใหญ่ แต่เมื่อน่านฟ้าหนาแน่นผู้คนสามารถขับป้ายได้ไกลจากยานพาหนะแม้ว่าจะมีทางเลือก "ฉลาด" ทางเลือก ตัวอย่างเช่นฉันได้รับ: B - label A -----------label C - label มันจะดีกว่า (= ฉลากใกล้กับยานพาหนะ) เพื่อรับ: B - label label - A C - label แก้ไข:มันจะต้องได้รับการพิจารณาว่าข้างตัวถังรถที่ทับซ้อนกันอาจจะมีการกำหนดค่าอื่น ๆ ที่labellab'labelสามารถทับซ้อนกัน (ตัวอย่าง ASCII-art แสดงตัวอย่างรถสามคันที่อยู่ใกล้กันมากซึ่งฉลากของAจะทับไอคอนของBและC) ฉันมีสองแนวคิดเกี่ยวกับวิธีการปรับปรุงสถานการณ์ปัจจุบัน …

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

4
ควรทำการตรวจจับการชนกันของเซิร์ฟเวอร์หรือทำงานร่วมกันระหว่างไคลเอนต์ / เซิร์ฟเวอร์หรือไม่
ฉันกำลังทำงานในเกมออนไลน์ที่จะมีการตรวจจับการชนกันอย่างหนักมาก ผู้เล่นรุ่นจะชนกับผู้เล่นคนอื่น ๆ mobs โครงสร้างภูมิประเทศและวัตถุทึบที่มีอยู่ฝั่งเซิร์ฟเวอร์เท่านั้น (ไม่ได้เก็บไว้ในไฟล์ข้อมูลลูกค้า) เพื่อจุดประสงค์ด้านความปลอดภัยฉันควรทำทั้งหมดด้านเซิร์ฟเวอร์ตรวจจับการชน? หรือฉันควรให้ลูกค้าทำการตรวจจับและให้เซิร์ฟเวอร์ติดตามมันอย่างใด? ฉันรู้สึกว่ามันจะมากเกินไปสำหรับเซิร์ฟเวอร์ที่จะทำด้วยตัวเอง (ฉันกำลังออกแบบเอ็นจิ้นสำหรับผู้เล่นหลายร้อยคนบนเซิร์ฟเวอร์เดียว) ไม่มีใครรู้ว่า MMO ที่สำคัญทำอย่างไร ฉันรู้ว่า MMO เกือบทั้งหมดในตอนนี้มีความไวต่อการแฮ็กฟิสิกส์และมักจะจัดการกับพวกเขาโดยการตรวจสอบแฮ็กและห้ามผู้คน ฉันต้องการแฮ็กที่ไม่ทำงานเลยอย่างน้อยก็สำหรับองค์ประกอบทางฟิสิกส์

10
ภาษาการเขียนโปรแกรมที่ใช้บ่อยที่สุดคืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา เมื่อฉันเรียนหลักสูตร Java เมื่อปีที่แล้วฉันได้รับแจ้งว่า Java ส่วนใหญ่จะใช้ใน บริษัท เกมต่างประเทศในขณะที่ C ++ ใช้ที่นี่ในสหรัฐอเมริกา ฉันควรเน้นภาษาใดในการเรียนรู้เชิงลึก

7
วิธีการรับประสบการณ์ PS3 / Xbox 360 โดยไม่ต้องเข้าถึงชุด Dev?
ฉันเป็นโปรแกรมเมอร์เกมรุ่นที่พยายามเข้าสู่อุตสาหกรรมการเขียนโปรแกรมสำหรับ PS3, Xbox 360 ปัญหาหลักที่ฉันเห็นคือต้องแสดงทักษะของฉันกับนายจ้างที่มีศักยภาพ แต่ไม่สามารถเข้าถึงชุด Dev สำหรับ PS3 หรือ Xbox 360 ได้ สิ่งนี้เป็นไปไม่ได้โดยตรง คำถามของฉันคืออะไรทางเลือกที่ดีที่สุดในการแสดงทักษะให้นักพัฒนาคอนโซลของฉันคืออะไร การเขียนโปรแกรม C ++ ใน DirectX สำหรับ Windows ดูเหมือนจะใกล้เคียงกับการแสดงทักษะการเขียนโปรแกรม Xbox 360 และการเขียนโปรแกรม C ++ ใน OpenGL นั้นค่อนข้างใกล้เคียงกับการแสดงทักษะการเขียนโปรแกรม PS3 น่าเสียดายที่มันดูเหมือนว่าจากการวิจัยเว็บราวกับว่าทั้ง Xbox 360 และ PS3 มีห้องสมุดที่เป็นของตัวเองจริง ๆ ดังนั้นจึงดูเหมือนว่าจะไม่ได้พยายามอย่างเต็มที่ที่จะเกิดผล 100% วิธีนี้ดูใกล้เคียงที่สุด แต่ใช้เวลามากที่สุด รวมทั้งคุณไม่ได้ทำอะไรเลยบนคอนโซล ในทางกลับกันการเขียนโปรแกรมใน XNA มีประโยชน์กับเกมของคุณจริง ๆ บนคอนโซลแม้ว่าฉันจะได้รับความประทับใจว่านี่คือสิ่งที่มองว่าไม่ใช่ "ของจริง" …

11
อัญมณีเฉพาะเกมที่คุณชอบคืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันจะเริ่มด้วยJohn Carmack'sรูทสแควร์รูทแบบเร็วใน Quake III: float Q_rsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 …
24 algorithm 

5
การติดตามเป้าหมาย: เมื่อใดที่จะเร่งและลดความเร็วของป้อมปืนหมุน?
ว่าฉันมีวงกลมเคลื่อนที่ที่targetกำหนด: Vector2 position; Vector2 velocity; float radius; และการหมุนturret(ติดตั้งบนยานพาหนะที่กำลังเคลื่อนที่บางชนิด) กำหนดเป็น: Vector2 position; Vector2 velocity; float angle; // radians float angularVelocity; // radians per second const float maxAngularVelocity; // radians per second const float maxAngularAcceleration; // radians per second per second (หรือบางสิ่งบางอย่างตามเส้นเหล่านั้นโปรดทราบว่าตำแหน่งและความเร็วของทั้งสองถูกควบคุมที่อื่น - สมมติว่าความเร็วคงที่และเปลี่ยนตำแหน่งตามความเร็ว) ฉันพยายามเขียนฟังก์ชัน AI ที่เกี่ยวข้องสองรายการเพื่อกำหนดในกรอบที่กำหนด: การเร่งความเร็วเชิงมุม (และทิศทางใด) ที่ใช้กับมุมของป้อมปืนเพื่อให้ป้อมปืนชี้ไปที่เป้าหมาย หากเป้าหมายอยู่ในระยะมองเห็นจะสามารถเก็บส่วนใดส่วนหนึ่งไว้ในรัศมีเป็นระยะxเวลาไม่กี่วินาทีxเศษเสี้ยววินาที (ทางเลือก: …
24 ai  aiming 

11
การเข้าใกล้ปัจจัยความสนุกในการออกแบบเกม
ในฐานะนักออกแบบจะต้องมีวิธีการบางอย่างที่คุณเข้าหาเพื่อสร้าง 'ความสนุกในเกม' ของคุณ คุณน่าจะทำอะไรซักอย่างในเกมเดียวที่อาจถ่ายโอนเข้าสู่เกมในอนาคตที่คุณได้ทำไป คุณน่าจะเล่นเกมที่ทำอะไรสนุก ๆ และคุณสังเกตเห็นว่าสูตรนั้นใช้กับเกมอื่น มีวิธีใดบ้างในการปรับปรุงความสนุกในการออกแบบเกม อะไรที่ทำให้เกม Zynga บน Facebook เป็นที่นิยม? รางวัลนำไปสู่ความสนุกสนานมากขึ้นหรือไม่? ความล้มเหลวนำไปสู่ความสนุกสนานมากขึ้นหรือไม่? การทำให้ผู้เล่นกลับมาใน 2 ชั่วโมงนำไปสู่ความสนุกสนานมากขึ้นหรือไม่? คุณอ่านคำพูดหรือความคิดที่ดีที่มีอยู่ในใจของคุณหรือไม่? อาจมีรายการสิ่งที่ควรพิจารณาเมื่อใกล้ถึงความสนุกสนาน

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