การพัฒนาเกม

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

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

1
ติดตั้งรูทสแควร์รูทแบบเร็วใน Javascript หรือไม่
Fast Inverse Square Root จาก Quake III ดูเหมือนจะใช้เคล็ดลับ floating-point ดังที่ฉันเข้าใจการเป็นตัวแทนจุดลอยตัวอาจมีการใช้งานที่แตกต่างกันบ้าง ดังนั้นจึงเป็นไปได้ที่จะใช้รูทสแควร์รูทแบบเร็วใน Javascript หรือไม่ มันจะให้ผลลัพธ์เดียวกันหรือไม่ 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 …
11 javascript 

3
ปรับเกม Android ให้เหมาะกับขนาดหน้าจอที่แตกต่างกัน
ฉันกำลังสร้างเกม Android ที่อยู่ในแนวหน้าจอแนวตั้งเท่านั้น มันใช้งานได้ดีเมื่อฉันเรียกใช้บนโทรศัพท์ แต่เมื่อฉันเรียกใช้บนแท็บเล็ตแม้ว่าขนาดหน้าจอจะใหญ่กว่าบิตแมปทั้งหมดจะมีขนาดเท่ากัน มีวิธีใดที่จะทำให้บิตแมปอยู่ในสัดส่วนเดียวกันแม้บนหน้าจอขนาดต่างกันหรือไม่?
11 java  android  screen 

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

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

2
เหตุใด SDK ของคอนโซล“ ระดับมืออาชีพ” จึงปิดตัวสู่สาธารณะ
เหตุใด SDK คอนโซลรุ่น "มืออาชีพ" จึงถูกเปิดเผยสู่สาธารณะ ตัวอย่างเช่นชุดพัฒนา Xbox พร้อมใช้งานสำหรับนักพัฒนาที่ลงทะเบียนแล้วเท่านั้น PS3 มีการจัดเรียงที่คล้ายกัน แม้แต่ราคาก็ยังไม่เปิดเผย เหตุผลสำหรับความลับนี้คืออะไร? นอกจากนี้คุณลักษณะเพิ่มเติมของ SDK "มืออาชีพ" เหล่านี้มีอะไรบ้างเมื่อเปรียบเทียบกับ SDK ฟรี (เช่น XNA)

2
การสร้างระดับของเกมประเภท Rayman Origins?
ไม่มีใครรู้เทคนิคที่พวกเขาใช้ในการสร้างระดับของพวกเขา (โดยใช้แหล่งกำเนิด rayman เป็นตัวอย่าง)? ฉันกำลังพูดถึงพื้นและกำแพงอย่างเคร่งครัด ดูไม่เหมือนกระเบื้อง เวิร์กโฟลว์ที่จำเป็นสำหรับเกมที่ไม่ได้ปูกระเบื้องคืออะไร ฉันพยายามที่จะใช้สิ่งนี้ (ด้านล่าง) แต่ฉันติดอยู่ระหว่างสองวิธีในการทำ ครั้งแรก: เพียงแค่มีสินทรัพย์ศิลปะและรับ / ตั้งตำแหน่งของพวกเขาคล้ายกับกระเบื้องตาม แต่วัตถุจะมีรายละเอียดมากขึ้น (ด้วยตำแหน่งที่แตกต่างกันสำหรับ x และ y) - รายการน่าเบื่อเล็กน้อยฉันสามารถบันทึกตำแหน่งลงในไฟล์ข้อความและ โหลดจากที่นั่น ข้อที่สอง: ฉันเคยเห็นบทความที่ฉันไม่สามารถหาได้ แต่เกม dev ค่อนข้างดึงระดับฐาน (ผนังพื้น) แล้วเพิ่มภาพเล็กน้อยที่ด้านบนของมัน ดังนั้นในภาพด้านล่างพวกเขาจะดึงหินและกำแพงสีเขียวจากนั้นปิดบังพวกเขาด้วยสินทรัพย์ที่คล้ายใบไม้ - ฉันอยากจะใช้ตัวเลือกนี้อย่างที่ฉันสามารถวาดเส้นตรงสำหรับเนินเขาจากนั้นก็ครอบคลุมมันด้วยสินทรัพย์บางส่วน แต่การชนจะยังคงเป็นเส้นตรง

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

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

2
ฉันจะสร้างพื้นผิวที่ดูเหมือนใบชาที่หลงเหลืออยู่ได้อย่างไร
เรากำลังทำงานในโครงการสำหรับ iPhone และ Windows Phone 7 ที่เราต้องการที่จะสามารถสร้างใบชาที่ด้านล่างของถ้วย ไม่จำเป็นต้องดูสมจริงเหมือนภาพถ่ายและจริงๆแล้วการ์ตูน -y นั้นใช้ได้ เราควรค้นคว้าเทคนิคแบบใดเพื่อให้บรรลุสิ่งนี้? มีห้องสมุดใดบ้าง (เด่นกว่าในภาษาซี แต่เราสามารถแปลได้) ซึ่งจะเป็นประโยชน์หรือไม่? นี่คือตัวอย่างบางส่วนที่ดึงมาจากการค้นหาของ Google รูปภาพ
11 textures  c 

