16 คะแนน โดย GN⁺ 2025-11-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ซอร์สโค้ดของเกมผจญภัยแบบข้อความในยุค 1980 Zork I·II·III ถูกเผยแพร่ภายใต้ MIT License ทำให้ทุกคนสามารถศึกษา วิจัย และรันได้
  • Microsoft OSPO, Team Xbox และ Activision ร่วมมือกันโดยมีเป้าหมายเพื่อการอนุรักษ์โค้ดประวัติศาสตร์และการใช้งานด้านการศึกษา
  • รีโพซิทอรีที่เปิดเผยประกอบด้วย ซอร์สโค้ด, บันทึกการบิลด์, คอมเมนต์ และเอกสารที่เกี่ยวข้อง โดยไม่รวมเครื่องหมายการค้าและทรัพย์สินเชิงพาณิชย์
  • ผู้ใช้สามารถรันเกมได้โดยตรงบนสภาพแวดล้อมโลคัลผ่าน คอมไพเลอร์ ZILF และ อินเทอร์พรีเตอร์ Z-Machine
  • การเปิดเผยครั้งนี้เป็นก้าวสำคัญเชิงสัญลักษณ์เพื่อ การอนุรักษ์เกมและการขยายวัฒนธรรมโอเพนซอร์ส ซึ่งแสดงให้เห็นถึงการผสานกันของความคิดสร้างสรรค์และเทคโนโลยีที่ส่งต่อข้ามยุคสมัย

ภาพรวมการเปิดซอร์ส Zork

  • Open Source Programs Office (OSPO) ของ Microsoft, Team Xbox และ Activision ร่วมมือกันเผยแพร่ Zork I, II, III ภายใต้ MIT License
    • เป้าหมายคือให้นักเรียน ครู และนักพัฒนาสามารถศึกษา วิจัยโค้ด และเล่นได้ด้วยตนเอง
    • เป็นการมีส่วนร่วมในรูปแบบของการเพิ่ม MIT LICENSE อย่างเป็นทางการเข้าไปใน historical source repository เดิมบน GitHub
  • การเปิดเผยครั้งนี้ให้ความสำคัญกับ การอนุรักษ์ประวัติศาสตร์เกม และ การขยายคุณค่าทางการศึกษา

พื้นหลังทางเทคนิคของ Zork

  • Zork เป็นเกมที่สร้างโลกขึ้นมาด้วย ข้อความล้วน โดยไม่มีกราฟิกหรือเสียง และได้นำไปสู่การเปลี่ยนแปลงครั้งใหญ่ในแนวทางการออกแบบเกมยุคนั้น
  • เทคโนโลยีหลักคือสเปกของเครื่องเสมือนที่เรียกว่า Z-Machine ซึ่งทำให้ไฟล์สตอรี่เดียวกันสามารถรันได้บนหลายแพลตฟอร์ม
    • ด้วยโครงสร้างนี้ Zork จึงถูกมองว่าเป็นหนึ่งใน เกมข้ามแพลตฟอร์ม รุ่นแรก ๆ ที่ทำงานได้บน Apple II, IBM PC และแพลตฟอร์มอื่น ๆ
  • เดิมทีเวอร์ชันเมนเฟรมมีขนาดใหญ่เกินไปเมื่อเทียบกับคอมพิวเตอร์ตามบ้าน ทำให้ Infocom แบ่งมันออกเป็น สามเกมอิสระ (Zork I~III)

การอนุรักษ์โค้ดและองค์ประกอบของรีโพซิทอรี

  • Microsoft ร่วมมือกับ Jason Scott จาก Internet Archive เพื่อเพิ่ม ไลเซนส์โอเพนซอร์สอย่างเป็นทางการ ให้กับรีโพซิทอรี Zork เดิม
  • แต่ละรีโพซิทอรีประกอบด้วยสิ่งต่อไปนี้
    • ซอร์สโค้ด ของ Zork I·II·III
    • บันทึกการบิลด์, คอมเมนต์ และเอกสารทางประวัติศาสตร์ที่เกี่ยวข้อง
    • MIT LICENSE.txt และเมทาดาทาของรีโพซิทอรี
  • ขอบเขตการเปิดเผยจำกัดอยู่ที่โค้ดเท่านั้น โดย ไม่รวมเครื่องหมายการค้า แพ็กเกจเชิงพาณิชย์ และสื่อการตลาด

