การพัฒนาเกม

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

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

13
เหตุใด platformers 2D ส่วนใหญ่จึงเริ่มต้นด้านซ้ายและก้าวหน้าไปในทิศทางที่ถูกต้อง
ในเกือบทุก platformers 2D ที่ฉันเล่น Avatar ของคุณจะเริ่มที่ด้านซ้ายของโลกเสมอและไปทางขวา มีสิ่งที่นักออกแบบได้มาจากการทำสิ่งนี้หรือไม่?

8
ทำไมเกมไม่มากขึ้นใช้ภาพเวกเตอร์? [ปิด]
สำหรับเวกเตอร์อาร์ตนั้นมีประสิทธิภาพมากกว่าในแง่ของทรัพยากร / ความสามารถในการปรับขยายได้ อย่างไรก็ตามในกรณีส่วนใหญ่ฉันได้เห็นศิลปินที่ใช้บิตแมป / rasterized art นี่เป็นข้อ จำกัด ของศิลปินที่เขียนโดยนักเขียนโปรแกรม / นักออกแบบเกมหรือไม่? ในฐานะโปรแกรมเมอร์ฉันคิดว่าเวคเตอร์อาร์ตน่าจะเหมาะกว่าเพราะมันช่วยให้ขยายความละเอียดได้โดยไม่ต้องสร้างงานศิลปะขึ้นมาใหม่การสร้างกราฟิกขนาดใหญ่จริง ๆ หรือทำให้กราฟิคเบลอ คำถาม: ทำไมผู้คนไม่ใช้ SVG / AI มากกว่านี้เพื่อสร้างเกมอาร์ต 2D มันจะเป็นที่ต้องการจริง ๆ หรือไม่ (และใครที่ชอบ) กราฟิกบิตแมปเป็นมาตรฐานหรือข้อ จำกัด (หรืออาจไม่มี) แบ็คกราวน์: ฉันทำงานกับเครื่องยนต์และฉันมีไอเดียเจ๋ง ๆ สำหรับกราฟิกแบบเวกเตอร์ แต่ฉันไม่ต้องการที่จะฉี่ศิลปินในอนาคต ฉันเดาว่านี่เป็นคำถามที่มีศูนย์กลางอยู่ที่การปฏิบัตินิยมและการพัฒนาเกม

6
อนาคตของ XNA ใน Windows 8 หรือจะพัฒนาเกมที่มีการจัดการใน Windows 8 ได้อย่างไร? [ปิด]
ฉันรู้ว่านี่เป็นสิ่งล่อใจที่เป็นไปได้ของคำถามนี้แต่คำตอบสุดท้ายเมื่อ 18 เดือนที่แล้วและเกิดขึ้นมากมายตั้งแต่นั้นมา ดูเหมือนว่ามีความไม่แน่นอนเกี่ยวกับ XNA ใน Windows 8 โดยเฉพาะ Windows 8 โดยค่าเริ่มต้นจะใช้ส่วนต่อประสาน Metro ซึ่ง XNA ไม่รองรับ นอกจากนี้ Windows 8 store จะไม่แชร์แอพที่ไม่ใช่เมโทรดังนั้นจึงจะไม่แชร์แอป XNA เราควรใช้ XNA หรือ Microsoft ต้องการให้เราเปลี่ยนเป็นเฟรมเวิร์กต่าง ๆ สำหรับการพัฒนาเกมที่มีการจัดการใน Windows 8 หรือไม่? แก้ไข: ตามที่ระบุไว้ในหนึ่งในความคิดเห็น Windows 8 จะสามารถเรียกใช้เกม XNA ในโหมดความเข้ากันได้ย้อนหลัง แต่นั่นเป็นกลิ่นแห่งความไม่พอใจ
83 xna  windows 

