คำถามติดแท็ก achievements

7
ฉันจะตั้งกรอบงานที่ยืดหยุ่นเพื่อจัดการกับความสำเร็จได้อย่างไร
โดยเฉพาะอย่างยิ่งวิธีที่ดีที่สุดในการใช้ระบบความสำเร็จนั้นมีความยืดหยุ่นเพียงพอที่จะจัดการกับความสำเร็จทางสถิติอย่างง่ายๆเช่น "ฆ่าxศัตรู" ฉันกำลังมองหาบางสิ่งที่แข็งแกร่งกว่าระบบที่อิงกับสถิติและสิ่งที่จัดระเบียบและบำรุงรักษาได้ดีกว่า "hardcode ทั้งหมดเป็นเงื่อนไข" ตัวอย่างบางอย่างที่เป็นไปไม่ได้หรือไม่แน่นอนในระบบที่ใช้สถิติ: "ฝานแตงโมหลังจากสตรอเบอร์รี่", "ลงไปในท่อในขณะที่อยู่ยงคงกระพัน" ฯลฯ

2
ฉันจะตรวจสอบได้อย่างไรว่าผู้เล่นได้สำเร็จหรือไม่?
ฉันสร้างเกม MMO และฉันเพิ่งมาถึงจุดที่ฉันต้องใช้ความสำเร็จ ... ฉันจะทำอย่างไร สิ่งที่ตรงไปตรงมาที่สุดที่ต้องทำคือเรียกใช้ทุก ๆ 100ms: for a in achievements for p in players if a.meetsRequirements(p) then p.completeAchievement(a) แต่นั่นก็ทำให้เกิดภาวะแทรกซ้อนมากขึ้น ตัวอย่างเช่นฉันจะตรวจสอบว่าความสำเร็จนั้นเสร็จสมบูรณ์ได้อย่างไร? ผู้เล่นมีคุณสมบัติที่กำหนดเองด้วยตัวเองเพื่อความสำเร็จที่เฉพาะเจาะจงหรือไม่? ฉันทำสิ่งนี้ด้วยเควสต์เพราะพวกเขาส่วนใหญ่จะ“ เก็บไม้ 100 อัน” ดังนั้นเควสต์ที่แอคทีฟของผู้เล่นจึงตรวจสอบว่า นอกจากนี้ต้องมีเวลาที่ดีกว่าในการตรวจสอบซึ่งจะทำให้เซิร์ฟเวอร์ของฉันช้าลงเป็นระยะฉันคิดว่า

3
ฉันควรรวมความสำเร็จจำนวนเท่าใดและมีความท้าทายอะไรบ้าง
ฉันรู้ว่าคำถามนี้เป็นนางฟ้ากว้างและเป็นส่วนตัว แต่ฉันสงสัยว่ามีงานวิจัยที่ตีพิมพ์เกี่ยวกับจำนวนความสำเร็จที่เหมาะสมที่สุดและความท้าทายที่พวกเขาควรนำเสนอ เกมคำถามนี้เกี่ยวข้องโดยตรงกับ shoot-em-up แต่คำตอบที่เหมาะคือทฤษฎีค่อนข้าง หากมีความสำเร็จน้อยเกินไปหรือไม่ท้าทายฉันคาดหวังว่าพวกเขาจะล้มเหลวในเป้าหมายเพื่อให้ผู้คนเล่น หากมีจำนวนมากเกินไปหรือพวกเขายากเกินสมควรฉันคาดว่าคนจะยอมแพ้อย่างรวดเร็ว ฉันเห็นเหตุการณ์ที่เกิดขึ้นใน Starcraft 2 เป็นการส่วนตัว ส่วนของความสำเร็จจะมีคุณชนะหลายร้อยเกมกับฝ่ายตรงข้าม AI ของพวกเขา (น่าเบื่อ!)

4
ทำไมไม่แสดงความคืบหน้าสู่ความสำเร็จ / ตรา?
ความสำเร็จอยู่ที่ใดก็ได้ในตอนนี้ - Xbox Live, ศูนย์เกม iOS, เกมหลายเกมและแม้กระทั่งในชุมชนสังคมที่มีองค์ประกอบเกมเช่น Stack Overflow คำขอของผู้ใช้ทั่วไปของกองมากเกินคือการแสดงความคืบหน้าต่อป้าย สิ่งนี้ถูกปฏิเสธโดย SO ดังที่เห็นในคำขอใช้งานนี้โดยที่ Jeff Atwood ทำข้อความต่อไปนี้: นี่เป็นแบบจำลองในรูปแบบ xbox live Achievement และนั่นไม่ได้แสดงความคืบหน้าเช่น .. โดยการออกแบบ Jeff เห็นด้วยกับการออกแบบ Xbox Live เมื่อปฏิเสธคำขอเพื่อแสดงความคืบหน้า แน่นอนว่า SO นั้นในทางเทคนิคไม่มีอะไรเหมือน Xbox Live ดังนั้นจึงสามารถอนุมานได้ว่านี่เป็นการตัดสินใจออกแบบไม่ใช่ทางเทคนิค ฉันกำลังทำงานกับเกมที่เรามีความสำเร็จและตอนนี้ความตั้งใจที่จะแสดงความคืบหน้า ดังนั้นฉันมีสองคำถาม: หากทราบว่า Xbox Live Achievement "โดยการออกแบบ" จะไม่แสดงความคืบหน้ามีแหล่งที่มาสำหรับสิ่งนี้หรือไม่? เหตุใดจึงเป็น "ตามการออกแบบ" กล่าวอีกนัยหนึ่งในแง่ของการออกแบบเกมอะไรคือเหตุผลที่ทำให้ไม่แสดงความก้าวหน้าของผลสำเร็จโดยเจตนา?

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

2
ผลที่ตามมาของการเพิ่มสถิติความก้าวหน้าให้กับความสำเร็จของ Steam แบบสดคืออะไร
บอกว่าฉันมีความสำเร็จในเกมของฉัน "สะสมสิ่งของชิ้นแรกของคุณ" และฉันจะเผยแพร่สิ่งนี้ให้กับเกมเวอร์ชั่นสดโดยไม่มีสถิติความคืบหน้า ต่อมาฉันตัดสินใจว่าฉันต้องการเพิ่มความสำเร็จใหม่ ๆ ในการอัปเดตซึ่งรวมถึงสิ่งที่อิงตามความสำเร็จก่อนหน้านี้: "รวบรวม 10 สิ่งที่คุณต้องการ" ฉันสร้างสถิติความก้าวหน้าสำหรับสิ่งนี้ซึ่งได้รับการอัปเดตในโค้ด แต่ฉันยังแก้ไขความสำเร็จดั้งเดิมเพื่อให้สามารถปลดล็อคผ่านสถิติความคืบหน้าแทนที่จะเป็นฟังก์ชัน AwardFirstThingamajigAchievement () ในโค้ด อะไรคือผลของสิ่งนี้ ผู้เล่นที่ปลดล็อกนี้แล้วพบว่าความสำเร็จได้รับการบรรจุซ้ำเนื่องจากความสำเร็จได้รับการแก้ไขแล้วทำให้เป็นเทคนิคใหม่หรือไม่ มันจะยังคงถูกปลดล็อก แต่ยังคงทำให้ป๊อปอัพเล็ก ๆ น้อย ๆ สำหรับความสำเร็จครั้งแรกในการเก็บ Thingamajig ครั้งต่อไปหรือไม่ หรือ Steam จะไม่แตะต้องความสำเร็จที่ปลดล็อกไปแล้วหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.