3 คะแนน โดย GN⁺ 2024-02-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

การตั้งค่าระบบไฟล์

  • สร้างโฟลเดอร์สองโฟลเดอร์ที่ต้องใช้เป็นไดรฟ์ DOS สำหรับคอมไพล์ซอร์สโค้ด Wolfenstein 3D

ดาวน์โหลด

  • ดาวน์โหลดคอมไพเลอร์ Borland C++ 3.1, ซอร์สโค้ด Wolfenstein 3D และไฟล์ VGA

แตกไฟล์

  • แตกไฟล์ที่ดาวน์โหลดมา

DosBox

  • ดาวน์โหลดและเริ่มต้น DosBox

เมานต์ระบบไฟล์

  • เมานต์ระบบไฟล์เพื่อกำหนดโฟลเดอร์ให้กับแต่ละไดรฟ์

ติดตั้งคอมไพเลอร์

  • ดำเนินการตามขั้นตอนติดตั้ง Borland C++ 3.1

ติดตั้งซอร์สโค้ด Wolfenstein 3D

  • แตกไฟล์ซอร์สโค้ดบนระบบที่ติดตั้งคอมไพเลอร์แล้ว

เริ่มคอมไพล์

  • เปิด Borland C++ 3.1, เปิดโปรเจ็กต์, ตั้งค่าไดเรกทอรี แล้วลองคอมไพล์
  • พบข้อผิดพลาดว่าไม่มีไฟล์รัน TASM จากนั้นตั้งค่า PATH แล้วคอมไพล์ใหม่
  • เพื่อแก้ข้อผิดพลาดลิงก์ล้มเหลว จึงแก้พาธของไฟล์อ็อบเจ็กต์ในโปรเจ็กต์ และคอมไพล์สำเร็จ

รับแอสเซ็ต

  • สำหรับแอสเซ็ตของเกม ให้ดาวน์โหลด Wolfenstein 3D เวอร์ชันแชร์แวร์หรือซื้อเวอร์ชันเต็ม
  • ติดตั้งเกมใน DosBox แล้วคัดลอกไฟล์รันที่คอมไพล์ได้ไปยังโฟลเดอร์เกม

รันเกม

  • ลองรันเกม แต่หน้าจอแสดงผลผิดปกติเนื่องจากปัญหาอินเด็กซ์ของไฟล์กราฟิก
  • เพื่อแก้ปัญหา ให้แทนที่ไฟล์แอสเซ็ต VGA ด้วยไฟล์ที่สร้างขึ้นใหม่ให้ตรงกับซอร์สโค้ด

VGA เฟรมบัฟเฟอร์และอัตราส่วนภาพหน้าจอ

  • ปรับตัวเลือกอัตราส่วนภาพหน้าจอของ DosBox ให้ตรงกับภาพเกมต้นฉบับจากปี 1992

