การพัฒนาเกม

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


4
ตัวอย่างที่ดีเกี่ยวกับการสร้างของเหลว 2 มิติคืออะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ใครมีตัวอย่างบทแนะนำหรือตัวอย่างที่ดีในการแบ่งปันที่ควรเป็นใน C # หรือ C / C ++?
22 2d  simulations 

1
“ การสร้างขั้นตอน” คืออะไรและทำอย่างไร
ฉันได้ยินเกี่ยวกับ "แผนที่เชิงปฏิบัติ" และ "พื้นผิวตามขั้นตอน" เป็นอย่างมาก มันหมายความว่าอะไรกันแน่และมีทรัพยากรอะไรบ้างในการเรียนรู้เทคนิคเหล่านี้ในเกม?

4
คุณสมบัติสำหรับการคำนวนการเข้าชมในเกมเทิร์นเบสหรือโร๊คไลค์
ฉันพยายามหาสูตรที่ดีในการพิจารณาการโจมตีเมื่อผู้เล่นโจมตีศัตรูใน Roguelike ฉันต้องการที่จะคิดอะไรง่ายๆ แต่ก็ยังคงเป็นความจริงกับวิธีที่ทำใน D&D หรือ Roguelikes ยอดนิยมเช่น AngBand หรือ NetHack สิ่งที่ฉันมีจนถึงตอนนี้คือการเพิ่มความแตกต่างระหว่างผู้เล่นและคุณลักษณะของศัตรูพร้อมกับจำนวนเต็มแบบสุ่ม: if ((player.dex - enemy.dex) + (player.speed - enemy.speed) + (player.luck - enemy.luck) + random_integer_below_6()) >= 10) { hit(enemy); } สิ่งนี้ทำให้การเล่นเกมที่ผิดธรรมชาติ: ผู้เล่นจะไม่พลาดศัตรูที่อ่อนแอและในทางกลับกันสำหรับผู้ที่แข็งแกร่ง ไม่มีใครรู้คำแนะนำเกี่ยวกับการต่อสู้ตามคุณลักษณะที่ใช้ในการเปิดเกมตาม ฯลฯ ? ฉันควร (และฉัน) คัดลอกกฎคำต่อคำทุกคำ D & D หรือไม่

10
มิดเดิลแวร์ของ AI ที่มีอยู่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว รายการที่เป็นประโยชน์ของมิดเดิลแวร์ AI โปรดระบุ URL ฟรี / โอเพนซอร์ซหรือมีใบอนุญาตและคำอธิบายโดยย่อเกี่ยวกับความสามารถ รูปแบบ: *Package* (License) Link Pros Cons
22 ai 

4
โมเมนตัมและลำดับของปัญหาการอัพเดทในเอนจิ้นฟิสิกส์ของฉัน
คำถามนี้คือ "ติดตาม" คำถามจากก่อนหน้านี้หนึ่งของฉันเกี่ยวกับการตรวจสอบการชนและความละเอียดที่คุณสามารถหาได้ที่นี่ หากคุณไม่ต้องการอ่านคำถามก่อนหน้านี่เป็นคำอธิบายสั้น ๆ เกี่ยวกับการทำงานของเครื่องมือฟิสิกส์ของฉัน: ทุกหน่วยงานทางกายภาพจะถูกเก็บไว้ในคลาสที่เรียกว่า SSSPBody รองรับเฉพาะ AABB SSSPBody ทุกคนถูกเก็บไว้ในคลาสที่เรียกว่า SSSPWorld ซึ่งจะอัปเดตทุกตัวและจัดการกับแรงโน้มถ่วง ทุกเฟรม SSSPWorld อัปเดตทุกส่วนของร่างกาย ร่างกายที่ได้รับการปรับปรุงทุกตัวจะมองหาวัตถุที่อยู่ใกล้เคียงในพื้นที่ว่างเปล่าตรวจสอบว่าพวกเขาต้องการตรวจจับการชนหรือไม่ ถ้าใช่พวกเขาเรียกใช้เหตุการณ์ "การชนกัน" และตรวจสอบว่าพวกเขาต้องการแก้ไขการชนกันหรือไม่ ถ้าใช่พวกเขาจะคำนวณเวกเตอร์การเจาะและการเหลื่อมกันของทิศทางจากนั้นเปลี่ยนตำแหน่งเพื่อแก้ไขการแทรกซึม เมื่อร่างกายชนกับวัตถุอื่นมันจะส่งผ่านความเร็วไปยังอีกความเร็วหนึ่งโดยการตั้งค่าความเร็วของร่างกายเป็นของมันเอง ร่างกายคือความเร็วถูกตั้งค่าเป็น 0 เมื่อมันไม่ได้เปลี่ยนตำแหน่งจากเฟรมสุดท้าย หากมันชนกับตัวถังที่เคลื่อนไหว (เช่นลิฟต์หรือแพลตฟอร์มที่กำลังเคลื่อนที่) มันจะคำนวณความแตกต่างของการเคลื่อนไหวของลิฟต์เพื่อดูว่าร่างกายไม่ได้เคลื่อนที่จากตำแหน่งสุดท้ายหรือไม่ นอกจากนี้เนื้อความจะเรียกเหตุการณ์ "ทับซ้อน" เมื่อมุม AABB ทั้งหมดซ้อนทับบางสิ่งบางอย่างในกรอบ นี้คือรหัสที่มาแบบเต็มของเกมของฉัน มันแบ่งออกเป็นสามโครงการ SFMLStart เป็นอินพุตการจัดการไลบรารีภาพวาดและการอัพเดตเอนทิตีที่ง่าย SFMLStartPhysics เป็นสิ่งที่สำคัญที่สุดโดยที่คลาส SSSPBody และ SSSPWorld นั้น PlatformerPhysicsTest เป็นโครงการเกมที่มีตรรกะของเกมทั้งหมด และนี่คือวิธี "อัปเดต" ในคลาส SSSPBody …

