2 คะแนน โดย GN⁺ 2024-04-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บิลด์ของ Mario Kart 8 มีสมรรถนะต่างกันตามการผสมผสานระหว่างนักขับ ตัวรถ ยาง และเครื่องร่อน ทำให้การเลือก บิลด์ที่ดีที่สุด จากตัวเลือกจำนวนมากเป็นเรื่องยาก
  • หากดูแค่ความเร็ว Bowser หรือ Wario อาจดูเป็นตัวเลือกที่ดี แต่การเลือกสำหรับการแข่งขันจริงใกล้เคียงกับการเพิ่มประสิทธิภาพหลายเป้าหมายที่พิจารณา ความเร็วและอัตราเร่ง ร่วมกัน
  • ตัวเลือกอย่าง Koopa ที่ช้ากว่าเมื่อมีอัตราเร่งเท่ากัน หรือมีอัตราเร่งต่ำกว่าเมื่อมีความเร็วเท่ากัน สามารถคัดออกได้ในฐานะ ตัวเลือกที่ถูกครอบงำ
  • ตัวเลือกที่เหลือจะก่อเป็น Pareto front แต่ภายในนั้นอะไรดีที่สุดจะขึ้นอยู่กับสไตล์การเล่นและน้ำหนักที่ให้กับค่าสถิติ
  • เมื่อความชอบยังไม่แน่นอน Pareto front ไม่ได้ให้คำตอบเดียวตายตัว แต่ช่วยลดขอบเขตการทดลองโดยตัดชุดผสมที่ด้อยกว่าอย่างชัดเจนออกไป

ลดบิลด์ Mario Kart 8 ด้วย Pareto front

  • บิลด์ของ Mario Kart 8 ประกอบด้วย 4 องค์ประกอบคือ นักขับ, ตัวรถ, ยาง, เครื่องร่อน และแต่ละองค์ประกอบมีค่าสถิติสมรรถนะ เช่น ความเร็วและอัตราเร่ง
  • แต่ละองค์ประกอบมีตัวเลือกหลายสิบแบบ และแม้บางส่วนจะต่างกันแค่สไตล์แต่มีค่าสถิติเหมือนกัน เมื่อตัดรายการซ้ำออกแล้วก็ยังเหลือชุดผสมอีกหลายพันแบบ
  • หากดูค่าสถิติเดียว การเลือกจะง่ายขึ้น
    • เช่น หากจัดอันดับนักขับโดยใช้เฉพาะ ความเร็ว เป็นเกณฑ์ Bowser หรือ Wario ก็จะดูเป็นตัวเลือกที่สมเหตุสมผล
  • เมื่อพิจารณาความเร็วและอัตราเร่งร่วมกัน ตัวเลือกแต่ละแบบจะมีข้อดีข้อเสียต่างกัน ทำให้ยากที่จะตัดสินตัวเลือกที่ดีที่สุดด้วยอันดับแบบง่าย ๆ
  • หากตัวเลือกหนึ่งเท่ากับหรือแย่กว่าตัวเลือกอื่นในทุกค่าสถิติที่พิจารณา ตัวเลือกนั้นจะเป็น ตัวเลือกที่ถูกครอบงำ
    • ในตัวอย่าง Koopa มีความเร็วต่ำกว่า Cat Peach เมื่อมีอัตราเร่งเท่ากัน และมีอัตราเร่งต่ำกว่า Toadette เมื่อมีความเร็วเท่ากัน
    • ตัวเลือกเช่นนี้สามารถตัดออกจากกลุ่มผู้สมัครได้เมื่อเป้าหมายคือการชนะ
  • ตัวเลือกที่มีประสิทธิภาพและไม่ถูกครอบงำจะก่อเป็น Pareto front หรือ Pareto frontier
  • ประสิทธิภาพแบบ Pareto เป็นเกณฑ์สำหรับกรองตัวเลือกที่ด้อยกว่าอย่างเป็นวัตถุวิสัย แต่ไม่ได้หมายความว่าทุกตัวเลือกบน frontier จะดีเท่ากัน
    • หากต้องการความเร็วและอัตราเร่งที่สมดุล อาจหลีกเลี่ยงนักขับที่อยู่สุดขอบของ frontier
    • การเลือกสุดท้ายจะขึ้นอยู่กับสไตล์การเล่น ทักษะ และการให้น้ำหนักกับค่าสถิติใดมากกว่า