ความเห็นของ GN⁺

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

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

 
GN⁺ 2024-02-27
ความเห็นจาก Hacker News
  • แนะนำหนังสือเกี่ยวกับ Wolfenstein 3D

    หนังสือเกี่ยวกับ Wolfenstein 3D มีเนื้อหาเชิงเทคนิคแต่ไม่น่าเบื่อ และแนะนำกลเม็ดกับวิธีปรับแต่งประสิทธิภาพแบบสายเก่าจำนวนมาก ทั้งฟังก์ชัน 64 ตัวสำหรับการสเกลพื้นผิวกำแพง วิธีเก็บสไปรต์ไว้แบบ "ด้านข้าง" การจัดการการ์ดจอที่ซับซ้อน และการแฮ็กโหมดกราฟิกเพื่อให้แสดงผลเกมได้

  • ความสนุกบนระบบเรโทร

    ระบบเรโทรมีความสนุกตรงที่สามารถรวบรวมเครื่องมือแล้วสร้างขึ้นมาใหม่ได้ ตัวอย่างเช่น การคอมไพล์เกม Uplink ใหม่ต้องใช้เพียง Visual Studio 6.0 เท่านั้น ในอาร์ไคฟ์สำหรับพัฒนามี dependency ทั้งหมดที่จำเป็นต่อการ build เกมรวมอยู่แล้ว แม้จะต้องใช้เวลาสักหน่อยในการแก้ dependency แต่สุดท้ายเกมก็ทำงานได้ดี พร้อมทั้งแก้บั๊กเล็ก ๆ บางจุดและเพิ่มการปรับปรุงเล็กน้อยตามจุดต่าง ๆ

  • ความคิดถึงต่อ Text UI บน DOS

    คิดถึง Text UI บน DOS และหวนรำลึกถึงยุคที่เชื่อถือได้ซึ่งยังใช้ PS/2 ต่อเนื่องมาจนถึงปี 1997

  • ประสบการณ์เรียนเขียนโปรแกรมด้วย Borland Turbo C++

    เคยเรียนเขียนโปรแกรมด้วย Borland Turbo C++ การเรียกใช้ฟังก์ชันรูปทรงเรขาคณิตเพื่อวาดภาพบนหน้าจอนั้นง่ายมาก หลังจากวาดรูปทรงแล้วก็ใช้ฟังก์ชัน xor เพื่อทำแอนิเมชันได้ การสร้างสไปรต์เล็ก ๆ ที่ดูเหมือนกำลังวิ่งด้วยโค้ด C++ แค่ 1000 บรรทัดเป็นอะไรที่ยอดเยี่ยมมาก ร่วมกับเพื่อน ๆ ใช้กลเม็ดเหล่านี้ สไปรต์ที่วาดด้วยมือ และโลกในเกมที่สามารถเดินไปมาได้ เพื่อสร้างเกมสไตล์ Final Fantasy

  • อ่านหนังสือเกี่ยวกับผู้สร้าง Doom

    อ่านหนังสือชื่อ "Master of Doom" แล้วรู้สึกว่า แม้ในเวลานั้นตัวเกมจะน่าตื่นเต้นมากอยู่แล้ว แต่เมื่อมองย้อนกลับไปในประวัติศาสตร์ ก็ยิ่งได้รับแรงบันดาลใจจากสิ่งที่คนหนุ่มไม่กี่คนสร้างขึ้นมา

  • แนะนำหนังสือเกี่ยวกับการพัฒนาเกม

    เป็นหนังสือยอดเยี่ยมที่ทำให้นึกย้อนถึงการพัฒนาเกมในยุคเก่า ๆ อีกครั้ง เมื่อหลายปีก่อนถึงกับอ่านจบทั้งเล่มระหว่างยืนรอคิวที่ร้านอาหาร

  • ความทรงจำเรื่องการสลับฟลอปปีดิสก์โดยไม่มีฮาร์ดไดรฟ์

    การติดตั้งลงไดรฟ์ C ถือเป็นความหรูหรา เพราะไม่มีฮาร์ดไดรฟ์จึงต้องสลับฟลอปปีดิสก์ระหว่างไดรฟ์ A และ B สนุกกับยุคนั้นมาก แต่เด็กสมัยนี้ไม่ค่อยเชื่อเรื่องแบบนี้แล้ว

  • ความทรงจำอันหวานชื่นเกี่ยวกับ MS-DOS IDE ของ Borland

    Borland C++ เป็น IDE ที่มีทั้งคอมไพเลอร์ C++ standard library และดีบักเกอร์อยู่ในขนาดราว 5 เมกะไบต์ และชุดสีเหลืองกับน้ำเงินอันเป็นเอกลักษณ์ของ Borland ก็ให้ความรู้สึกอบอุ่นดี

  • ลิงก์ที่เกี่ยวข้อง

    มีการแชร์ลิงก์ที่เกี่ยวข้องกับบทความชื่อ "Let's compile like it's 1992 (2014)" ซึ่งถูกโพสต์บน Hacker News ในเดือนกุมภาพันธ์ 2017 และมีความเห็น 80 รายการ