- ซอร์สโค้ดของเกมผจญภัยแบบข้อความในยุค 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ตอนผมอายุราว 14 ในช่วงต้นยุค 1980 ผมเล่น Zork กับเพื่อน แล้วก็คิดว่าพวกเราน่าจะลองทำเกมเองดู
เลยส่งจดหมายไปหา Infocom เสนอว่าขอใช้ ZIL และ Z-machine เพื่อสร้างเกมใหม่ แต่ก็น่าแปลกที่ได้รับจดหมายปฏิเสธกลับมาอย่างสุภาพ
พอมาคิดดูตอนนี้ สำหรับเด็กอย่างพวกเราที่รู้แค่ BASIC กับแอสเซมบลี การจะทำเกมด้วย ZIL ก็คงเกินตัวจริง ๆ
ถึงอย่างนั้นก็ยังประทับใจกับท่าทีที่ให้เกียรติเด็กอย่างพวกเราของบริษัทมาก ถ้ายังเก็บจดหมายนั้นไว้อยู่ก็คงดี
น่าเสียดายที่จดหมายนั้นหายไปตอนย้ายบ้าน หรือไม่ก็อาจจะโดน grue กินไปแล้ว
แต่เพราะไม่มีการออกแบบเกมที่ชัดเจน ความสนใจก็ค่อย ๆ หายไป แถมปริศนาหลายอย่างยังต้องอาศัย ‘ประกายความคิด’ มากกว่าตรรกะ เลยทำให้เลิกเล่นไปบ่อย ๆ
ผมกับเพื่อนเพิ่มฟีเจอร์อย่าง การทำแผนที่อัตโนมัติ หรือกราฟิกง่าย ๆ เข้าไปเล่นกัน ซึ่งเกมเล็ก ๆ แบบนี้ช่วยจุดประกายความอยากรู้อยากเห็นได้มากจริง ๆ
ข่าวนี้ทำให้ผม ขนลุกด้วยความซาบซึ้ง เลยทีเดียว Zork และเกมของ Infocom คือประตูแรกที่พาผมเข้าสู่โลกของเกม และเป็นความทรงจำจากการได้เล่นครั้งแรกบน Commodore 64
อยากส่งคำขอบคุณไปถึงทุกคนที่สร้างเกมเหล่านี้ขึ้นมา มันเป็นผลงานที่มอบทั้งความสนุกและความหมายให้ชีวิตผู้คนมากมายจริง ๆ
ขอแชร์ลิงก์ตรงไปยัง คลัง GitHub ของ Zork1
ผมสงสัยว่าเหตุใด Microsoft ถึงถือสิทธิ์ใน Zork
ก่อนหน้านี้ผมเคยเห็นสิ่งที่เรียกว่า ‘ซอร์สโค้ดของ Zork’ ตามที่ต่าง ๆ อยู่แล้ว เช่น คลังนี้ เลยสงสัยว่า ความสัมพันธ์ด้านที่มา ของพวกมันคืออะไร
ต่อมาผู้พัฒนาได้ก่อตั้งบริษัทและพอร์ตมันลงสู่ไมโครคอมพิวเตอร์ จึงสร้างภาษาใหม่ชื่อ ZIL และเครื่องเสมือนขึ้นมา แล้วแบ่งเกมออกวางจำหน่ายเป็นสามภาค
ที่คุณลิงก์มาคือเวอร์ชัน MDL ต้นฉบับ ส่วนที่ปล่อยครั้งนี้คือเวอร์ชัน ZIL
ซอร์สโค้ดถูกแปลต่อกันหลายรอบในช่วงยุค 80~90 จาก MDL → FORTRAN → f77 → C จึงมีหลายเวอร์ชัน และนั่นทำให้เวอร์ชัน C ดูไม่ค่อยเป็นระเบียบแบบแผน
ตอน Infocom ปิดตัวลง พนักงานได้นำแบ็กอัปบางส่วนออกมา และบางส่วนก็รั่วไหลจนมีการเปิดเผยซอร์ส ZIL ตั้งแต่ปี 2019
สิ่งที่ Microsoft ทำครั้งนี้ก็แค่ จัดการสิทธิ์ทางกฎหมาย ของเกม Zork ทั้งสามภาคให้เรียบร้อย
ที่ MIT น่าจะพัฒนามันบนสภาพแวดล้อม DEC-10 หรือ Multics แล้วต่อมาเมื่อ Infocom ก่อตั้งขึ้นจึงพอร์ตไปยัง Apple II หรือระบบ CP/M
ตอนนั้น Colossal Cave Adventure กำลังได้รับความนิยม และนักพัฒนาที่ MIT ก็ได้นำแนวคิดนั้นไปต่อยอด
สงสัยว่าใครจะเป็นคนแรกที่พอร์ตมันลง 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.”
mordenstar.com/zork
ฉากนี้ยังถูกพูดถึงในเพลง “It Is Pitch Dark” ของ MC Frontalot ด้วย
และเพลงนี้ก็มี Steve Meretzky ร่วมงานอยู่ด้วย