5
mmorpg เก็บข้อมูลอย่างไร
ฉันต้องการใช้ฐานข้อมูล sql ใน server.exe ของฉัน สมมติว่ามีผู้ใช้ 1,000 คนออนไลน์ และผู้เล่นจะเปลี่ยนข้อมูลเมื่อเล่น และเซิร์ฟเวอร์จำเป็นต้องบันทึกอัพเดตเหล่านี้ แต่อย่างไร ฉันคิดว่ามีสองวิธี: 1) เซิร์ฟเวอร์จะบันทึก ram ในเวลาใช้งานและบางครั้งหรือเซิร์ฟเวอร์รายชั่วโมงจะเขียนข้อมูล (อัพเดต) ไปยังฐานข้อมูล sql จาก ram แต่ถ้ากระแสไฟฟ้าดับหรือเซิร์ฟเวอร์ปิดตัวลงการอัพเดตจะไม่บันทึก แน่นอนฉันไม่ต้องการสูญเสียการปรับปรุง 2) เซิร์ฟเวอร์จะบันทึกอัปเดตในฐานข้อมูล ณ เวลาทำงาน แต่จะเกิดอะไรขึ้นกับความเร็ว ฉันคิดถึงวิธีการหนึ่ง ฉันจะแสดงให้คุณเห็นด้านล่างด้วยภาพ ฉันจะได้รับความเร็วที่เพียงพอสำหรับผู้เล่นออนไลน์ 1,000 คนด้วยวิธีนี้หรือไม่?

4
วิธีที่เร็วที่สุดในการวาดล่ามใน OpenGL ES?
ฉันใช้ OpenGL ES 2.0 ฉันมีกลุ่มที่จะต้องวาดรูปฉันชอบที่จะสามารถส่งผ่านเพียง 4 จุดต่อรูปสี่เหลี่ยมราวกับว่าฉันกำลังใช้ GL_QUADS แต่โดยทั่วไปฉันต้องการทราบวิธีที่ดีที่สุดในการวาดรูป พวงของคณะสี่คนแยกกัน จนถึงสิ่งที่ฉันได้พบว่าฉันสามารถทำได้: -GL_TRIANGLES (6 ยอดต่อหนึ่งรูปสี่เหลี่ยม) - สร้าง GL_TRIANGLE_STRIP (6 จุดต่อรูปสี่เหลี่ยม) ความเป็นไปได้ที่ฉันได้พบ: -GL_TRIANGLE_STRIPS ด้วยค่าดัชนีพิเศษที่รีเซ็ตแถบสี่เหลี่ยม (ซึ่งหมายถึง 5 ดัชนีต่อหนึ่งรูปสี่เหลี่ยม แต่ฉันไม่คิดว่าเป็นไปได้คือ OpenGL ES 2.0)
22 opengl  3d  iphone  android  shaders 

