16 điểm bởi GN⁺ 2025-11-21 | 1 bình luận | Chia sẻ qua WhatsApp
  • Mã nguồn của các game phiêu lưu văn bản thập niên 1980 Zork I·II·III đã được công bố theo giấy phép MIT, cho phép bất kỳ ai học tập, nghiên cứu và chạy thử
  • Microsoft OSPO, Team XboxActivision đã hợp tác với mục tiêu bảo tồn mã nguồn lịch sử và phục vụ giáo dục
  • Kho lưu trữ được công bố bao gồm mã nguồn, ghi chú build, chú thích và tài liệu liên quan, đồng thời loại trừ nhãn hiệu và tài sản thương mại
  • Người dùng có thể tự chạy game trên môi trường cục bộ thông qua trình biên dịch ZILFtrình thông dịch Z-Machine
  • Đợt công bố này là một bước đi mang tính biểu tượng nhằm bảo tồn game và lan tỏa văn hóa mã nguồn mở, cho thấy sự kết hợp giữa sáng tạo và công nghệ có thể bền bỉ qua nhiều thế hệ

Tổng quan về việc công bố mã nguồn mở Zork

  • Open Source Programs Office (OSPO) của Microsoft, Team XboxActivision đã hợp tác để phát hành Zork I, II, III theo giấy phép MIT
    • Mục tiêu là để sinh viên, giáo viên và lập trình viên có thể học tập, nghiên cứu mã nguồn và trực tiếp chơi thử
    • Đây là đóng góp dưới hình thức bổ sung MIT LICENSE chính thức vào kho historical source hiện có trên GitHub
  • Đợt công bố lần này tập trung vào bảo tồn lịch sử gamelan tỏa giá trị giáo dục

Nền tảng kỹ thuật của Zork

  • Zork là trò chơi xây dựng thế giới chỉ bằng văn bản, không có đồ họa hay âm thanh, và đã tạo ra thay đổi lớn trong cách thiết kế game thời bấy giờ
  • Công nghệ cốt lõi là đặc tả máy ảo mang tên Z-Machine, cho phép cùng một tệp truyện chạy trên nhiều nền tảng
    • Nhờ cấu trúc này, Zork được đánh giá là một trong những game đa nền tảng đầu tiên chạy trên Apple II, IBM PC và nhiều nền tảng khác
  • Do phiên bản mainframe ban đầu quá lớn so với máy tính gia đình, Infocom đã chia nó thành ba game độc lập (Zork I~III)

Bảo tồn mã nguồn và cấu trúc kho lưu trữ

  • Microsoft đã hợp tác với Jason Scott của Internet Archive để bổ sung giấy phép mã nguồn mở chính thức vào kho Zork hiện có
  • Mỗi kho bao gồm những nội dung sau
    • Mã nguồn của Zork I·II·III
    • Ghi chú build, chú thích và tài liệu lịch sử liên quan
    • MIT LICENSE.txt và metadata của kho
  • Phạm vi công bố chỉ giới hạn ở mã nguồn; nhãn hiệu, gói thương mại và tài liệu marketing không được bao gồm

Cách chạy Zork

  • Zork hiện vẫn được phân phối thương mại qua The Zork Anthology của Good Old Games (GOG)
  • Nếu muốn tự chạy, có thể dùng ZILF (do Tara McGrew tạo ra) để biên dịch tệp ZIL thành tệp thực thi Z3, sau đó chạy bằng trình thông dịch Z-Machine
    • Ví dụ lệnh:
      • "%ZILF_PATH%\\zilf.exe" zork1.zil
      • "%ZILF_PATH%\\zapf.exe" zork1.zap zork1-ignite.z3
    • Ví dụ công cụ chạy: Windows Frotz, Fic (triển khai CLI dựa trên Python)
  • Có nhiều trình chạy Z-Machine cho các nền tảng khác nhau nên khả năng tiếp cận khá cao

