- อธิบายวิธีพิชิตดาว Watch for Rolling Rocks ใน Super Mario 64 แบบ 0.5 A Press โดยไม่ต้องกด A ใหม่เลย ใช้เพียงการ hold A ที่ต่อเนื่องมาตั้งแต่ก่อนเริ่ม
- อินพุต A แบ่งเป็น press, hold, release และถ้ายังคง hold A ที่กดมาจากดาวก่อนหน้า ก็อาจนับเป็น 0.5 สำหรับดาวเดี่ยว หรือเป็นการไม่เพิ่มอินพุตเลยสำหรับการวิ่งทั้งรอบ
- แกนหลักของวิธีคือย้ายตำแหน่ง home ของ Scuttlebug แล้วใช้ขอบเขตการเปิดใช้งานของห้องยกมันขึ้นด้านบน จากนั้นใช้ misalignment และการเด้งเพื่อให้ได้ความสูงถึงแพลตฟอร์มดาว
- ความเร็วแนวนอนที่ต้องใช้สร้างด้วย Hyper Speed Walking โดยผสานน้ำตื้น ทางชัน gate และการตัดสิน out-of-bounds เข้าด้วยกัน การสะสมความเร็วใช้เวลาประมาณ 12 ชั่วโมง
- เส้นทางการเคลื่อนที่ใน PU ถูกออกแบบให้ใช้การแปลง short ของ floor collision, syncing speed ตามความชันของ slope และการจัดแนว QPU เพื่อกลับสู่ main map และเข้าถึง elevator กับแพลตฟอร์มดาว
เกณฑ์ของ 0.5 A Press
- A press ไม่ใช่อินพุตชั่วขณะเดียว แต่แบ่งเป็นสามขั้นคือ press, hold, release
- press ใช้ทำให้ Mario กระโดด
- hold สามารถใช้กับการเตะเล็ก, การว่ายน้ำใต้น้ำ, การร่อนช้าระหว่าง twirl, และการร่อนช้าขณะใส่ Wing Cap
- release ยังไม่มีกรณีใช้งานที่สำคัญหรือเป็นประโยชน์ในตอนนี้
- 0.5 A Press หมายถึงสถานการณ์ที่ไม่ได้กด A ใหม่ แต่ยังคง hold A ที่เคยกดไว้ก่อนหน้า
- ตัวอย่างจาก Over the Rainbow แสดงวิธีนับแบบนี้
- การไปถึง cannon platform ต้องเพียง hold A ไว้เท่านั้น
- การยิง cannon ครั้งแรกและครั้งที่สองต้องใช้ A press อย่างละครั้ง
- ถ้ามองเฉพาะดาวเดี่ยว จะนับเป็น 3 A presses
- แต่ในการวิ่ง A Button Challenge ทั้งรอบ สามารถ hold A ต่อจาก A press ก่อนหน้าที่ใช้ตอนเข้า course เพื่อชดเชยความต้องการ hold ครั้งแรกได้
- ดังนั้น Over the Rainbow จึงนับเป็น 2.5 A presses สำหรับดาวเดี่ยว และเพิ่มเพียง 2 A presses สำหรับการวิ่งทั้งรอบ
- วิธีของ Watch for Rolling Rocks ก็เริ่มต้นโดยที่ A ถูกกดค้างไว้อยู่แล้ว และในการวิ่งทั้งรอบ อินพุตนี้ถูกนับว่าสืบต่อมาจาก A press ก่อนหน้า
การขนย้ายและยก Scuttlebug
- Scuttlebug Transportation อาศัยคุณสมบัติที่ตำแหน่ง home ของ Scuttlebug จะอัปเดตเมื่อมันชนกับ Mario
- Scuttlebug จะ patrol อยู่ในรัศมีช่วงหนึ่งรอบ home
- เมื่อ Mario เข้าไปในรัศมีนั้น มันจะทำ lunging attack
- ถ้า Scuttlebug ชน Mario ตำแหน่งของ Scuttlebug ตอนชนจะกลายเป็น home ใหม่
- การขนย้ายมีข้อจำกัด
- Scuttlebug ออกนอก native room ของมันไม่ได้ และจะติดที่ door
- ถ้าอยู่ต่ำกว่า home ปัจจุบันมากเกินไปแล้วเดินชน wall มันอาจหายไปได้ จึงต้องหลีกเลี่ยงระหว่างขนย้าย
- เป้าหมายคือย้าย Scuttlebug และ home ของมันไปใกล้ corner ใต้ดาว Watch for Rolling Rocks
- Scuttlebug Raising ใช้ขอบเขตการเปิดใช้งานของห้อง rolling rocks เพื่อยก Scuttlebug ขึ้น
- room และ object ภายในจะถูกเปิดใช้งานก็ต่อเมื่อ Mario อยู่ในห้อง rolling rocks หรืออยู่ใน small yellow region ด้านนอก door
- ถ้า Mario อยู่นอกบริเวณนั้น ห้องจะดูเป็นสีดำ และ object จะอยู่ในสถานะ invisible พร้อมทั้งไม่เคลื่อนไหว
- แม้ Scuttlebug จะอยู่ในสถานะไม่ทำงาน มันก็ยังสามารถ turn เข้าหา Mario และเริ่ม lunge ได้
- เมื่อ Mario เข้าไปใน yellow region เพื่อเปิดใช้งาน Scuttlebug แล้วออกจาก yellow region อีกครั้งตอนที่ Scuttlebug ไปถึง peak ของ trajectory พอดี Scuttlebug จะไม่ตกลงมา แต่จะค้างอยู่ที่ความสูงนั้น
- ทำซ้ำกระบวนการนี้เพื่อยก Scuttlebug ขึ้นไปเรื่อย ๆ
- รัศมีการตรวจจับของ Scuttlebug ไม่ใช่ sphere แต่เป็น cylinder ที่ยืดขึ้นลงแบบไร้ขอบเขต ดังนั้นต่อให้มันสูงขึ้นมากก็ยังล่อให้มัน lunge ได้ต่อ
- ในวิธีนี้ทำให้ Scuttlebug lunge กลับไปทาง home เพื่อให้มันค้างอยู่เหนือ corner พอดี
- ถ้า Mario เปิดใช้งานมันจากในรัศมีของ Scuttlebug มันจะ lunge เข้าหา Mario และเคลื่อนไปทาง door ได้
- วิธีนั้นเร็วกว่า แต่ไม่ใช้ในวิธีนี้เพราะต้องการตำแหน่งใกล้ corner
Misalignment และการเก็บความสูง
- เหนือ corner มีคุณสมบัติหนึ่งที่เรียกว่า misalignment
- ในโค้ดของเกม วิธีประมวลผล floor collision checking กับ wall collision checking แตกต่างกัน
- ผลคือในพื้นที่ขนาด 1x1 unit จะมีตำแหน่งที่ Mario ไม่ถูกดันออกจาก wall และสามารถแทรกลงไปใต้ floor ได้
- ถ้า Mario อยู่ต่ำกว่า floor ไม่ถึง 79 units เขาจะถูก snap กลับขึ้นไปบน floor
- ช่วงท้ายจะนำ Scuttlebug bounce และ ground pound มารวมกับ misalignment เพื่อให้ได้ความสูงพอจะขึ้นไปบนแพลตฟอร์ม Watch for Rolling Rocks
Hyper Speed Walking และการเคลื่อนที่ใน Parallel Universe
- ความเร็วที่ต้องใช้สร้างด้วย Hyper Speed Walking
- บน slope ที่ชันเกินไป ปกติ Mario จะยืนไม่ได้และจะลื่น
- แต่ในส่วน underwater portion ของ slope ที่จมน้ำตื้น ถ้าพยายามวิ่งขึ้นเนิน Mario จะวิ่งถอยหลังและความเร็วจะเพิ่มต่อเนื่องโดยไม่มี upper bound
- ปกติจะสะสมความเร็วได้ยากเพราะมักตกลงไปในน้ำหรือถึงปลาย slope แต่ถ้าใช้ gate และ out-of-bounds จะสะสมความเร็วอยู่กับที่ได้
- ด้านล่างของ gate ถูกนับเป็น ceiling
- ถ้า Mario พยายามเคลื่อนไปใกล้ใต้ ceiling มากเกินไป เกมจะปฏิเสธการย้ายตำแหน่งนั้น
- เมื่อได้ความเร็วระดับหนึ่งแล้ว หากหันมุมให้ intended next position ข้าม wall ไปเป็น out-of-bounds เกมจะไม่ปล่อยให้ Mario ไปอยู่นอกขอบ แต่จะคงเขาไว้ที่เดิม
- เนื่องจาก out-of-bounds ต่อเนื่องไปเรื่อย ๆ จึงสะสมความเร็วได้นานกว่าการติดใต้ gate ceiling
- วิธีนี้เปิด gate ก่อน สะสมความเร็วบางส่วนด้วย gate ceiling แล้วหมุน angle ไปทาง out-of-bounds เพื่อสะสมความเร็วส่วนที่เหลือ
- การสะสมความเร็วใช้เวลาประมาณ 12 ชั่วโมง
PU, QPU, syncing speed
- position ของ Mario เป็น floating point number แต่ในการทดสอบ floor triangle collision จะถูกแปลงเป็น short
- fractional portion จะถูก truncated
- ค่าที่มากหรือน้อยเกินไปจะถูกนำเข้าอยู่ในช่วง -32768 ถึง 32767 ด้วย modulo operator
- แม้ตำแหน่งจริงจะอยู่นอกช่วงนี้ แต่ตำแหน่งที่ใช้ตรวจ floor จะวนกลับเข้าไปในกล่องเดิม
- ต่อให้ตำแหน่งจริงของ Mario ไม่มีภูมิประเทศอยู่ แต่ถ้าตำแหน่งตรวจ floor อยู่เหนือภูมิประเทศ เกมก็จะถือว่า Mario ยืนอยู่บนพื้น
- พื้นที่ที่ทำงานเหมือนสำเนาของ map เดิมแบบนี้เรียกว่า Parallel Universe หรือ PU
- ใน PU ไม่มี graphics และไม่มี object, enemy, coin, star หรือ wall อย่างเช่น elevator หรือ item block
- บนเครื่อง N64 จริง ถ้า camera ตามเข้าไปใน PU อาจทำให้เกม crash ได้ วิธีนี้จึงตรึง camera ไว้บน main map เพื่อเลี่ยง crash
- เกมจะตรวจในแต่ละ quarter step ของการเคลื่อนที่ของ Mario ว่าอยู่บนพื้นหรือไม่
- การเคลื่อนที่ใน PU แบบง่ายต้องข้ามครั้งละ 4 PU เพื่อให้ทุก quarter step ไปลงบนภูมิประเทศ
- ระยะ 4 PU นี้เรียกว่า QPU
- speed จริงกับ de facto speed ที่ใช้ในการเคลื่อนที่ไม่เหมือนกัน
- de facto speed ถูกกำหนดเป็นส่วนหนึ่งของ speed จริงตามความชันของ slope
- ยิ่ง slope ชัน de facto speed ก็ยิ่งเล็กลงเมื่อเทียบกับ speed เดียวกัน
- speed ที่ทำให้ระยะ QPU และ quarter step ลงตัวกันเรียกว่า syncing speed
- syncing speed ที่ต่ำที่สุดคือความเร็วที่เคลื่อนที่ได้พอดี 1 QPU
- พหุคูณของค่านี้ก็เป็น syncing speed เช่นกัน จึงทำให้เคลื่อนที่หลาย QPU ได้ในครั้งเดียว
- แต่ละ slope มีชุด syncing speed ไม่เหมือนกัน
- ในตัวอย่างการเคลื่อนที่ PU ของ Secret Aquarium ต้องทำให้สอดคล้องกับ syncing speed ของหลาย slope ตามลำดับ โดยใช้เวลาประมาณ 12 ชั่วโมงกว่าจะถึง syncing speed แรก และประมาณ 25 ชั่วโมงกว่าจะถึง syncing speed ที่สอง
- เส้นทางของ Watch for Rolling Rocks ถูกออกแบบให้ใช้การสะสมความเร็ว 12 ชั่วโมงแทน 25 ชั่วโมง
- path ที่ไต่ขึ้นจาก lake ประกอบด้วย floor triangle หลายสิบชิ้นซึ่งมี slope ต่างกัน
- เลือกมา 6 triangle ตั้งแต่ T1 ถึง T6 ซึ่งมีความชันลดลงแบบ strictly decreasing
- ความสูงของทั้งหก triangle ครอบคลุม vertical distance ที่ต้องการจากล่างถึงบนโดยไม่มี gap
- ใช้ triangle เหล่านี้ตามลำดับเพื่อสร้าง route blueprint ให้สำเร็จได้ด้วย first syncing speed ของ slope เริ่มต้นเพียงค่าเดียว
เส้นทางสุดท้ายและการเก็บดาว
- เส้นทางพื้นฐานเริ่มที่ slope สำหรับ Hyper Speed Walking ไต่ขึ้นตาม path เหนือ lake ขึ้น elevator 2 ตัว ไปถึงแพลตฟอร์ม Amazing Emergency Exit แล้วถูกยิงไปยังแพลตฟอร์ม Watch for Rolling Rocks
- ระหว่างการเคลื่อนที่ใน PU ถ้า speed ต่ำกว่า syncing speed เล็กน้อยจะเคลื่อนไปแบบ relative forward และถ้าสูงกว่าเล็กน้อยจะเป็น relative backward
- แม้ angle จะเบี่ยงจาก cardinal direction เพียงเล็กน้อย แต่ sideways movement จะถูกขยายอย่างมากเพราะระยะ QPU
- การจัดการ QPU alignment จึงสำคัญมาก
- grid ที่เป็นพหุคูณของ 4 PU เรียกว่า QPU grid
- ถ้า Mario อยู่บน grid นี้ จะถือว่าอยู่ในสถานะ QPU aligned
- การเคลื่อนที่ด้วยจำนวน PU บวกอื่น ๆ ต้องอาศัยเงื่อนไขพิเศษ เช่น out-of-bounds หรือ slope change
- ถ้า QPU misaligned อาจกลับสู่ main map ได้ยาก
- บน lake path จะค่อย ๆ ลด speed บนแต่ละ triangle ตั้งแต่ T1 ถึง T6 ให้เข้าใกล้ syncing speed ของ slope นั้น แล้วเคลื่อน uphill ไปยัง triangle ถัดไป
- ทุกครั้งที่เปลี่ยน triangle ค่าการจัดแนว QPU จะเปลี่ยน แต่เส้นทางถูกวางไว้ให้หักล้างกันตอนจบจนกลับมาเป็น QPU aligned
- บน triangle ที่หกจะใช้การเคลื่อนที่แบบ zigzag เพื่อเข้าใกล้ main map
- เนื่องจากใน PU ไม่มี object จึงต้องกลับสู่ main map ก่อนจึงจะใช้ elevator ได้
- เหตุผลที่ต้อง hold A ต่อไว้ คือเพื่อกด B ทำ kick เล็ก
- ถ้าไม่มี kick, Mario จะทะลุ elevator
- เมื่อ kick แล้วจึงขึ้น elevator และเก็บความสูงได้
- การเคลื่อนที่สุดท้ายคือ kick ไปยังแพลตฟอร์ม Amazing Emergency Exit แล้วหันทิศเพื่อ launch ไปทาง Scuttlebug
- การเคลื่อนที่นี้ทำให้เกิด displacement ไปทางขวา 10 PU และลงล่าง 3 PU ดังนั้นจึงต้องเริ่มจากตำแหน่งที่สูงขึ้น 3 PU และไปทางซ้าย 10 PU ล่วงหน้า เพื่อให้ลงเอยที่ main map พอดี
- พร้อมกันนั้นยังต้องปรับ relative map position ให้ทำการเคลื่อนที่สุดท้ายได้ด้วย
- Scuttlebug จะถูกเปิดใช้งานทันทีที่เข้าสู่ room เวอร์ชัน PU และต้องไปถึงมันก่อนที่จะตกลงมามากเกินไป จึงมีเวลาเผื่อเพียงไม่กี่ frame สำหรับ final approach
- สุดท้ายจะใช้ Scuttlebug bounce และ ground pound ใน misalignment เพื่อให้ได้ความสูงพอขึ้นไปบนแพลตฟอร์ม Watch for Rolling Rocks และเก็บดาวได้ด้วย 0.5 A presses
1 ความคิดเห็น
ความเห็นจาก Hacker News
รู้สึกว่านี่อาจเป็น วิดีโอ YouTube ที่สมบูรณ์แบบ ก็ได้
มีทั้งซาวด์แทร็ก Mario เท่ ๆ กับภาพเกมเพลย์อยู่ด้านหลัง กราฟที่ทำขึ้นเองก็ช่วยให้เห็นภาพว่ากำลังเกิดอะไรขึ้น และมีคำบรรยายเสียงอธิบายสิ่งที่อยู่บนหน้าจอ
ยังอ้างอิงทั้งวิดีโอ YouTube อื่น ๆ และคอมเมนต์ต่าง ๆ ด้วย ละเอียดมากและมีความรู้ลึกมาก แต่ก็ไม่ได้ขายอะไร
ให้ความรู้สึกว่าเป็นงานที่ทำด้วยใจมากกว่าทำเพื่อยอดวิว สำหรับฉันนี่คือจุดสูงสุดของ YouTube
ครอบคลุมตั้งแต่ neurochemistry/biochemistry, จิตวิทยา เกม พฤติกรรมมนุษย์ วัฒนธรรมและศาสนา ตลอดจนสิ่งเหล่านี้เปลี่ยนไปอย่างไรตามกาลเวลา แบบละเอียดและลึกมาก
สำหรับฉันนั่นแหละคือจุดสูงสุดของ YouTube
สำหรับฉัน เพลงประกอบนี่ทนฟังยากมาก
ความรู้ลึกและพลังในการวิเคราะห์ ของ pannenkoek น่าทึ่งจริง ๆ
พอดูวิดีโอ SM64 ไปเรื่อย ๆ มาตรฐานก็สูงขึ้นมาก จนแทบหาอะไรในเกมอื่นที่เข้มงวดและคุณภาพการผลิตระดับเดียวกันได้ยากมาก
ที่ใกล้เคียงที่สุดเท่าที่เคยเจอคือวิดีโอเกี่ยวกับเหล่าสปีดรันเนอร์ที่พิชิต RNG ในปริศนาหนึ่งของ Wind Waker
https://youtu.be/1hs451PfFzQ
AsumSaus ก็มีวิดีโอจำนวนมากที่ผ่ากลไกประหลาด ๆ ของ Melee
แทบทั้งหมดดีมากจนเลือกยาก แต่ https://www.youtube.com/watch?v=rA8kpvTBh8Q กับ https://www.youtube.com/watch?v=9fo0cPmj4VA เป็นจุดเริ่มต้นที่ดี
พูดถึงการจัดวางหน่วยความจำ วิธีที่บั๊กไม่ตั้งใจทำงาน ชุดคำสั่ง CPU และสิ่งที่เกิดขึ้นในระดับฮาร์ดแวร์
แนะนำมาก
https://www.youtube.com/@RGMechEx
https://www.youtube.com/channel/UCYDnJiF0_RqSjkjvjRbG1tA
โดยเฉพาะซีรีส์ที่ทำให้ Paper Mario แครชด้วยวิธีประหลาดนับไม่ถ้วนจนกลายเป็นมีม
น่าเสียดายที่ไม่มีความเคลื่อนไหวตั้งแต่ปี 2020
วิดีโอสั้นแต่การวิเคราะห์ดีมาก
ขอแนะนำอย่างมาก https://youtu.be/6sPS4yqC72I หรือ https://youtu.be/TM7SutJyDCk
นี่คือ nerd porn แบบบริสุทธิ์แท้ และดีมากจริง ๆ
คำอธิบายประเภทที่ว่า collision detection ของเกมรับค่าทศนิยมแบบ floating-point จริง ๆ แล้วแปลงเป็น short นั้นให้ความรู้สึกเหมือนกระตุ้นสมองอย่างประหลาด
ข้อเท็จจริงที่ว่าเกมอย่าง SM64 ยังทำให้ผู้คนหลงใหลและหมกมุ่นได้แม้ผ่านไปหลายสิบปีหลังวางขาย บอกอะไรได้หลายอย่าง
รู้สึกว่าเกมกระแสหลักยุคนี้ที่มีแพสชันจากผู้เล่นในระดับนั้นมีน้อยลงเรื่อย ๆ
ประวัติศาสตร์ฉบับสมบูรณ์ของ A Button Challenge
https://www.youtube.com/watch?v=yXbJe-rUNP8
เป็นวิดีโอความยาวเกิน 5 ชั่วโมง เลยชอบเปิดทิ้งไว้เป็นพื้นหลังหรือดูฆ่าเวลา
ปริมาณความรู้และระดับการใช้ประโยชน์จากบั๊กที่คนพวกนี้แสดงออกมานั้นเหลือเชื่อมาก
บางสิ่งที่ค้นพบกันได้นี่บ้าคลั่งจริง ๆ และมันน่าทึ่งมากว่ามีองค์ประกอบที่แทบจะทำงานแบบเฉียดฉิวอยู่เยอะขนาดไหน
Bismuth เองก็เป็น YouTuber คุณภาพสูงโดยรวมอยู่แล้ว
ฉันขำแตกตรงช่วง "สะสมความเร็วเป็นเวลา 12 ชั่วโมง"
https://youtu.be/kpk2tdsPh0A?t=640
กระบวนการคิดชัดเจนมากจริง ๆ
ดีจังที่บนอินเทอร์เน็ตมีคนฉลาดมาก ๆ แบบนี้เยอะ
แน่นอนว่าแต่ละคนมีสิทธิ์ใช้สมองตัวเองแบบไหนก็ได้ แต่การทุ่มเทขนาดนี้กับบั๊กที่พิสดารสุด ๆ ในเกมอายุราว 30 ปี แล้วพิสูจน์ว่าทริกที่แทบทำจริงไม่ได้หากไม่มีเครื่องมือช่วยนั้นเป็นไปได้ในเชิงเทคนิค ก็ยังดูแปลกมากอยู่ดี
วิดีโออธิบายนั้นยอดเยี่ยม แต่เป้าหมายที่อยู่ใต้ทั้งหมดนั้นสำหรับฉันดูไร้สาระมาก
ถ้าคุณชอบเรื่อง parallel universe ก็ขอแนะนำอย่างมากให้ดู SM64 1-Key speedrun https://youtube.com/watch?v=iUt840BUOYA แล้วตามด้วยคำอธิบายของ Bismuth https://youtube.com/watch?v=wjge1bVobN0
เป็นความสำเร็จทางเทคนิคที่น่าทึ่งจริง ๆ และอาศัยงานวิจัยของ pannenkoek2012 อย่างมาก
parallel universe และ lore รอบ ๆ มันทั้งหมดเกิดจากการที่จำนวนเต็ม 16 บิตล้นค่าในโค้ดตรวจพื้น
ปกติ Mario 64 เก็บตำแหน่งเป็น floating-point แต่ตอนตรวจการชนจะถูกแปลงเป็นจำนวนเต็ม 16 บิต
น่าทึ่งจริงๆ
ทุกครั้งที่เห็นคนที่ถูกขับเคลื่อนด้วยความหลงใหลบางอย่างอย่างแรงกล้า จนทุ่มเทได้สุดขั้วขนาดนี้ก็อดทึ่งไม่ได้
ตัวฉันเองแทบไม่เคยรู้สึกถึงความหลงใหลที่ทำให้ขยันได้ขนาดนี้
บางทีก็คิดว่าคงดีถ้าคนแบบนี้เอาพรสวรรค์และพลังงานไปใช้กับเรื่องสำคัญจริงๆ อย่างการรักษาโรคหรือความก้าวหน้าทางวิทยาศาสตร์
อย่างน้อยในมุมของเจ้าตัวเองก็คงรู้สึกได้ว่าศักยภาพมหาศาลไม่ได้สูญเปล่า
แค่ความพยายามที่ใส่ลงไปในวิดีโอนี้ก็น่าจะได้งานวิจัยดีๆ มาหนึ่งฉบับแล้ว
อยากมีแรงจูงใจในงานของตัวเองระดับนี้บ้าง แต่โดยรวมแล้วก็มีแต่ความชื่นชม
ชอบวิดีโอนี้มาก
ช่วงหลังเขายังทำวิดีโอที่เจาะรายละเอียดเชิงเทคนิคของ N64 ด้วย และต้องระวังเรื่อง floating point
https://youtu.be/nYDmBdUalgo
มีใครช่วยแนะนำ วิดีโอโพรงกระต่าย แบบโพสต์ต้นฉบับได้อีกไหม?
จะหัวข้ออะไรก็ได้
ฉันชอบวิดีโอแบบนี้ที่แสดงให้เห็นว่าเรื่องหนึ่งสามารถลงลึกได้ไกลแค่ไหน
ตอนนี้อันที่ชอบที่สุดคือ https://youtu.be/_hjRvZYkAgA
https://youtu.be/KVgoy_a_gWI
https://youtu.be/6gjsAA_5Agk
วิดีโอนี้ยังอธิบายด้วยว่าอินพุต 0.5 A คืออะไร และทำไมคนถึงสนใจมัน
ใน Mario 64 เกมไม่ได้ให้ความสำคัญกับการปล่อยปุ่ม ดังนั้นนักวิ่งจึงไม่นับการปล่อยปุ่มแยกต่างหาก
เพราะคุณสามารถเลือกที่จะไม่ปล่อย A ได้ตลอด เมื่อเป็นการวิ่งแบบใช้อินพุต A ให้น้อยที่สุด จึงมีเหตุผลให้ปล่อย A ก็แค่เพื่อจะกด A อีกครั้งเท่านั้น
ในการพากย์สดอาจอธิบายสั้นๆ ได้ว่า 0.5 A “หมายถึง” อะไร แต่ถ้าไม่มีคำอธิบายแบบนี้ คนดูก็น่าจะสงสัยว่าทำไมต้องใส่ใจกับมันด้วย
ต้องอธิบายด้วยว่าถ้ากด A ค้างไว้ Mario จะทำพฤติกรรมต่างจากตอนที่ไม่ได้กด A
ในกรณีแรก ถ้าคุณกด A แล้วไม่ปล่อย กรณีที่สองก็อาจยืมอินพุตนั้นไปใช้ได้
ถ้าเกมสนใจสถานะกดค้างอย่างการร่อนกลางอากาศ งั้นก็ต้องสนใจสถานะไม่กดค้างด้วยโดยปริยาย เช่น อยู่กลางอากาศแต่ไม่ได้ร่อน ไม่ใช่หรือ
ถ้าจะเปลี่ยนจากสถานะร่อนกลางอากาศไปเป็นสถานะอยู่กลางอากาศแต่ไม่ร่อน ก็ต้องปล่อยปุ่ม
ฉันเข้าใจผิดหรือเปล่า?
ฉันเล่น M64 มาแค่ประมาณ 5 นาที แต่ใส่มันไว้ในลิสต์ว่าจะเล่นสักวัน และยังคอยยุให้ลูกๆ ติดมันเพื่อที่ฉันจะได้หาเวลามาเล่นบ้าง
ถ้าจะกระโดดครั้งที่สอง คุณต้องปล่อยปุ่มก่อน
0.5 จริงๆ แล้วใกล้เคียงกับแนวคิดที่ว่าอินพุต A หนึ่งครั้งต่อเนื่องข้ามหลายด่านมากกว่า
มองเผินๆ อาจจะรู้สึกว่า “0.5 นี่อะไรกัน?” แต่สุดท้ายแล้วมันก็เป็นแค่ประเด็นเชิงความหมายเท่านั้น