เด็กหัวร้อนวิเคราะห์ PUBG

TITIPATA bio photo

By TITIPATA

ชอบฟังเพลงอินดี้และอัลเทอร์เนทีฟ เวลาว่างชอบเขียนโปรแกรมและเล่นเกม

Email Twitter Google+ Github

Reading time ~8 minutes

TITIPATA bio photo

By TITIPATA

ชอบฟังเพลงอินดี้และอัลเทอร์เนทีฟ เวลาว่างชอบเขียนโปรแกรมและเล่นเกม

Email Twitter Google+ Github

คำเตือน โพสต์นี้มีคำหยาบเนื่องจากผู้เขียนเพิ่งเล่น PUBG Mobile มาและไม่ชนะซักที หัวร้อนสัสครับ

เกริ่นนำ

ชีวิตบางครั้งก็ต้องการพักพ่อน ออกไปวิ่ง ขับรถ ขับเรือบ้างไรบ้าง สำหรับเรา เราเลือกการพักผ่อนเหล่านี้โดยการนั่งอยู่กับมือถือและเปิด PUBG (Playerunknown’s Battlegrounds) ทำไมหน่ะหรอ? ก็เพราะเกมนี้ตอบสนองการพักผ่อนทั้งหมดของเรา ทั้งได้ออกไปวิ่ง(หนีกระสุน) ขับรถ(เหยียบคน) และขับเรือออกไปเกาะ ขึ้นไปดูวิวบนประภาคาร เกมนี้ให้ครบทั้งหมดเลยฮะ

ขับรถ
ขับเรือ

เอาจริงๆละ! ทิี่กล่าวมาข้างต้นมันจริงนะ แต่ไม่ทั้งหมด อิสัส PUBG คือเกมที่เราปล่อยคนหัวร้อนมือเปล่า 100 คนลงไปในเกาะ ในเกาะมีอาวุธ ระเบิด ชุดเกราะให้เราเก็บเพื่อเอาไปสู้กับคนอื่น รวมถึงพาหนะเช่นรถ เรือ มอเตอร์ไซค์ให้เราเก็บครับ หน้าที่ของเราคือการเอาชีวิตอยู่ให้รอดถึงคนสุดท้ายหรือทีมสุดท้ายในเกมโดยฆ่าคนอื่นๆที่เจอด้วยวิธีการอะไรก็ได้ จะยิง จะตี จะขับรถทับ อะไรก็ได้ เมื่อเวลาผ่านไปเกมจะมีบริเวณของวงในแผนที่ซึ่งเราต้องเข้าไปไม่เช่นนั้นจะเสียเลือดและตายถ้าอยู่นอกวง (มาถึงจุดนี้ใครที่ไม่ได้เล่นก็หยุดอ่านเถิดครับ 555)

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

ในโพสต์นี้เราจะเอาข้อมูลจากการเล่นทั้งหมด 700,000 เกมและจุดที่คนโดนยิงตายกว่า 67 ล้านจุดมาวิเคราะห์กัน เพื่อจะทำให้เราเข้าใจเกมมากขึ้น เพื่อเอาความเป็นที่หนึ่งมาให้ได้ ทาเคชิ! ส่วนใครที่อยากจะวิเคราะห์ข้อมูลก็ไปโหลดมาเล่นกันได้จาก kaggle.com เลยจ่ะ (ขนาด 4 GB นะใหญ่นิดนึง)

ภาพถ่ายหมู่ที่ประภาคาร ณ​ เกาะสมุย มิราม่า

ความตายที่มาเป็นระลอก

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

ความน่าจะเป็นของการตายเมื่อเวลาในเกมผ่านไป 5 นาทีแรกโหดร้าย และโหดร้ายอีกทีที่ 3 พีคหลัง

ระยะของผู้ยิงและผู้ตาย

ในข้อมูลที่ได้มาเรารู้จุดของคนยิงและคนตายครับ ถ้า (x1, y1) คือจุดของผู้ยิง และ (x2, y2) คือจุดของผู้ถูกยิง จากทฤษฎีบทพีทาโกรัส เราสามารถคำนวณระยะได้ว่าคนยิงแมร่งมาจากไหนครับ