2
ฉันจะปิดการใช้งานการกรองพื้นผิวสำหรับสไปรท์สเกลใน XNA 4.0 ได้อย่างไร
ฉันมีเทพดาที่ฉันพยายามไต่ระดับขึ้นใน XNA แต่ XNA กำลังใช้การกรองพื้นผิวบางชนิดที่ทำให้มันเรียบและทำให้ดูน่าเกลียด ฉันต้องการให้พิกเซลเพิ่มเป็นสองเท่าแทนการแก้ไข ฉันจะทำให้สำเร็จได้อย่างไร

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

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

3
ทำไมถึงเรียกว่า "โร๊คไลค์" และ "เมตทรอยวาเนีย"
ตามชื่อเรื่องแล้วเกมแนวโร๊คไลค์และเมโตรอยวาเนียได้ชื่อมาจากไหน? ประเภทอื่น ๆ (ที่ฉันนึกได้) มีชื่อที่อธิบายได้ด้วยตัวเองเช่น: นักกีฬาคนแรก : คุณยิงและมันเป็นมุมมองของคนแรก เกมสวมบทบาท: คุณสวมบทบาทเป็นตัวละครตัวอื่น Massive Multiplayer Online : เกมออนไลน์ที่มีผู้เล่นหลายคนและรองรับผู้เล่นจำนวนมาก แต่ roguelike และ metrodvania ดูเหมือนจะไม่เกี่ยวข้องกับองค์ประกอบการเล่นเกมหลักเหมือนประเภทอื่น ๆ ดังนั้นทำไมพวกเขาเรียกว่าโร๊คไลค์และmetroidvania ?

2
ระบบเซ็นเซอร์คำหยาบที่เป็นตัวเลือกจะมีผลต่อการจัดอันดับอายุเช่นกันหรือไม่
โปรเจ็กต์เกมของฉันคือ RPG แบบบนลงล่าง 2D ที่มีตัวจำลองการนัดหมายและองค์ประกอบภาพที่มองเห็นอยู่ในนั้นและฉันมีบทสนทนาบางส่วนในเกมของฉันที่มีคำพูดไม่ดี อย่างไรก็ตามฉันเกรงว่าคำหยาบเหล่านั้นจะมีผลต่อการจัดอันดับอายุไม่เกิน 17 ปีขึ้นไปดังนั้นฉันจึงตัดสินใจที่จะตรวจสอบคำที่ไม่เหมาะสมก็ได้ ซึ่งหมายความว่าผู้เล่นสามารถเปิดใช้งานคำไม่ดีหลังจากยืนยันการปฏิเสธความรับผิดชอบตามกฎหมาย คุณลักษณะนี้จะให้คะแนนอายุที่เป็นมิตรมากขึ้นหรือไม่ ฉันตั้งเป้าหมายไว้ที่อายุ 15 ปีขึ้นไป

4
วิธีเข้ารหัสไฟล์โดยไม่ใช้กุญแจ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา สมมติว่าฉันสร้างโปรแกรมอย่างง่ายที่ใช้ไฟล์.datที่เข้ารหัสในรูปแบบ Binaryจากนั้นฉันถอดรหัสลงในอาร์เรย์ไบต์แล้วทุกอย่างจะถูกเขียนใหม่อีกครั้งลงในไฟล์ที่ถอดรหัส ตัวอย่างเช่น: ฉันได้สร้างอัลกอริทึมการเข้ารหัสแบบไบนารี => 0100100001100101001000000110100001100101011000 ... แต่มันง่ายมากในการถอดรหัส ... มีวิธีใดบ้างที่เป็นไปได้ถ้าไม่จำเป็นต้องใช้กุญแจในการเข้ารหัสความคืบหน้าการบันทึกของฉัน

3
ค่าความเร็วที่ไม่ใช่จำนวนเต็ม - มีวิธีที่สะอาดกว่านี้ไหม
บ่อยครั้งที่ฉันต้องการใช้ค่าความเร็วเช่น 2.5 สำหรับการย้ายตัวละครของฉันในเกมที่ใช้พิกเซล การตรวจจับการชนโดยทั่วไปจะทำได้ยากขึ้นหากฉันทำเช่นนั้น ดังนั้นฉันเลยทำอะไรแบบนี้: moveX(2); if (ticks % 2 == 0) { // or if (moveTime % 2 == 0) moveX(1); } ฉันประจบประแจงอยู่ข้างในทุกครั้งที่ฉันต้องเขียนมันมีวิธีที่สะอาดกว่าในการย้ายตัวละครที่มีค่าความเร็วที่ไม่ใช่จำนวนเต็มหรือฉันจะยังคงติดอยู่กับเรื่องนี้ตลอดไปหรือไม่?

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