Street Fighter 2: สไปรต์ที่สร้างจากแผ่นกระดาษ
(fabiensanglard.net)-
เครื่องเกมในอดีตวาดสไปรต์แบบอิงไทล์ และ CPS-1 ใช้ไทล์ขนาด 16x16 ดังนั้นการวาดตัวละครหนึ่งตัวจึงต้องประกอบขึ้นจากไทล์ 16x16 หลายชิ้น
-
ปัญหาคือ ในยุคนั้นขนาด ROM ถูกจำกัดอย่างมากเพราะต้นทุน ทำให้หน่วยความจำที่จัดสรรให้ทีมอาร์ตมีอยู่อย่างจำกัดมาก Street Fighter 2 ได้รับการจัดสรรประมาณ 4.6 MiB และต้องใช้อย่างมีประสิทธิภาพ
-
ดังนั้นจึงมีการนำ "แผ่นกระดาษ" มาใช้ โดยวางไทล์ 16x16 ลงบนแผ่นที่เขียนเมมโมรีแมปไว้ วิธีนี้ทำให้สามารถวาดไทล์ได้ในลักษณะที่คล้ายกับการจัดสรรลงในเมมโมรีแมปจริง
-
นี่คือตัวอย่างภาพว่าทีมอาร์ตทำงานกันอย่างไรด้วยวิธีนี้ (อย่าลืมอ่านต้นฉบับ!)
-
หัวใจสำคัญคือการอัดข้อมูลให้แน่นที่สุดเพื่อให้สามารถวาดได้โดยไม่สิ้นเปลืองหน่วยความจำ พร้อมใช้ประโยชน์จากความสามารถของ CPS-1 ด้วย
2 ความคิดเห็น
พอพูดถึง memory map ของเกมคลาสสิก ก็ทำให้นึกถึงวิดีโอด้านล่างนี้เลยครับ
https://www.youtube.com/watch?v=FPzuYWbnln4
ใน Super Mario Land 2 แต่ละ map tile จะสอดคล้องกับที่อยู่หน่วยความจำหนึ่งตำแหน่ง และเขาว่ากันว่าสามารถใช้ทริกบางอย่างเพื่อออกไปนอกแผนที่ปกติ แล้วไปทำลายไทล์เพื่อเปลี่ยนค่าหน่วยความจำของเกมได้
ดังนั้นการไปแตะไทล์นอกแผนที่ปกติเพื่อควบคุมหน่วยความจำ ก็เลยถูกนำไปใช้ใน speedrun ด้วยเหมือนกันครับ
การปรับแต่งให้เกมสมัยก่อนทำงานได้อย่างมีประสิทธิภาพนี่น่าสนุกดีนะครับ
เมื่อก่อนผมสนใจเรื่องนี้เลยเคยรวบรวมวิดีโอใน YouTube เอาไว้สองสามคลิป
https://black7375.tumblr.com/post/663908279732289536/