ฉันจะสร้าง heatmaps จากผู้เล่นที่รายงานข้อมูลได้อย่างไร


17

สำหรับตัวอย่างที่ดีจริง ๆ ของสิ่งที่ฉันกำลังพูดถึงดูว่านักพัฒนาของ Replica Island ทำตามความตายของผู้เล่นได้อย่างไร: http://www.youtube.com/watch?v=7-62tRHLcHk&feature=player_embedded#t= 37m

ฉันจะสร้าง heatmaps จากข้อมูลที่ฉันส่งได้อย่างไร

Halo 3 เป็นอีกตัวอย่างที่ดีของการใช้ heatmap ในการรายงานข้อมูลเกม: http://www.bungie.net/Online/Heatmaps.aspx


คำตอบ:


9

สมมติว่าคุณมีชุดข้อมูลที่คุณต้องการพล็อตอยู่แล้วและแผนที่ที่คุณต้องการพล็อตคุณสามารถเริ่มต้นด้วยการสร้างแผนที่ความเข้ม: ตารางของค่าจุดลอยที่เป็นสัดส่วนในขอบเขตของแผนที่สุดท้าย (ถ้าแผนที่ มีขนาดเล็กพอที่ 1: 1 น่าจะใช้ได้) เริ่มต้นอาร์เรย์ทั้งหมดเป็น 0

จากนั้นคุณเดินผ่านแต่ละจุดที่คุณต้องการพล็อตแมปเข้าไปในพื้นที่ประสานงานของแผนที่ความเข้ม (ซึ่งควรจะเป็นการดำเนินการตามมาตราส่วนแบบธรรมดา) จากนั้นวางแผน "blip" ในแผนที่ความเข้มที่กึ่งกลางที่ตำแหน่งนั้น

"blip" พื้นฐานอาจประกอบด้วยการเพิ่มความเข้มที่จุด blip บวกรัศมีบางส่วนด้วยจำนวนเล็กน้อย การใช้งานที่ซับซ้อนมากขึ้นสามารถอ่านความเข้มที่มีอยู่และใช้รัศมี falloff ที่ใหญ่กว่ายิ่งจุด blip มีความเข้มมากขึ้น คุณสามารถทดลองกับ blip plotter เพื่อค้นหาการนำไปใช้ที่คุณชอบ

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

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

หากคุณมีข้อมูลเพียงพอก่อนที่จะค้นหาความเข้มต่ำสุดและสูงสุดที่คุณคาดว่าจะเห็นในชุดข้อมูลคุณสามารถหลีกเลี่ยงการทำให้ปกติเป็นปกติได้ - โดยทั่วไปถ้าคุณมีแผนที่ระหว่าง (X, Y, Z) ถึงจำนวน " Hit "ของข้อมูลที่พล็อตที่เกิดขึ้น ณ จุดนั้น - นั่นคือสิ่งที่คุณสามารถสร้างในระบบที่รวบรวมข้อมูลซึ่งจะช่วยให้คุณปรับส่วนการแมปให้เหมาะสม