3
ฉันควรกังวลเกี่ยวกับ Youtube Let's Plays เมื่อฉันสร้างเกมหนัก ๆ หรือไม่?
ไม่กี่ปีที่ผ่านมาฉันได้ดูการเล่นเต็มรูปแบบของเกม Phoenix Wright สามเกมแรกใน Youtube ผมมีความสุขกับเรื่องราวและตัวละครจำนวนมากดังนั้นทำไมผมสวยมาก binge- ดูสิ่งที่เป็นชุดของเรื่องหนักมากเกม ฉันรู้ว่ามันฟังดูโง่ แต่นั่นคือสิ่งที่เกิดขึ้น ผลก็คือฉันไม่มีเหตุผลที่จะซื้อและเล่นเกมเหล่านั้น เมื่อมองย้อนกลับไปฉันรู้ดีว่าฉันละเมิดลิขสิทธิ์เกมมากโดยที่ไม่เคยเล่นเลย มันไม่ใช่ว่าฉันชอบเกมเพราะเกมมหากาพย์ของพวกเขาฉันชอบพวกเขาเพราะเรื่องราวและเนื่องจากฉันรู้ว่าจะเกิดอะไรขึ้นฉันจึงไม่มีเหตุผลที่จะเล่นด้วยตัวเอง ฉันยังซื้อพวกเขาในตอนท้ายของหลักการ (แม้ว่าจะเป็นแคปคอม ... ) แต่มีกี่คนที่จะทำอย่างจริงจัง? ฉันสงสัยมาก ตอนนี้ฉันกำลังอยู่ระหว่างการสร้างเกมที่มีเนื้อเรื่องหนักและฉันไม่แน่ใจเพราะช่องเกมยอดนิยมบน Youtube เป็นอย่างไร ฉันกลัวว่าผู้ใช้ YouTube ขนาดใหญ่บางคนจะเล่นเกมของฉันส่วนใหญ่ของฐานผู้เล่นที่มีศักยภาพของฉันจะเห็นเรื่องราวและไม่ต้องใส่ใจที่จะซื้อเกมด้วยตัวเอง ฉันหมายถึงทำไมพวกเขาควรถ้าพวกเขาได้เห็นเรื่องราว? แน่นอนว่าฉันได้รับการประชาสัมพันธ์ / การตลาดสำหรับเกมของฉันฟรี แต่สิ่งที่ดีคือถ้าไม่มีใครจะซื้อเกม ข้อกังวลของฉันถูกต้องหรือไม่? หรือฉันเป็นคนมองโลกในแง่ร้ายเกินไป?

3
ฉันจะสร้างน้ำ 2D ด้วยคลื่นแบบไดนามิกได้อย่างไร
New Super Mario Brosมีน้ำ 2D ที่ยอดเยี่ยมจริงๆที่ฉันต้องการเรียนรู้วิธีการสร้าง นี่คือวิดีโอที่แสดง ส่วนที่เป็นตัวอย่าง: สิ่งที่กระทบกับน้ำสร้างคลื่น นอกจากนี้ยังมีคลื่น "พื้นหลัง" ที่คงที่ คุณสามารถดูคลื่นคงที่ได้หลังจากวิดีโอ 00:50 เมื่อกล้องไม่เคลื่อนไหว ฉันคิดว่าเอฟเฟกต์สแปลชทำงานเหมือนในส่วนแรกของบทช่วยสอนนี้ อย่างไรก็ตามในNSMBน้ำยังมีคลื่นคงที่บนพื้นผิวและกระเด็นดูแตกต่างกันมาก ข้อแตกต่างอีกอย่างก็คือในบทช่วยสอนถ้าคุณสร้างสแปลชมันจะสร้าง "รู" ที่ลึกลงไปในน้ำที่จุดกำเนิดของสาด ใน super mario bros ใหม่หลุมนี้หายไปหรือเล็กกว่ามาก ฉันหมายถึงสาดที่ผู้เล่นสร้างขึ้นเมื่อกระโดดเข้าและออกจากน้ำ ฉันจะสร้างผิวน้ำที่มีคลื่นคงที่และกระเด็นได้อย่างไร ฉันกำลังเขียนโปรแกรมใน XNA ฉันลองตัวเองแล้ว แต่ฉันไม่สามารถทำให้คลื่นไซน์แบ็คกราวน์ทำงานร่วมกับคลื่นแบบไดนามิกได้ ฉันไม่ได้ถามว่านักพัฒนาของNew Super Mario Brosทำสิ่งนี้ได้อย่างไร - เพียงแค่สนใจที่จะสร้างเอฟเฟกต์แบบใหม่