วิธีรัน Zork

  • ปัจจุบัน Zork ยังสามารถใช้งานเชิงพาณิชย์ได้ผ่าน The Zork Anthology ของ Good Old Games (GOG)
  • หากต้องการรันด้วยตนเอง สามารถใช้ ZILF (สร้างโดย Tara McGrew) เพื่อคอมไพล์ไฟล์ ZIL เป็น ไฟล์รัน Z3 แล้วนำไปรันบน อินเทอร์พรีเตอร์ Z-Machine
    • ตัวอย่างคำสั่ง:
      • "%ZILF_PATH%\zilf.exe" zork1.zil
      • "%ZILF_PATH%\zapf.exe" zork1.zap zork1-ignite.z3
    • ตัวอย่างเครื่องมือรัน: Windows Frotz, Fic (อิมพลีเมนต์ CLI ที่พัฒนาด้วย Python) เป็นต้น
  • มีตัวรัน Z-Machine สำหรับหลายแพลตฟอร์ม ทำให้เข้าถึงได้ง่าย

แผนในอนาคตและความหมาย

  • จะคง historical repository เดิมของ Zork ไว้เป็นมาตรฐานอ้างอิงของซอร์สอย่างเป็นทางการ และหลังใช้ MIT License แล้วก็ยินดีรับ ข้อเสนอการมีส่วนร่วมและการปรับปรุง
  • เป้าหมายไม่ใช่การทำให้ทันสมัย แต่คือ การอนุรักษ์ไว้ในฐานะพื้นที่สำหรับการสำรวจและการศึกษา
  • การเปิดเผยครั้งนี้ยังมีความหมายเป็นการขอบคุณต่อความร่วมมือของ นักพัฒนา Infocom, Internet Archive และทีม Microsoft·Xbox·Activision
  • Zork ถูกมองว่าเป็นตัวอย่างเชิงสัญลักษณ์ของ การผสานกันระหว่างจินตนาการและวิศวกรรมที่สามารถดำรงอยู่ข้ามรุ่นสู่รุ่นได้

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

 
GN⁺ 2025-11-21
ความคิดเห็นจาก Hacker News
  • ตอนผมอายุราว 14 ในช่วงต้นยุค 1980 ผมเล่น Zork กับเพื่อน แล้วก็คิดว่าพวกเราน่าจะลองทำเกมเองดู
    เลยส่งจดหมายไปหา Infocom เสนอว่าขอใช้ ZIL และ Z-machine เพื่อสร้างเกมใหม่ แต่ก็น่าแปลกที่ได้รับจดหมายปฏิเสธกลับมาอย่างสุภาพ
    พอมาคิดดูตอนนี้ สำหรับเด็กอย่างพวกเราที่รู้แค่ BASIC กับแอสเซมบลี การจะทำเกมด้วย ZIL ก็คงเกินตัวจริง ๆ
    ถึงอย่างนั้นก็ยังประทับใจกับท่าทีที่ให้เกียรติเด็กอย่างพวกเราของบริษัทมาก ถ้ายังเก็บจดหมายนั้นไว้อยู่ก็คงดี

    • ผมก็มีประสบการณ์แทบเหมือนกันเลย ตอนอายุพอ ๆ กันผมกำลังหัดเขียนโค้ดด้วย Apple II BASIC และ 6502 แล้วก็ส่งจดหมายไปหา Infocom ซึ่งพวกเขาก็ตอบกลับมาถึงพวกเราที่อยู่ในสหราชอาณาจักรด้วย
      น่าเสียดายที่จดหมายนั้นหายไปตอนย้ายบ้าน หรือไม่ก็อาจจะโดน grue กินไปแล้ว
    • ผมเองก็เคยหมกมุ่นกับเกมผจญภัยแบบข้อความในยุค 80 เหมือนกัน สร้างเกมง่าย ๆ ด้วย BASIC แล้วได้เรียนรู้เรื่องอย่าง โครงสร้างข้อมูลสำหรับแทนสถานะของโลก
      แต่เพราะไม่มีการออกแบบเกมที่ชัดเจน ความสนใจก็ค่อย ๆ หายไป แถมปริศนาหลายอย่างยังต้องอาศัย ‘ประกายความคิด’ มากกว่าตรรกะ เลยทำให้เลิกเล่นไปบ่อย ๆ
    • เรื่องนี้ทำให้ความทรงจำหลั่งไหลกลับมาเลย ผมเองก็เคยจมอยู่กับโลกของ BBS และเริ่มเขียนโปรแกรมจริงจังจากการทำเชลล์สำหรับ MUD
      ผมกับเพื่อนเพิ่มฟีเจอร์อย่าง การทำแผนที่อัตโนมัติ หรือกราฟิกง่าย ๆ เข้าไปเล่นกัน ซึ่งเกมเล็ก ๆ แบบนี้ช่วยจุดประกายความอยากรู้อยากเห็นได้มากจริง ๆ
  • ข่าวนี้ทำให้ผม ขนลุกด้วยความซาบซึ้ง เลยทีเดียว Zork และเกมของ Infocom คือประตูแรกที่พาผมเข้าสู่โลกของเกม และเป็นความทรงจำจากการได้เล่นครั้งแรกบน Commodore 64
    อยากส่งคำขอบคุณไปถึงทุกคนที่สร้างเกมเหล่านี้ขึ้นมา มันเป็นผลงานที่มอบทั้งความสนุกและความหมายให้ชีวิตผู้คนมากมายจริง ๆ

  • ขอแชร์ลิงก์ตรงไปยัง คลัง GitHub ของ Zork1

    • ไม่แน่ใจว่า GitHub กำลังมีปัญหาอีกหรือเปล่า เพราะขึ้น 500 error ตลอด
  • ผมสงสัยว่าเหตุใด Microsoft ถึงถือสิทธิ์ใน Zork

    • เพราะ Activision เข้าซื้อ Infocom ในปี 1986 และ Microsoft ซื้อ Activision ในปี 2023
    • สิทธิ์จึงถูกโอนต่อกันมาในลำดับ Infocom → Activision → Microsoft
    • Activision ถือสิทธิ์นี้มาตั้งแต่ยุค 80 และเมื่อ Microsoft ซื้อ Activision สิทธิ์นี้ก็ย้ายตามมาด้วย
  • ก่อนหน้านี้ผมเคยเห็นสิ่งที่เรียกว่า ‘ซอร์สโค้ดของ Zork’ ตามที่ต่าง ๆ อยู่แล้ว เช่น คลังนี้ เลยสงสัยว่า ความสัมพันธ์ด้านที่มา ของพวกมันคืออะไร

    • เดิมที Zork ถูกสร้างขึ้นที่ MIT สำหรับ PDP-10 โดยใช้ MDL ซึ่งเป็นภาษาตระกูล Lisp
      ต่อมาผู้พัฒนาได้ก่อตั้งบริษัทและพอร์ตมันลงสู่ไมโครคอมพิวเตอร์ จึงสร้างภาษาใหม่ชื่อ ZIL และเครื่องเสมือนขึ้นมา แล้วแบ่งเกมออกวางจำหน่ายเป็นสามภาค
      ที่คุณลิงก์มาคือเวอร์ชัน MDL ต้นฉบับ ส่วนที่ปล่อยครั้งนี้คือเวอร์ชัน ZIL
    • เดิมที Zork คือเกมสาธารณสมบัติจาก MIT ชื่อ Dungeon ต่อมา Infocom ก่อตั้งขึ้นและแบ่งมันออกเป็นสามภาค พร้อมเพิ่มเนื้อหาเพื่อทำตลาดเชิงพาณิชย์
      ซอร์สโค้ดถูกแปลต่อกันหลายรอบในช่วงยุค 80~90 จาก MDL → FORTRAN → f77 → C จึงมีหลายเวอร์ชัน และนั่นทำให้เวอร์ชัน C ดูไม่ค่อยเป็นระเบียบแบบแผน
      ตอน Infocom ปิดตัวลง พนักงานได้นำแบ็กอัปบางส่วนออกมา และบางส่วนก็รั่วไหลจนมีการเปิดเผยซอร์ส ZIL ตั้งแต่ปี 2019
      สิ่งที่ Microsoft ทำครั้งนี้ก็แค่ จัดการสิทธิ์ทางกฎหมาย ของเกม Zork ทั้งสามภาคให้เรียบร้อย
    • ผมไม่ถึงกับเป็นผู้เชี่ยวชาญ แต่พอดูจากคลัง Zork ปี 1977 จะเห็นได้ว่าในยุคนั้นแทบยังไม่มีตลาดซอฟต์แวร์สำหรับคอมพิวเตอร์ส่วนบุคคล
      ที่ MIT น่าจะพัฒนามันบนสภาพแวดล้อม DEC-10 หรือ Multics แล้วต่อมาเมื่อ Infocom ก่อตั้งขึ้นจึงพอร์ตไปยัง Apple II หรือระบบ CP/M
      ตอนนั้น Colossal Cave Adventure กำลังได้รับความนิยม และนักพัฒนาที่ MIT ก็ได้นำแนวคิดนั้นไปต่อยอด
    • ผมลองหาความต่างเหมือนกัน แล้วพบว่าเวอร์ชันที่เพิ่งปล่อยมี อีสเตอร์เอ็ก PLUGH ส่วนเวอร์ชันเก่ามี ‘Tomb of the Unknown Implementor’
  • สงสัยว่าใครจะเป็นคนแรกที่พอร์ตมันลง Arduino + LCD

  • กลับมาสงสัยอีกครั้งว่า Microsoft ได้ครอบครองสิ่งนี้มาได้อย่างไร
    เวอร์ชัน MDL ต้นฉบับนั้นเปิดเผยสู่สาธารณะมานานแล้ว เลยแอบหวังว่า Microsoft อาจปล่อยเกม Infocom อื่น ๆ ตามมาด้วย
    และถ้าจะพูดถึง “ผลงานที่เปลี่ยนวิธีคิดเรื่องเกม” จริง ๆ แล้ว ADVENTURE ต่างหากที่เป็นจุดเริ่มต้น Zork นั้นลุ่มลึกและประณีตกว่ามาก แต่ก็เป็นผลงานสายต่อเนื่องแบบเดียวกัน

  • ผมชอบรัน Zork ด้วย Docker
    เล่นได้ทันทีด้วยคำสั่ง docker run -it clockworksoul/zork1

    • ดีใจที่มีคนใช้งานมันจริง ๆ วันนี้สดใสขึ้นเลย
  • ในคลัง historicalsource มีโค้ดของเกม Infocom หลายเกมรวมอยู่
    ส่วนใหญ่ยังไม่ถึงขั้นเป็นโอเพนซอร์สเต็มตัว แต่ก็ยังเป็น คลังเอกสารที่ยอดเยี่ยมมาก

  • มีการยกคำพูดดังจาก Zork: “It is pitch black. You are likely to be eaten by a grue.”

    • สงสัยว่าคำว่า grue อาจมาจากหนังสือของนักปรัชญา Nelson Goodman Fact, Fiction, and Forecast หรือเปล่า
    • ผมเองก็ใส่มุก grue ไว้ในหน้า 404 ของบล็อกเหมือนกัน
      mordenstar.com/zork
    • ถ้าสถานการณ์นี้ดูโหดร้ายเกินไป ลองนึกดูว่า คุณไม่มีคบเพลิงหรือไม้ขีดไฟอยู่ในช่องเก็บของเลย
      ฉากนี้ยังถูกพูดถึงในเพลง “It Is Pitch Dark” ของ MC Frontalot ด้วย
      และเพลงนี้ก็มี Steve Meretzky ร่วมงานอยู่ด้วย