Trade-off ที่เกิดซ้ำแม้อยู่นอก Mario Kart

  • Trade-off ที่มีโครงสร้างเดียวกันพบได้บ่อยนอกเกมเช่นกัน
  • หากรู้ค่าน้ำหนักที่แน่นอนของแต่ละมิติ หรือก็คือ utility function ก็สามารถรวมหลายมิติให้เป็นค่าเดียวและเปลี่ยนเป็นการเพิ่มประสิทธิภาพเป้าหมายเดียวได้
  • เมื่อไม่ทราบ utility function หรือยังไม่แน่นอน Pareto front จะมีประโยชน์ในการกำจัดตัวเลือกที่ไม่มีประสิทธิภาพอย่างชัดเจน
  • Pareto front ไม่ได้บอกตัวเลือกที่ดีที่สุดเพียงหนึ่งเดียวตั้งแต่ต้น และยังต้องทดลองตัวเลือกที่มีประสิทธิภาพซึ่งเหลืออยู่ด้วยตนเองเพื่อเลือกสิ่งที่เหมาะกับตัวเอง

สมมติฐานที่ทำให้ง่ายขึ้นและแหล่งข้อมูล

  • มี สมมติฐานแบบทำให้ง่ายขึ้น ที่ต่างจากการคำนวณภายในเกมจริง
    • ค่าสถิติจะถูกแปลงเป็นค่าสถิติอนุพันธ์ในเกม และไม่ได้สัมพันธ์เชิงเส้นกับค่าสถิติพื้นฐานเสมอไป
    • อุปกรณ์นอกจากนักขับมีค่าสถิติความเร็ว 4 รายการและค่าสถิติการควบคุม 4 รายการ แต่ในบทความนี้นำมาคิดเป็นค่าเฉลี่ยอย่างง่าย
    • รูปแบบเฉพาะของ utility function ถูกซ่อนไว้ และอาจมีบทบาทมากในการเลือกจริง
  • ข้อมูลอ้างอิงจาก Mario Kart 8 Deluxe in-game statistics และ Mario Kart and the Pareto Frontier