9
เหตุใดนักพัฒนาเกม C ++ จึงไม่ใช้ห้องสมุดเพิ่ม [ปิด]
ดังนั้นหากคุณใช้เวลาในการดู / ตอบคำถามมากกว่าในStack Overflowภายใต้แท็ก C ++ คุณจะสังเกตเห็นได้อย่างรวดเร็วว่าทุกคนใช้ห้องสมุดเพิ่ม บางคนอาจบอกว่าถ้าคุณไม่ได้ใช้งานคุณไม่ได้เขียน C ++ ของจริง (ฉันไม่เห็นด้วย แต่นั่นไม่ใช่ประเด็น) แต่มีอุตสาหกรรมเกมซึ่งเป็นที่รู้จักกันดีในการใช้ C ++ และไม่ใช้การเพิ่ม ฉันอดไม่ได้ที่จะสงสัยว่าทำไม ฉันไม่สนใจที่จะใช้การเพิ่มพลังเพราะฉันเขียนเกม (ตอนนี้) เป็นงานอดิเรกและส่วนหนึ่งของงานอดิเรกนั้นก็คือการนำสิ่งที่ฉันต้องการเมื่อฉันสามารถและใช้ห้องสมุดที่ไม่ได้วางจำหน่ายตอนที่ฉันทำไม่ได้ แต่นั่นเป็นเพียงฉัน ทำไมโดยทั่วไปนักพัฒนาเกมไม่ใช้ไลบรารีเพิ่มหรือไม่ มันเกี่ยวกับประสิทธิภาพหรือหน่วยความจำหรือไม่? รูปแบบ? อื่น ๆ อีก? ฉันกำลังจะถามคำถามนี้เกี่ยวกับการล้นสแต็ก แต่ฉันคิดว่าคำถามจะถามดีกว่าที่นี่ แก้ไข: ฉันรู้ว่าฉันไม่สามารถพูดกับโปรแกรมเมอร์เกมทั้งหมดและฉันไม่ได้เห็นโปรเจคเกมทั้งหมดดังนั้นฉันจึงไม่สามารถพูดได้ว่าผู้พัฒนาเกมไม่เคยใช้บูสต์ นี่เป็นเพียงประสบการณ์ของฉัน อนุญาตให้ฉันแก้ไขคำถามของฉันถามด้วยถ้าคุณใช้การเพิ่มทำไมคุณถึงเลือกที่จะใช้
81 c++ 

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

10
อะไรคือความท้าทายและประโยชน์ของการเขียนเกมด้วยภาษาที่ใช้งานได้?
แม้ว่าฉันจะรู้ว่าภาษาที่ใช้งานไม่ได้เป็นภาษาที่ใช้กันมากที่สุดสำหรับการเขียนเกม แต่ก็มีประโยชน์มากมายที่เชื่อมโยงกับพวกเขาซึ่งดูเหมือนว่าพวกเขาจะน่าสนใจในบริบทการเขียนโปรแกรมใด ๆ โดยเฉพาะอย่างยิ่งความง่ายในการขนานที่ฉันคิดว่าอาจมีประโยชน์มากเพราะการมุ่งเน้นไปที่โปรเซสเซอร์มากขึ้นเรื่อย ๆ นอกจากนี้ด้วย F # ในฐานะสมาชิกใหม่ของตระกูล. NET มันสามารถใช้งานโดยตรงกับ XNA ตัวอย่างเช่นซึ่งลดระดับของเกณฑ์ลงเล็กน้อยเมื่อเทียบกับ LISP, Haskell, Erlang ฯลฯ หากใครมีประสบการณ์ในการเขียนเกมด้วยโค้ดที่ใช้งานได้สิ่งใดที่เป็นผลบวกและเชิงลบ มันเหมาะกับอะไรไม่ได้ แก้ไข: พบว่ายากที่จะตัดสินใจว่ามีคำตอบที่ดีเพียงข้อเดียวดังนั้นจึงน่าจะเหมาะกว่ากับโพสต์ของวิกิชุมชน
81 functional 