Kế hoạch tiếp theo và ý nghĩa

  • Kho lưu trữ lịch sử hiện có của Zork sẽ tiếp tục được giữ làm chuẩn cho nguồn chính thức, và sau khi áp dụng giấy phép MIT, dự án hoan nghênh đóng góp và đề xuất cải tiến
  • Mục tiêu không phải hiện đại hóa mà là bảo tồn như một không gian cho khám phá và giáo dục
  • Đợt công bố này cũng thể hiện lời cảm ơn tới sự hợp tác của các nhà phát triển Infocom, Internet Archivecác nhóm Microsoft·Xbox·Activision
  • Zork được xem là một ví dụ mang tính biểu tượng cho thấy sự kết hợp giữa trí tưởng tượng và kỹ thuật có thể tiếp nối qua nhiều thế hệ

1 bình luận

 
GN⁺ 2025-11-21
Ý kiến trên Hacker News
  • Vào đầu những năm 1980, khi tôi khoảng 14 tuổi, tôi đã chơi Zork cùng một người bạn và nghĩ rằng bọn tôi cũng nên tự làm game
    Vì thế, chúng tôi đã viết thư cho Infocom, đề nghị họ cho phép dùng ZIL và Z-machine để làm một trò chơi mới, và thật bất ngờ là chúng tôi đã nhận được một lá thư từ chối rất lịch sự
    Nghĩ lại bây giờ, với vốn hiểu biết chỉ có BASIC và hợp ngữ khi đó, có lẽ bọn tôi cũng không thể làm nổi game bằng ZIL
    Dù vậy, tôi vẫn rất ấn tượng với thái độ tôn trọng bọn trẻ của công ty. Giá mà tôi vẫn còn giữ lá thư ấy

    • Tôi cũng đã có gần như trải nghiệm y hệt. Ở độ tuổi tương tự, khi đang học lập trình bằng Apple II BASIC và 6502, tôi cũng đã viết thư cho Infocom, và họ còn trả lời cả bọn tôi ở Anh nữa
      Tiếc là lá thư đó đã bị thất lạc trong những lần chuyển nhà, hoặc có khi đã bị grue ăn mất rồi
    • Tôi cũng từng mê các game phiêu lưu văn bản vào thập niên 80. Khi làm những trò đơn giản bằng BASIC, tôi đã học được những thứ như cấu trúc dữ liệu để biểu diễn trạng thái thế giới
      Nhưng vì không có thiết kế game rõ ràng nên tôi dần mất hứng. Các câu đố cũng thường đòi hỏi kiểu “lóe sáng cảm hứng” hơn là logic, nên tôi hay bỏ cuộc khá sớm
    • Nghe chuyện này lại thấy ký ức ùa về. Tôi cũng từng chìm đắm trong thế giới BBS và bắt đầu nghiêm túc học lập trình khi làm shell cho MUD
      Tôi và một người bạn còn nghịch thêm tự động vẽ bản đồ và vài tính năng đồ họa đơn giản, và đúng là những trò nhỏ như thế đã giúp nuôi dưỡng trí tò mò rất nhiều
  • Tin này khiến tôi xúc động nổi da gà. Zork và các game của Infocom chính là cánh cửa đưa tôi vào thế giới game, và cũng là những trò tôi chơi đầu tiên trên Commodore 64
    Tôi muốn gửi lời cảm ơn tới tất cả những người đã tạo ra các trò chơi này. Chúng thực sự đã mang lại niềm vui và ý nghĩa cho cuộc sống của rất nhiều người

  • Chia sẻ liên kết trực tiếp tới kho GitHub của Zork1

    • Không biết có phải GitHub lại bị lỗi không. Tôi cứ gặp lỗi 500 suốt
  • Tôi tò mò vì sao Microsoft lại nắm quyền sở hữu Zork

    • Vì Activision đã mua lại Infocom vào năm 1986, và Microsoft mua Activision vào năm 2023
    • Quyền sở hữu đã được chuyển theo chuỗi Infocom → Activision → Microsoft
    • Activision đã nắm quyền từ thập niên 80, và khi Microsoft thâu tóm Activision thì quyền đó cũng chuyển theo
  • Trước đây tôi đã thấy cái gọi là ‘mã nguồn Zork’ ở nhiều nơi, chẳng hạn như kho này. Tôi tò mò về mối quan hệ nguồn gốc giữa chúng

    • Zork ban đầu được làm ở MIT cho PDP-10 bằng MDL, một ngôn ngữ thuộc họ Lisp
      Sau đó các nhà phát triển lập công ty và khi chuyển nó sang máy vi tính, họ đã tạo ra một ngôn ngữ mới là ZIL cùng một máy ảo, rồi phát hành game thành ba phần
      Thứ bạn liên kết là phiên bản MDL gốc, còn đợt công bố lần này là phiên bản ZIL
    • Ban đầu Zork là game công cộng Dungeon do MIT tạo ra. Sau đó Infocom được thành lập, chia nó thành ba phần, bổ sung nội dung và thương mại hóa
      Mã nguồn đã được chuyển đổi qua nhiều phiên bản từ MDL → FORTRAN → f77 → C trong giai đoạn những năm 80–90, nên vì thế bản C trông khá không chuẩn hóa
      Khi Infocom đóng cửa, các nhân viên đã mang theo bản sao lưu, và một phần trong số đó bị rò rỉ, khiến mã nguồn ZIL được công khai từ năm 2019
      Lần này Microsoft chỉ đơn giản là dọn dẹp quyền pháp lý cho ba game Zork mà thôi
    • Tôi không phải chuyên gia, nhưng khi xem kho lưu trữ Zork năm 1977 thì thấy rằng vào thời đó gần như chưa có thị trường phần mềm cá nhân
      Ở MIT, họ hẳn đã phát triển trên môi trường DEC-10 hoặc Multics, rồi sau đó khi Infocom ra đời thì chuyển sang Apple II hoặc hệ thống CP/M
      Khi đó Colossal Cave Adventure đang rất nổi tiếng, và các nhà phát triển ở MIT đã phát triển thêm ý tưởng đó
    • Tôi cũng thử tìm điểm khác biệt, và thấy phiên bản mới được công bố có easter egg PLUGH, còn bản cũ thì có ‘Tomb of the Unknown Implementor’
  • Tôi tò mò không biết ai sẽ là người đầu tiên port sang Arduino + LCD

  • Tôi lại càng tò mò hơn về việc Microsoft đã sở hữu thứ này như thế nào
    Phiên bản MDL gốc vốn đã được công khai từ lâu, nên tôi hy vọng Microsoft có thể sẽ công bố cả những game Infocom khác nữa
    Và nếu nói đến “tác phẩm đã thay đổi cách tư duy về game” thì thực ra ADVENTURE mới là khởi đầu. Zork tinh tế hơn nhiều, nhưng vẫn là tác phẩm kế thừa cùng dòng đó

  • Tôi thích chạy Zork bằng Docker
    Có thể chơi ngay bằng lệnh docker run -it clockworksoul/zork1

    • Thật vui khi có người thực sự dùng nó. Cả ngày của tôi bỗng vui hẳn lên
  • Trong kho historicalsource có tập hợp mã của nhiều trò chơi Infocom
    Phần lớn không hẳn là mã nguồn mở hoàn chỉnh, nhưng vẫn là một kho tư liệu cực kỳ tuyệt vời

  • “It is pitch black. You are likely to be eaten by a grue.” — trích dẫn câu nói nổi tiếng của Zork

    • Tôi tự hỏi liệu từ grue có phải đến từ cuốn Fact, Fiction, and Forecast của triết gia Nelson Goodman hay không
    • Tôi cũng đặt một câu đùa về grue ở trang 404 của blog mình
      mordenstar.com/zork
    • Nếu bạn thấy tình huống này quá tàn nhẫn, hãy nhớ rằng bạn thậm chí còn không có đuốc hay diêm trong túi đồ
      Cảnh này cũng xuất hiện trong bài “It Is Pitch Dark” của MC Frontalot
      Nhân tiện, bài đó có sự tham gia của Steve Meretzky