หากต้องการขยายข้อมูลเป็นความเชื่อมั่นของกษัตริย์เล็กน้อย (+1 ถึง Tetrad!):
ตรวจสอบการบันทึกและการเล่น :
- หากเกมของคุณถูกกำหนดไว้ล่วงหน้าและอิงกับเฟรมคุณอาจต้องเก็บเมล็ดเริ่มต้นแบบสุ่มเท่านั้นและจะมีการอัปโหลดเมื่อ
(key/button state, joystick/mouse coords, frame #)
ใดก็ได้ที่สถานะอินพุตเปลี่ยนแปลง การเล่นนั้นง่ายเหมือนการเปลี่ยนเส้นทางอินพุตของคุณไปยังสตรีมนี้ (เราเคยทำสิ่งนี้กับเกมกระโดดแพลตฟอร์มหลายครั้งในอดีต)
- หากเกมของคุณมี API หรือระบบข้อความที่กำหนดไว้อย่างดีสำหรับการดำเนินการ (เกมวางแผนแบบเลี้ยว, เกมไพ่, เกมกระดานหรือสิ่งที่คล้ายกัน) คุณอาจจะสามารถเก็บเกี่ยวการโทรหรือข้อความ API ที่จุดใดจุดหนึ่ง . (เราทำสิ่งนี้เพื่อเกมไพ่สำหรับแพลตฟอร์มมือถือ)
- มันยากขึ้นในบางระบบ (ระบบที่กำหนดน้อยลง, เป็นเกลียวหรือระบบกำหนดเวลาโดยพลการอาจเป็นความเจ็บปวด) แต่มันก็คุ้มค่าที่จะบันทึกข้อมูลต่อไป คุณสามารถรับผลลัพธ์ "ใกล้พอ" สำหรับการใช้งานบางอย่าง
ระบบ "เล่นซ้ำ" ตามวิธีการเหล่านี้มีข้อดีมากมาย:
- ใช้มันเพื่อทำซ้ำการล่มในการดีบักหรือสร้างหรือสภาพแวดล้อมที่ใช้เครื่องมือ
- โหลดรีเลย์ภายใต้บิลด์โปรไฟล์และรับข้อมูลประสิทธิภาพหรือการใช้ทรัพยากร
- โยงเข้าสู่เกมเพื่อให้ฟังก์ชั่น "เล่นซ้ำทันที" อาจมีกล้องหรือขั้นตอนเวลาอื่น
- ตั้งค่าการสาธิตการเล่นเกม "โหมดดึงดูด" หากผู้ใช้ทำงานโดยไม่ทำอะไรเลยบนเมนู
- วางไว้ในระบบการสร้างของคุณเป็นการทดสอบควัน: ถ้าฉันสามารถเล่นรีเพลย์นี้ได้โดยไม่ต้องหยุดทำงานมันน่าจะเป็นงานสร้างที่ดีกว่า
- ดูตัวอย่างของคนที่เล่นเพื่อดูสิ่งที่พวกเขาทำและไม่ได้ทำ
ต่อสายเข้าแบบสุ่มแทนที่จะสตรีมที่บันทึกไว้และคุณจะได้รับการทดสอบลิงที่ยอดเยี่ยมซึ่งคุณสามารถปล่อยให้แช่ค้างคืนหรือเมื่อใดก็ตามที่เครื่องจักรของคุณไม่ได้ทำงาน
ถัดไปทำบางบันทึกเหตุการณ์ สำหรับ FPS สมมุติเริ่มต้นด้วยบางสิ่งเช่น "เวลา T: X ฆ่า Y ที่จุด Z ด้วยอาวุธ W": ใส่มันลงในบันทึก
เมื่อคุณมีข้อมูลบางส่วนถูกเก็บรวบรวมตัวเลขวิธีการทำงานโดยอัตโนมัติคอลเลกชัน มันไม่จำเป็นต้องสวยงามในระหว่างการพัฒนา:
- เชื่อมต่อกับเซิร์ฟเวอร์ SQL และแทรกแถว
- เริ่มต้นและลืมแพ็กเก็ต UDP ที่เซิร์ฟเวอร์ syslog-ish ง่ายๆ
- ส่งอีเมลบันทึกในครั้งต่อไปที่เกมบู๊ต
- เพียงห่อไฟล์ปฏิบัติการในเชลล์สคริปต์หรือไฟล์แบตช์ที่เปลี่ยนชื่อและคัดลอกไฟล์. log ไปยังไดรฟ์ที่ใช้ร่วมกันทั่วไป
- (ภายหลังสำหรับบิลด์การผลิต) ใช้การรายงานข้อผิดพลาดของ Windows หรือบริการที่คล้ายกันเพื่อรวบรวมข้อมูลความขัดข้อง ...
ไม่สำคัญหรอกตราบใดที่คุณสามารถรวบรวมข้อมูลได้
ตอนนี้ขยาย: รวบรวมการทิ้งความผิดพลาด, การติดตามสแต็กและอินพุตหรือการบันทึกเหตุการณ์ เพิ่มกิจกรรมเพิ่มเติมและแหล่งข้อมูลเพิ่มเติม:
- ตัวอย่างตำแหน่งผู้เล่นหรือมือทุก ๆ 10 วินาทีวางลงบนแผนที่ - "เฮ้ไม่มีใครใช้มุมนี้ที่ฉันใช้เวลาหนึ่งสัปดาห์ในการสร้างแบบจำลองเวลาที่จะทำให้มีพลัง"
getFreeMemoryBytes()
ทุกครึ่งนาที
getFPS()
เป็นระยะ ๆ
- ถ่ายภาพหรือวิดีโอสิ่งที่ผู้ใช้ทำผ่านเว็บแคม (เหมาะสำหรับการทดสอบการใช้งานอัตโนมัติ - เฉพาะเมื่อได้รับอนุญาตจากผู้ใช้และเข้าใจแน่นอน)
- คว้าข้อมูลระบบ (อีกครั้งด้วยการอนุญาตจากผู้ใช้)
สิ่งที่ "พล็อตมันลงบนแผนที่" นั้นยอดเยี่ยมมาก ๆ หลังจากผ่านไประยะหนึ่ง: มองเห็นภาพมุมมองทางอากาศของแผนที่ RTS หรือ FPS วางแถบเลื่อนเพื่อแสดงเวลาตั้งแต่เริ่มเกม เลือกประเภทเหตุการณ์ ("ได้ทอง", "ฆ่าใครซักคน", อะไรก็ได้) เลือกชุดข้อมูล: อาจเป็นหนึ่งเกมอาจจะ 500 เกมในช่วงไม่กี่เดือนที่ผ่านมา เริ่มดึงตัวเลื่อนไปทางขวาและดูกิจกรรมที่ปรากฏบนแผนที่
และถ้าคุณไม่สามารถหา libs ที่ดีที่จะช่วยคุณได้ (มีอยู่ไม่กี่ที่นี่และที่นั่น!) ให้พิจารณาการหมุนของคุณเอง: มันเป็นประสบการณ์การเรียนรู้ที่ดีและไม่จำเป็นต้องสวยงามเป็นพิเศษ ที่จะเป็นประโยชน์
รับข้อมูลคุณจะทราบว่าจะทำอย่างไรกับมัน =)
** Don't help them **