28
ฉันจะกีดกันการตั้งแคมป์ในขณะที่ยังคงสนับสนุนสไตล์การเล่น“ sniper” ได้อย่างไร?
ฉันกำลังพยายามเพิ่มคุณสมบัติลงในปืนของบุคคลที่สามที่เหมาะกับรูปแบบการเล่นของมือปืนนอกเหนือไปจากรูปแบบเร่งด่วน / เด ธ แมตช์ที่ได้รับการออกแบบมาสำหรับ รูปแบบการเล่นในปัจจุบันมีความคล้ายคลึงกับ Gears of War และ Battlefield ซึ่งอาจคล้ายกับ Call of Duty ในแง่ของช่วงการต่อสู้ แต่จะช้าลงเล็กน้อย ระดับนั้นมีขนาดใกล้เคียงกับแผนที่ COD ขนาดใหญ่หรือแผนที่ Battlefield ขนาดกลาง สองสิ่งที่ฉันวางแผนที่จะเพิ่มรวมถึงเส้นสายตายาว ๆ และ "รังมือปืน" ฉันกังวลเพราะคุณสมบัติทั้งสองนี้สามารถเปิดประตูสู่การตั้งแคมป์จำนวนมาก การดมและตั้งแคมป์นั้นไม่ใช่สิ่งเดียวกันในความคิดของฉัน แต่มันเป็นเรื่องง่ายสำหรับผู้ตั้งค่ายในการใช้คุณสมบัติดังกล่าวเพื่อให้ได้มาซึ่งความไม่สะดวกเมื่อพวกเขาตั้งใจจะส่งเสริมการใช้สไนเปอร์ทางยุทธวิธี ที่กล่าวว่าฉันไม่เชื่อในการตำหนิข้อบกพร่องของเกมตามสไตล์การเล่นของผู้เล่น Sniper : ใช้ปืนไรเฟิลระยะไกลอาจอยู่ในจุดเฉพาะที่เป็นประโยชน์ในเวลานั้น แต่รู้วิธีย้ายไปยังตำแหน่งอื่นซึ่งเหมาะสำหรับการดม ให้การจำและการปราบปรามสำหรับสมาชิกในทีมที่มีสไตล์เป็นที่น่ารังเกียจ / เร่งรีบ ผู้พักแรม : อาจใช้อาวุธใด ๆ อยู่ในที่เดียวเสมอและรอให้ผู้เล่นผ่านไปซึ่งนำไปสู่การฆ่าที่มีความเสี่ยงต่ำได้ง่าย ปฏิบัติตามกลยุทธ์เดียวกันโดยไม่คำนึงถึงสิ่งที่เกิดขึ้นในเกม / การแข่งขัน ให้ความสำคัญกับการแสดงของตัวเองมากกว่าการสนับสนุนสมาชิกในทีม ดังนั้นฉันพยายามคิดถึงวิธีที่จะพยายามกีดกันการตั้งแคมป์ในขณะที่ยังอนุญาตให้มีการเล่นซุ่มยิงที่ถูกต้องตามกฎหมาย

5
ป้อมปราการ Dwarf ติดตามหน่วยงานมากมายโดยไม่สูญเสียประสิทธิภาพได้อย่างไร
ในป้อมปราการคนแคระคุณสามารถมีคนแคระสัตว์ก๊อบลินและอื่น ๆ หลายร้อยคนในเกมในแต่ละครั้งที่มี AI ที่ซับซ้อนและกิจวัตรการทำเส้นทางเดินของตัวเอง คำถามของฉันคือสิ่งนี้ทำให้เกิดการชะลอตัวที่เห็นได้ชัดอย่างไร คนแคระแต่ละคนวิ่งในเกลียวของมันเองหรือไม่?

17
เคล็ดลับการเพิ่มประสิทธิภาพระดับต่ำ C ++ [ปิด]
สมมติว่าคุณมีอัลกอริธึมที่ดีที่สุดแล้วโซลูชันระดับต่ำสุดที่คุณสามารถเสนอได้สำหรับการบีบอัตราเฟรม Sweet Sweet สองสามหยดสุดท้ายของรหัส C ++ คืออะไร มันไปโดยไม่บอกว่าเคล็ดลับเหล่านี้ใช้เฉพาะกับส่วนของรหัสที่สำคัญซึ่งคุณได้เน้นไว้ใน profiler ของคุณแล้ว แต่ควรเป็นการปรับปรุงที่ไม่มีโครงสร้างในระดับต่ำ ฉันได้ยกตัวอย่าง
79 c++  optimization 

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