ในที่นี้เราจะมาพล็อตดูกันว่าในทั้งสองแผนที่ในเกม โอกาสของระยะที่คนยิงมาส่วนมากมาจากไหนกัน

ความน่าจะเป็นของระยะยิงในแผนที่ Erangel และ Miramar

(เดี๋ยวจะมาเพิ่มให้ว่าอาวุธไหนถูกใช้ยิงระยะไกลบ้าง)

อาวุธฮิต

แต่ละคนมีอาวุธประจำกายไม่เหมือนกัน บางคนชอบ UMP บางคนชอบ AKM บางคนชอบ M416, M164A เราจะมาดูกันชัดๆว่าอาวุธไหนใช้ฆ่าคนในเกมไปเยอะกว่ากัน

จากพล็อตของทั้งสองแม็พ เราพบว่า M416 เป็นอาวุธยอดฮิตที่ใช้ฆ่าคน ถ้าเป็น Miramar อาวุธฮิตถัดไปคือ SCAR-L ต่อด้วย M164A แต่ถ้าเป็น Erangel เป็น M164A และ SCAR-L

แต่สำหรับผมนั้น จะใช้ปืนอะไร ก็ยิงคนตายหมดหล่ะครับ

อาวุธที่คนฮิตกัน (นับจากจำนวนคนที่ตายด้วยอาวุธนั้นๆ)

ณ​ จุดเกิดเหตุ

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

สำหรับทีมของผมนั้น ส่วนมากก็ลงตรงที่เค้ายิงๆกันอ่ะครับ เพราะพวกเราคือผู้อยู่รอด (แซวเล่นนะ หนีตายตลอดเวลา)

ทำนายว่าวงจะไปปิดที่ไหน

นอกจากการใช้สัญชาตญาณแล้ว เราจะใช้ข้อมูลเข้ามาช่วยว่าสุดท้ายแล้ว วงน่าจะไปจบที่ไหนกัน จริงๆแล้วเราไม่รู้จากข้อมูลว่าวงไปจบที่ไหน แต่ว่าเรารู้ว่าคนสุดท้ายที่ตาย มันไปตายตรงไหนครับ

เราสามารถใช้ข้อมูลของคนที่ตายคนก่อนสุดท้ายมาดูได้ว่าวงมันน่าจะไปจบอยู่แถวไหน

ข้างล่างนี้คือความน่าจะเป็นของจุดที่วงมันน่าจะไปปิด เราเข้าใจว่าทุกคนอาจจะอยู่ไม่ถึงเวลานั้นถ้าเล่นเกมเดียวกับเรา

ไม่น่าเชื่อว่าสำหรับ Miramar วงไม่ค่อยไปจบแถว Los Leones แต่กลับเป็น San Martin, La Benita หรือ Chumacera ส่วน Erangel วงค่อยข้างปิดกว้างไปจบแถวไหนก็ได้ครับ

อารัมภบท

ไม่สรุปครับ หัวร้อนพึ่งแพ้มา

แต่ตอนนี้ผู้เขียนโพสต์​แรงค์ Platinum IV PUBG Mobile เจอได้ครับสึส!

ใช้ data ช่วยเล็กน้อย ใช้ฝีมือช่วยได้เยอะ
รถอะไรไต่ถังก็ได้ด้วย

อ้างอิง

  • ข้อมูลและโค้ดบางส่วนมาจาก kaggle.com

จาก Reinforcement Learning จนมาเป็น Deep Reinforcement Learning (ฉบับพกพา)

ทำความรู้จักการเรียนรู้แบบเสริมกำลัง (reinforcement learning) ตั้งแต่เบื้องต้น จนมาเป็น Deep Reinforcement Learning ได้ในงานวิจัยปัจจุบัน

[Python] profiler ด้วย line_profiler

Published on February 09, 2019

[รีวิว] เน็ตบ้าน AIS

Published on February 05, 2019