2
คลาส NPC ของ Skyrim Creation Kit ทำอะไรได้บ้าง
ฉันพยายามที่จะเปลี่ยนมันด้วยคำสั่ง setclass console โดยอิงจากวิกิ UESP ดูเหมือนว่ามันจะควบคุมสถิติกำไรสำหรับการปรับระดับ แต่จาก Elder Scrolls wiki ดูเหมือนว่าจะควบคุม AI ของพวกเขาเท่านั้น เห็นได้ชัดว่ามันทำอย่างน้อยหนึ่งหรือทั้งสองอย่าง - มันทำอะไรได้จริงและทำอะไรอีกบ้าง? __ Ex: ถ้าเปลี่ยน Lydia จาก warrior1 ส่งไป vigilantcombat1h ด้วยคำสั่งคอนโซล 000A2C94.setclass 0010bfef มันจะมีผลข้างเคียงที่ไม่ได้ตั้งใจซึ่งไม่ชัดเจนในทันทีนอกจากปล่อยให้เธอใช้คาถาปรับแต่งและการรักษาที่ฉันเพิ่งให้เธอกับปลอบประโลม สถิติในแบบที่เหมาะกับมัน? มันจะทำอะไรแปลก ๆ เช่นยุ่งกับกลุ่มหรือความสามารถของเธอในการเข้าร่วมเป็นผู้ติดตามของฉันหรือไม่? หรือยุ่งกับการปรับขนาดสุขภาพของเธอในขณะที่เธอระดับ? บางสิ่งยากที่จะสังเกตเห็นจนกว่าจะผ่านไปนานมาก? @ desaivv * ฉันพยายามที่จะใช้กับ 000A2C94.setclass 0010bfef ไม่แน่ใจว่ามันจะทำให้เกิดปัญหาที่ซ่อนอยู่เพียงแสดงหลังเวลาเล่นหรือถ้าฉันสร้างตัวละครใหม่ด้วยไฟล์ค้างคาวเดียวกัน แต่ชุดการสร้างดูเหมือนความคิดด้วยฉันจะต้องดูว่ามันซับซ้อนแค่ไหน มันอาจแสดงว่ามันทำอะไรหรือมีวิธีที่ง่ายกว่าในการเปลี่ยนพฤติกรรมของเธอเพื่อเพิ่มคาถา ฉันจะลองและดูว่ามีอะไรที่ชัดเจนปรากฏขึ้นในระยะสั้นก็ไม่แน่ใจว่ามันรู้ปัญหาระยะยาวหรือไม่

3
ฉันจะแสดงผู้สัมภาษณ์ที่ฉันมีประสบการณ์ในอดีตได้อย่างไร
ในขณะที่ทำการค้นคว้า บริษัท พัฒนาที่ฉันต้องการทำงานในอนาคตสิ่งหนึ่งที่ทำให้ฉันสะดุดตา พวกเขาทั้งหมดต้องการประสบการณ์ AAA ก่อนหน้านี้ฉันจะต้องดิ้นรนอย่างมากที่จะได้รับ ขณะนี้ฉันอาศัยอยู่ในพื้นที่ที่ไม่มีนักพัฒนา AAA อยู่บริเวณใกล้เคียงดังนั้นการฝึกงานจึงเป็นไปไม่ได้ ข้อกำหนดนี้เป็นนักฆ่าหรือสิ่งนี้สามารถดูผ่านถ้าฉันมีระดับ 8 ปี? (ฉันกำลังวางแผนที่จะรับปริญญาโทสาขาวิทยาศาสตร์คอมพิวเตอร์หรือสาขาที่คล้ายกันเพื่อความปลอดภัยในการทำงานถาวร) หากข้อกำหนดนี้มีความสำคัญฉันก็ได้ยินมาว่าคุณสามารถชดเชยได้ด้วยการสาธิตเกมโฮมเมดที่คุณสร้างขึ้นด้วยตัวคุณเอง หากเป็นจริงต้องมีความซับซ้อนขนาดไหน เกี่ยวข้องกับเกมอินดี้หรือไม่? ลึก? ต้องเป็นแบบ 3 มิติหรือไม่ ฉันรู้ว่านี่เป็นคำถามสองสามข้อมากเกินไปสำหรับการโพสต์เดียว แต่ฉันขอขอบคุณคำแนะนำใด ๆ (โดยเฉพาะอย่างยิ่งสำหรับผู้ที่เคยจ้างนักพัฒนาคนอื่น ๆ ในอดีตหรือข้ามปัญหาที่คล้ายกัน)
11 demo  interview 

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

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

7
แป้นพิมพ์ลัดในเกม RTS
ลองนึกภาพคุณมีเกม RTS แบบผู้เล่นหลายคน (เช่น Dune, Age of Empires, Settlers, Warcraft) มีคำสั่งบางอย่างจากแป้นพิมพ์เพื่อควบคุมกองทหาร (หยุดโจมตีโจมตี) และคำสั่งทั่วไปอื่น ๆ เช่นหยุดชั่วคราวหรือออก เกมดังกล่าวได้รับการแปลเป็นหลายภาษา (18+) ฉันสามารถดูวิธีใช้แป้นพิมพ์ลัดได้สองวิธี: A. ใช้ตัวอักษรภาษาอังกฤษตัวแรกของคำสั่งดังกล่าว ("S", "A", "M", "P" ฯลฯ ) สำหรับทุกโลแคล B. ใช้อักษรตัวแรกของคำว่าสถานที่นั้น (เช่นทางลัดภาษารัสเซียจะเป็น "С", "А", "Д", "П". ภาษาเยอรมันจะเป็น "H", "A", "S" ฯลฯ .) วิธีใด (หรือแนะนำของคุณเอง) วิธีใดดีกว่าเมื่อเลือกทางลัดสำหรับหลาย ๆ ที่ PS แน่นอนว่าทางลัดอาจจะปรับแต่งโดยผู้เล่น แต่ค่าเริ่มต้นบางอย่างยังคงมีความจำเป็น

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