9
หนึ่งจะป้องกันขีปนาวุธกลับบ้านจากการโคจรเป้าหมายของพวกเขาได้อย่างไร
ฉันกำลังพัฒนาเกมอวกาศ 2 มิติโดยไม่มีแรงเสียดทานและฉันพบว่ามันง่ายมากที่จะทำให้ขีปนาวุธกลับสู่วงโคจรเป้าหมาย ฉันอยากรู้เกี่ยวกับกลยุทธ์ต่อต้านการโคจร ตัวอย่างง่ายๆคือขีปนาวุธกลับบ้านที่จะเร่งไปยังเป้าหมายโดยตรง หากเป้าหมายนั้นเคลื่อนที่ในแนวตั้งฉากกับวิถีของขีปนาวุธแล้วหยุดการเร่งความเร็วของขีปนาวุธไปยังเป้าหมายนั้นไม่เพียงพอที่จะเอาชนะความเร็วของมันเอง ในเฟรมที่ 1 ขีปนาวุธมุ่งตรงไปยังเป้าหมายโดยไม่มีปัญหา ในเฟรม 2 เป้าหมายได้ย้ายไปยังตำแหน่งใหม่ตามที่แสดง ขีปนาวุธยังคงเร่งไปยังเป้าหมายโดยตรง (เป็นสีแดง) ในขณะที่ยังคงเคลื่อนที่ไปยังตำแหน่งที่เป้าหมายเคยเป็น (สีดำ) เนื่องจากความเร็วที่มีอยู่ ในเฟรมที่ 3 ความเร็วของขีปนาวุธจะยังคงดำเนินการขีปนาวุธรอบด้านของเป้าหมาย (สีดำ) ในขณะที่เวกเตอร์การเร่งความเร็วพยายามอย่างยิ่งที่จะดึงขีปนาวุธไปยังเป้าหมาย ในเฟรมที่ 4 และถัดไปขีปนาวุธจะตกลงสู่วงโคจรที่มีความเสถียรรอบ ๆ เป้าหมายและไม่ถึงเป้าหมาย ลูกศรสีดำแสดงถึงเวกเตอร์ความเร็วสูงในขณะที่เส้นสีแดงแสดงถึงเวกเตอร์ความเร่งในเวลาเดียวกัน เมื่อพิจารณาว่าไม่มีแรงเสียดทานในอวกาศไม่มีสิ่งใดที่จะชะลอความเร็วของขีปนาวุธลงและยุบวงโคจรได้ ทางออกที่เป็นไปได้คือการตั้งเป้า "ไว้ข้างหลัง" เป้าหมายและสิ่งนี้จะทำให้วงโคจรปิด แต่สิ่งนี้ทำได้จากมุมมองการเขียนโปรแกรมอย่างไร ฉันจะทำให้จรวดกลับบ้านไปถึงเป้าหมายได้อย่างไร
78 2d  ai 

26
โปรแกรมแนะนำเกม 2 มิติสำหรับการสร้างต้นแบบ [ปิด]
เอ็นจิ้นเกมระดับสูงใดที่คุณอยากแนะนำให้พัฒนาต้นแบบเกม 2D บน windows (หรือ mac / linux หากคุณต้องการ) ประเภทของสิ่งที่ฉันหมายถึงโดย "ระดับสูง" รวมถึง (แต่ไม่ จำกัด เฉพาะ): ไม่ต้องจัดการสิ่งต่าง ๆ ในระดับต่ำเช่นบัฟเฟอร์หน้าจอบริบทของกราฟิก มี API เพื่อวาดรูปทรงเรขาคณิต ดีฉันจะละเว้น แต่ฉันเดาว่าการใช้ภาษา "ระดับสูง" ที่แท้จริงนั้นเป็นข้อดี (การจัดการทรัพยากรอัตโนมัติและการมีอยู่ของโครงสร้างข้อมูลที่สมเหตุสมผลในไลบรารีมาตรฐานเป็นสิ่งที่ควรคำนึงถึง) สำหรับฉันดูเหมือนว่า Flash เป็นช้างที่เลื่องลือในห้องสำหรับคำถามนี้ แต่ฉันอยากเห็นคำตอบที่แตกต่างกันไปตามภาษาหรือ SDK ทุกประเภท
76 2d  prototyping 

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