2 คะแนน โดย GN⁺ 2023-07-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Adaptive Tile Refresh (ATR) เป็นเทคนิคสำคัญที่ขับเคลื่อนซีรีส์ Commander Keen (CK)
  • ATR ถูกใช้ในไตรภาคแรกของ CK ส่วนไตรภาคที่สองใช้วิธีที่ต่างออกไป
  • Commander Keen ทำงานได้ดีที่สุดบนพีซีที่ติดตั้งการ์ด Enhanced Graphic Adapter (EGA)
  • การเขียนโปรแกรม EGA มีทั้งรีจิสเตอร์สำหรับการตั้งค่าและหน้าต่างหน่วยความจำที่แมปกับวิดีโอ RAM (VRAM)
  • EGA จัดเก็บข้อมูลไว้ในสี่เพลนเพื่อคงการแสดงผลบนหน้าจอและแบนด์วิดท์ที่ต้องใช้
  • CK ใช้ EGA Mode 0xD ซึ่งให้ความละเอียด 320x200 และสี 16 สี
  • ATR แก้ปัญหาเรื่องแบนด์วิดท์ด้วยการทำให้เลื่อนหน้าจอและรีเฟรชจอได้อย่างลื่นไหล
  • การเลื่อนแนวตั้งอย่างลื่นไหลทำได้โดยเพิ่มหรือลดรีจิสเตอร์ CRTC_START
  • การเลื่อนแนวนอนอย่างลื่นไหลทำได้โดยใช้รีจิสเตอร์ OFFSET และ PEL เพื่อเลื่อนหน้าจอในแนวนอน
  • ATR ยังรวมถึงวิธีรีเซ็ตเมื่อหน้าจอเสมือนถึงขอบ โดยใช้เทคนิคที่เรียกว่า "jolt"
  • ไตรภาคที่สองของ CK ใช้วิธีอีกแบบที่เรียกว่า "drifting" เพื่อให้เลื่อนอย่างลื่นไหลโดยไม่ต้องวนซ้ำไทล์
  • Drifting หมายถึงการปล่อยให้ที่อยู่เริ่มต้นของ CRTC วนกลับภายในพื้นที่ VRAM
  • ATR และ drifting เป็นวิธีที่มีประสิทธิภาพสำหรับการเรนเดอร์ฉากหลังและสไปรต์ในเกม CK
  • วิธี drifting ของไตรภาคที่สองนั้นเรียบง่ายและเร็วกว่า ATR
  • แม้จะมีปัญหาความเข้ากันได้กับการ์ด VGA บางรุ่นอยู่บ้าง แต่ก็ยังจัดการได้
  • โดยรวมแล้ว ATR และ drifting เป็นเทคนิคที่ล้ำสมัยซึ่งทำให้เกม CK สามารถเลื่อนหน้าจอได้อย่างลื่นไหลและเรนเดอร์ได้อย่างมีประสิทธิภาพ

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

 
GN⁺ 2023-07-29
ความคิดเห็นบน Hacker News
  • การเลื่อนฉากของ Commander Keen 4-6 บนพีซีนั้นโดดเด่นไร้คู่แข่งอยู่นานหลายปี ต้องยกความดีความชอบให้กับงานด้านเทคนิคของ Carmack และงานศิลป์ของ Adrian Carmack
  • การเลื่อนฉากด้านข้างซึ่งนับเป็นก้าวกระโดดครั้งใหญ่ของเกมพีซีนั้น ถูกแก้ปัญหาได้บน NES ก่อนพีซี
  • การนำเทคนิคที่อธิบายไว้สำหรับเกมแบบไทล์เบสมาทำจริงนั้นไม่ได้ซับซ้อนอย่างที่คิด และนักพัฒนาหลายคนก็คิดค้นวิธีแก้ที่คล้ายกันขึ้นมาได้
  • พอดแคสต์ของ Lex Fridman กับ J. Carmack ครอบคลุมนวัตกรรมสำคัญของเกมต่าง ๆ และขอแนะนำอย่างยิ่ง
  • หลายคนมีความทรงจำดี ๆ กับการเล่น Commander Keen และการค้นพบความลับต่าง ๆ ในเกม
  • นักพัฒนาบางคนเคยนำเทคนิคคล้ายกันนี้ไปใช้ในโปรเจ็กต์ของตนเอง แต่ประสิทธิภาพอาจแตกต่างกันไปตามภาษาโปรแกรมที่ใช้
  • บทความนี้อธิบายวิธีที่การเลื่อนแนวนอนทำงานได้โดยไม่ทำให้เฟรมบัฟเฟอร์เสียหาย
  • ข้อความ "เปิดใช้งานโหมดเข้ากันได้กับ VGA" บนหน้าจอเริ่มต้นของ Keen กระตุ้นความสงสัยใคร่รู้ของผู้เล่นอยู่เสมอ
  • บทความนี้แสดงให้เห็นความยอดเยี่ยมของอินเทอร์เน็ตได้อย่างชัดเจน และได้รับคำชื่นชมอย่างมาก