เนื่องจากแผนที่ความเข้มเป็นเพียงภาพสีเทาเป็นวิธีที่ง่ายมากในการสร้างต้นแบบระบบชนิดนี้เพื่อใช้บิตแมปสำหรับแผนที่ความเข้มและ API การวาดของคุณที่เลือก (ตัวอย่างเช่นSystem.Drawingใน C #) เพื่อพล็อตวงกลมที่โปร่งใสบางส่วน สร้างแผนที่ความเข้ม มันดูไม่ดีที่สุด แต่มันใช้งานได้ดี


3

Echo Chamberเป็นเครื่องมือบันทึกและสร้างภาพฟรีที่ออกแบบมาสำหรับเกมโดยเฉพาะ

เห็นภาพของไฟล์ข้อมูล SQL ที่มีข้อมูลที่สร้างขึ้นโดยแอปพลิเคชัน c ++ ข้อมูลอาจเป็นคำสั่งบันทึกการเรียกใช้ฟังก์ชันภาพหน้าจอหรือรายการพารามิเตอร์

ดูตัวชี้วัดเกม 2D และ 3D เช่นตำแหน่งตายอาวุธที่ใช้บ่อยที่สุดและการใช้หน่วยความจำในส่วนต่าง ๆ ของระดับ

ระบบบันทึกมีอินเทอร์เฟซ C ++ (ซึ่งคล้ายกับ printf () ที่ส่งออกไปยังฐานข้อมูล SQL ซึ่งเป็นทางเลือกในเครือข่าย) แต่ Echo Chamber ควรจะสามารถเห็นภาพฐานข้อมูล SQL ใด ๆ (หรือควรสร้างฐานข้อมูลใน รูปแบบที่ Echo Chamber คาดหวัง) การนำทางเว็บไซต์เป็นป้านบิต; ที่เกี่ยวข้องคู่มือก้องหอการค้าและเชื่อมโยงการทำงาน Raknet การเข้าสู่ระบบ

น่าเสียดายที่ไม่มีสกรีนช็อตของแผนที่ความร้อนในการทำงาน แต่ Echo Chamber สนับสนุนแผนที่ความร้อนอย่างแน่นอน:

ป้อนคำอธิบายรูปภาพที่นี่


2

ตัวอย่างเช่นรับพิกัดในเหตุการณ์ที่กำหนดในเกม ตัวอย่างเช่นเมื่อผู้เล่นเสียชีวิตคุณจะได้รับพิกัดใน Scenegraph ของคุณซึ่งผู้เล่นเสียชีวิต

ดังนั้นเมื่อคุณมีค่าที่คุณต้องการในฐานข้อมูลของคุณให้ระบุแต่ละพิกัดว่ากี่ครั้งที่มันปรากฏในรายการ / ฐานข้อมูลของคุณ คุณจะมีรายการสิ่งที่ชอบ:

  • 15: 1,5
  • 10: 6.15
  • 3: 27,58

หรือคุณค่าของคุณคืออะไร คุณจะมีความถี่ที่จับคู่กับพิกัดเหมือนคู่คีย์ -> ค่า จากนั้นคุณสามารถวัดปริมาณสเกลของคีย์เป็นสี ตัวอย่างเช่นคีย์ 0 คือสีดำและรหัสสูงสุดที่คุณมีในรายการคีย์ - ค่าของคุณคือสีแดงและทุกอย่างระหว่างนั้นคือการไล่ระดับสีระหว่างสีดำ, สีกลางจุดสีเหลืองและสีแดงจุดสูงสุด ปริมาณผลแต่ละสีให้เป็นสีและคุณมีมัน


1
สำหรับเกมสามมิติหรือแม้แต่เกมที่ไม่มีตำแหน่งหนึ่งเดียวคุณสามารถขยายเพิ่มเติมได้โดยการเรนเดอร์วงกลมหรือการไล่ระดับสีทรงกลมของรัศมีบางส่วน
dash-tom-bang

2

ฉันไม่แน่ใจว่าคุณกำลังมองหาแอพหรืออัลกอริทึมสำหรับแอพนี้หรือไม่ ฉันมีความสุขที่ได้สร้างซอฟต์แวร์สร้างภาพแผนที่ความร้อนขึ้นมาเองและมันสนุกมาก

การค้นหาโดย Google อย่างรวดเร็วเปิดเผยHeatMap APIซึ่งอาจเป็นโซลูชันที่เหมาะสมหากคุณไม่ต้องการให้โฆษณาของคุณเอง

บางทีถ้าคุณอธิบายสิ่งที่คุณกำลังมองหา (แอพพลิเคชั่นที่ชาญฉลาดหรือการเขียนโปรแกรมที่ชาญฉลาด) เราสามารถช่วยคุณได้ดีกว่า


0

สิ่งอื่นที่คุณสามารถทำได้คือเพียงแค่ส่งข้อมูลที่เกี่ยวข้องไปยังไฟล์ CSV หรือบางสิ่งจากนั้นนำเข้าข้อมูลด้วยซอฟต์แวร์สถิติ (เช่น Microsoft Excel, LibreOffice Calc, R หรือ GNUPlot) และปล่อยกราฟออกมา ถ้าคุณรู้ว่าเชลล์สคริปต์เล็กน้อย (หรือแบทช์ถ้าคุณใช้ Windows) คุณอาจทำสิ่งทั้งหมดโดยอัตโนมัติ

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