1 ความคิดเห็น

 
GN⁺ 2024-04-05
ความคิดเห็นจาก Hacker News
  • ภาพประกอบ/บทความนี้แสดงให้เห็นปัญหา ตัวเลือกเพื่อให้มีตัวเลือก ซึ่งเป็นสิ่งที่ส่วนตัวไม่ชอบในเกมดีไซน์ยุคนี้ได้ดีมาก
    ดูเหมือนนักออกแบบจะตกหลุมพรางของการให้คุณค่ากับข้อความอย่าง “มีบิลด์มากกว่า 700,000 แบบ!” มากเกินไป พวกเขาผลักภาระของการระเบิดเชิงจัดหมู่แบบนี้ไปให้ผู้เล่น และถ้าตัวเลือกเหล่านั้นไม่ได้ทำให้ประสบการณ์หลักของเกมดีขึ้นอย่างมีนัยสำคัญ ก็เท่ากับทำให้เสียเวลา โดยเฉพาะถ้าผู้เล่นที่ชำนาญสามารถตัดพื้นที่ตัวเลือกส่วนใหญ่ออกได้อย่างปลอดภัย และยังไงก็มีอินเทอร์เน็ตอยู่แล้ว เดี๋ยวก็มีใครสักคนคำนวณออกมาได้อยู่ดี ไม่เข้าใจว่าทำไมต้องซ่อนองค์ประกอบการแข่งขันไว้หลัง ปัญหา convex optimization และคงพูดได้ยากว่ามันทำไปเพื่อความสนุก
    การจัดอุปกรณ์ในเกม FPS ก็เป็นตัวอย่างของกระแสนี้ ปืนหนึ่งกระบอกยังมี trade-off ของกล้องเล็ง ลำกล้อง อุปกรณ์ติดใต้ปืน แม็กกาซีน กระสุน ฯลฯ และก่อนหน้านั้นก็ยังต้องเลือกคลาส/อาวุธอยู่แล้ว ถ้าแก่นของ FPS คือการวางตำแหน่งเชิงยุทธวิธีและการเล็ง ตัวเลือกเหล่านี้ก็ให้ความรู้สึกเหมือนลูกเล่นราคาถูกที่พยายามดูดเวลาเล่นเพิ่มอีกนิด แฟรนไชส์อย่าง Halo และ Battlefield ก็ตกหลุมพรางนี้จนทำให้ชื่อเสียงเสียหาย
    ตัวเลือกที่เสริมการเล่นหลักยังเป็นไปได้ เช่น ระบบเศรษฐกิจในแต่ละรอบของ Counter-Strike แต่ถ้าตัวเลือกทั้งหมดที่ให้ผู้เล่นเกิดขึ้นแค่ในเมนู ก็ควรมองว่าเป็นสัญญาณอันตราย วงการเกมดีไซน์ควรให้น้ำหนักกับ การเล่นและการเล่าเรื่อง มากกว่าสถิติ/คอมบินาทอริกส์

    • ขึ้นอยู่กับเหตุผลที่เล่น ภาระของการระเบิดเชิงจัดหมู่ จะเป็นปัญหาเฉพาะเมื่อพยายามทำ min-max optimization เท่านั้น ถ้าเล่นเพื่อความสนุก มันก็ใกล้เคียงกับ “ชอบตัวละครไหน” หรือ “ปีกแบบไหนสวย” มากกว่า
      สิ่งสำคัญที่สุดคือไม่บังคับวิธีเล่นของคนอื่น ถ้าเขาไม่ได้ถามตรง ๆ ก็ไม่ควรบอกว่า “X ดีที่สุด ต้องเลือกอันนี้” แต่ควรปล่อยให้แต่ละคนเล่นในแบบของตัวเอง
    • การเล่นและการเล่าเรื่องกระตุ้น ความอยากสะสมและนิสัยชอบเสี่ยงดวง ได้ไม่ดีเท่า “ทุกอย่างที่ปลดล็อกได้”
      โดยรวมเห็นด้วยว่าวิธีแบบนี้เป็นลูกเล่นราคาถูกและพบได้บ่อยเกินไป ถึงอย่างนั้น การให้ “สิ่งที่ต้องทำ” แก่ผู้เล่นผ่านการปลดล็อกคอนเทนต์ก็ยังมีความหมายอยู่ มันช่วยเติมความรู้สึกว่า “นี่คือเหตุผลที่ฉันยังเล่นเกมนี้อยู่” ลงไปในประสบการณ์
    • ที่แย่กว่านั้นคือมันทำให้ผู้เล่นบางคนกลายเป็น เหยื่อให้เอาเปรียบ ผู้เล่นจริงจังไม่ได้มีแค่ประสบการณ์และฝีมือเท่านั้น แต่ตอนนี้ยังสามารถเริ่มด้วยตัวละครที่เอาชนะมือใหม่ได้แม้จะมัดมือข้างหนึ่งไว้
      ทุกคนรู้กันดีว่ามีคนประเภทที่พอเล่นด้วยแล้วดูดความสนุกของทุกคนไปหมด สำหรับคนขายเกมแล้ว นี่ไม่ใช่แค่แย่ แต่ยังเป็นการออกแบบที่โง่ด้วย
    • ในแนว ARPG/Diablo นั้น Path of Exile เป็นกรณีที่เกือบแย่ที่สุด ตัวละครแต่ละตัวเติบโตไปตามกราฟ 2D ของ passive skill node มากกว่า 1,300 จุดที่เชื่อมกันตามพื้นที่ และเลือกได้เพียงราว 100 จุดเท่านั้น แถมการย้อนกลับก็แพงหรือทำไม่ได้
      อย่างไรก็ตาม ตัวเลือกที่ท่วมท้นทำให้เกิดชนชั้นของผู้เชี่ยวชาญและผู้สร้างบิลด์ที่ผู้เล่นทั่วไปพึ่งพาได้ อยากให้ตัวเกมมีเครื่องมือสำหรับสำรวจสิ่งนี้มากขึ้น เช่น ระบบไกด์บิลด์ในเกม
    • เกมอย่าง Mario Kart ควรมีสองโหมด คือ โหมดปาร์ตี้ ที่ทุกคนเล่นด้วยเงื่อนไขเดียวกัน และโหมดผู้เชี่ยวชาญที่ macro strategy มีบทบาทมากขึ้น
      แม้ในปาร์ตี้ ค่าสถานะของตัวละครที่ต่างกันก็ทำให้เกมมีไดนามิกมากขึ้น และสุดท้ายก็สนุกขึ้น ปัญหาคือมีใครบางคนใช้เวลาทั้งสัปดาห์ก่อนหน้าใส่ค่าทุกอย่างลง Excel แล้วมาพร้อมกับความรู้ว่าจะชนะทุกคนแบบเหมาะที่สุดได้อย่างไร แต่เราควรขีดเส้นตรงไหน? มันไม่ยุติธรรมกว่าการซ้อมสนามเดียวทั้งสัปดาห์หรือ?
      ต้องยอมรับว่าเกมไม่อาจยุติธรรมได้เสมอไป กีฬาเองก็เช่นกัน ถ้าเล่นเทนนิสกับคนที่มีประสบการณ์แข่ง ผู้เล่นแบบ casual ต่อให้ยื่นไม้ที่แย่กว่ามากให้มือโปร ก็ยังแทบตีโดนลูกไม่ได้
      การปรับสมดุลให้ casual กับโปรแข่งขันกันภายใต้เงื่อนไขเดียวกันนั้นยากมาก และอาจทำให้เกมกลายเป็นสิ่งที่เรียบง่ายสุดขีดซึ่งขึ้นอยู่กับการทอยลูกเต๋าเท่านั้น อย่างน้อยถ้าแสดงให้ชัดว่านี่เป็น เกม Excel หรือ เกมรีเฟล็กซ์ ก็จะยุติธรรมขึ้นเล็กน้อย
  • รู้อยู่ตลอดว่ายางเล็กสีแดงดีที่สุด น่าเสียดายที่บทวิเคราะห์นี้พลาดสิ่งที่สำคัญที่สุดสำหรับฉันคือ สไตล์ และความรักที่มีต่อ Zelda ดังนั้นส่วนตัวแล้วคงต้องมองข้ามทั้งหมด

    • แค่กำลัง optimize ผลลัพธ์คนละแบบเท่านั้น ใช้กรอบคิดเดียวกันได้ แต่ให้ ความใกล้เคียงกับ Zelda เป็นตัวชี้วัดหลัก
    • ใน MK8 ต้นฉบับ ยาง Triforce กับ Hylean glider ค่อนข้างดี แต่ใน MK8 Deluxe ค่าสถานะของมันไม่ได้ดีขนาดนั้น
    • ฉันเลือก Koopa ตลอด แต่กลายเป็นว่าดูเหมือนจะแย่ที่สุด ถึงอย่างนั้น ในหมู่เพื่อน ๆ ฉันก็ชนะมากที่สุดแบบทิ้งห่าง
      เพื่อรักษาความยุติธรรม ฉันจะใช้ Koopa ต่อไป :)
  • เป็นพรีเซนเทชันที่น่าประทับใจจริง ๆ ถึงจะรู้อยู่แล้วเรื่อง Pareto efficiency/Pareto frontier แต่ตอนนี้คงไม่มีวันลืม และทุกครั้งคงนึกถึง Mario Kart กับ Koopa ผู้น่าสงสารที่ถูก dominated

    • การเล่นเป็น Koopa คือโหมดความยากของ MK และถ้าชนะก็จะภูมิใจมากขึ้น เหมือน Piccolo หรือ Rock Lee ที่ใส่ถ่วงน้ำหนักตอนฝึก ;)
    • ถ้า Koopa มี Pareto efficiency ก็คงทำได้ดีกว่านี้
    • สงสัยว่า Koopa จะดีกว่าใน customization แบบอื่นไหม
    • บทความแบบนี้แหละคือรูปแบบสื่อใหม่ที่เว็บไซต์ข่าวและสิ่งพิมพ์ดิจิทัลจำนวนมากฝันถึงเวลา pitch ให้นักลงทุนสายเวนเจอร์ แต่ผมคิดว่าพรีเซนเทชันดิจิทัลที่โน้มน้าวใจที่สุดมักเกิดขึ้นแบบ เป็นธรรมชาติ
      การตั้งเป้าออกแบบสิ่งนี้ขึ้นมาเป็นไปไม่ได้ และมักให้ความรู้สึกประดิษฐ์และน่ารำคาญ แต่ก็มีบางครั้งอย่างครั้งนี้ที่น่าทึ่งจนพูดได้ว่า “เอาเลย เอาการเลื่อนหน้าจอของฉันไปได้”
  • เรื่องดีไซน์ผมขอค้าน สำหรับผม พรีเซนเทชันนี้ ช้าเกินไป และน่าหงุดหงิดตลอด เหมือนดูวิดีโอเพื่อหาข้อมูล ในแง่นั้น รูปแบบโน้ตบุ๊กเดิมดีกว่ามาก
    เลย์เอาต์ภายในแต่ละเซกชันสวยงาม แต่แอนิเมชันกับเลย์เอาต์ที่ตอบสนองต่อการเลื่อนอ่านยากกว่าชุดแผนภาพนิ่ง
    เนื้อหายอดเยี่ยม และน่าสนใจที่ได้เห็นว่าความแตกต่างของตัวละครกับคาร์ตแสดงออกมาอย่างไร

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

    • ไม่ได้หมายความว่าคอมบิเนชันอื่นไม่มีคุณค่า อาจมีคุณค่าในแง่การตกแต่งรูปลักษณ์ และยังมีความเป็น พัซเซิล ในการสร้างและปรับแต่งบิลด์ให้เหมาะสมในหลายมิติด้วย
      แน่นอนว่าน่าจะมีเส้นพาเรโตระดับเมตาอยู่ในสมดุลระหว่างประโยชน์เชิงแข่งขันของแต่ละคอมบิเนชันกับความสนุกที่มันเพิ่มให้กับเกม
    • ต้องจำไว้ว่าเส้นพาเรโตไม่ใช่เส้นสองมิติ แต่เป็นพื้นผิวใน ปริภูมิเวกเตอร์มิติสูง บางอย่าง ทุกเกมมีแง่มุมที่สามารถทำ min-max optimization ได้มากมาย อย่างที่หลายคนพูด Mario Kart ก็ไม่ได้ลดทอนเหลือแค่ความเร็วกับอัตราเร่งเท่านั้น
      ในเกมที่ซับซ้อนพอ อาจมองได้ว่าทุกบิลด์อยู่บนเส้นพาเรโต เพราะแต่ละบิลด์ปรับให้เหมาะสมกับฟังก์ชันต้นทุนเฉพาะบางอย่าง
    • เห็นด้วย แต่ก็ขึ้นอยู่กับเป้าหมายของเกมด้วย min-max optimization ไม่ใช่วิธีเล่นเพียงแบบเดียว และไม่ใช่ทุกคนที่จะจริงจังกับการแข่งขันมากขนาดนั้น
  • มีการกล่าวว่า “พอร์ตโฟลิโอที่ความเสี่ยงต่ำและผลตอบแทนสูง? [...] แน่นอน ถ้าคุณรู้ค่าน้ำหนักที่ถูกต้องอยู่แล้ว” แต่ในกรณีนี้ โครงสร้างของปัญหาทำให้ลดรูปลงเป็น การปรับให้เหมาะสมแบบหนึ่งมิติ ได้
    ในการเลือกพอร์ตโฟลิโอ สิ่งที่ปรับให้เหมาะสมไม่ใช่ผลตอบแทนของการลงทุนเดี่ยว แต่เป็นผลตอบแทนการลงทุนตลอดชีวิต ด้วยผลของดอกเบี้ยทบต้น สิ่งนี้จึงเป็นฟังก์ชันของความเสี่ยงและผลตอบแทน ดังนั้นจึงสามารถหาการจัดสรรที่เหมาะที่สุดได้โดยไม่ต้องประนีประนอมใด ๆ: https://two-wrongs.com/the-misunderstood-kelly-criterion.htm...

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

  • เป็นบทความที่น่าสนใจกว่าที่ชื่อเรื่องบอกเป็นนัยไว้มาก ทำได้ดีมาก

    • ชื่อที่ส่งเข้ามาเดิมอธิบายชัดเจนกว่านี้มาก แต่ถูกเปลี่ยนให้ตรงกับชื่อบทความตามกฎ
  • เป็นการวิเคราะห์และการทำภาพประกอบที่ยอดเยี่ยมจริง ๆ เพียงแต่ใน Mario Kart 8 + 200cc มีตัวแปรที่น่าสนใจอยู่ ผู้เล่นส่วนใหญ่ไม่ต้องการความเร็วเกินระดับหนึ่ง เพราะมันเร็วเกินไปจนควบคุมยาก
    ดังนั้นแทนที่จะเพิ่มค่าสถานะความเร็วสูงสุดแบบสัมบูรณ์ให้มากที่สุด อาจอยากลดความแตกต่างจากค่าสถานะความเร็วที่เหมาะกับตัวเองมากกว่า

    • ดูไม่ต่างจากการสร้าง รถแข่ง จริง ๆ มากนัก ถ้าต้องเบรกเร็วพอจนถูกแซงในโค้ง เครื่องยนต์ใหญ่ก็ไม่มีความหมาย แถมถ้าใช้เบรกเยอะขนาดนั้น เบรกก็จะร้อนเกินไปด้วย
      หลายครั้งการมีความเร็วสูงสุดต่ำกว่าแต่ไม่ต้องชะลอความเร็วเลยกลับดีกว่า
    • ใช่ ใน 200cc การควบคุมและอัตราเร่ง เป็นปัจจัยสำคัญที่สุด
      เหตุผลที่อัตราเร่งสำคัญคือเมื่อโดนโจมตีหรือชน และนั่นไม่ใช่คำถามว่า “ถ้า” แต่เป็น “เมื่อไร” คุณต้องไล่ตามให้ทันอย่างรวดเร็ว
  • เป็นหนึ่งในการทำภาพประกอบที่น่าประทับใจที่สุดเท่าที่เคยเห็นมาอย่างจริงจัง ผู้เขียนใช้เครื่องมืออะไรทำกันนะ?