Lập trình viên tạo ra trò chơi Tetris hoàn chỉnh bằng PostScript, vượt qua giới hạn của ngôn ngữ mô tả tài liệu

BigGo Editorial Team
Lập trình viên tạo ra trò chơi Tetris hoàn chỉnh bằng PostScript, vượt qua giới hạn của ngôn ngữ mô tả tài liệu

Trong một minh chứng ấn tượng về lập trình sáng tạo, một lập trình viên đã thành công trong việc phát triển một phiên bản hoàn chỉnh của trò chơi Tetris bằng cách sử dụng PostScript, vốn được biết đến như một ngôn ngữ mô tả tài liệu. Dự án sáng tạo này, được đặt tên là PSTris, cho thấy cách một ngôn ngữ chủ yếu được thiết kế cho in ấn và đồ họa có thể được tận dụng cho việc phát triển trò chơi tương tác.

Khả năng tương tác bất ngờ

Điều làm cho việc triển khai này đặc biệt thú vị là cách tiếp cận mới để đạt được tính tương tác trong PostScript. Trong khi nhiều lập trình viên cho rằng PostScript chỉ giới hạn ở việc tạo tài liệu tĩnh, PSTris đã sử dụng một thủ thuật thông minh để cho phép chơi game theo thời gian thực. Như một thành viên cộng đồng nhận xét:

Điều này sử dụng một thủ thuật thông minh, nơi bạn ghi dữ liệu đầu vào vào một tệp văn bản mà chương trình PS liên tục đọc. Rất tuyệt vời.

Kỹ thuật này cho phép trò chơi xử lý đầu vào của người chơi theo thời gian thực, cho thấy tiềm năng chưa được khai thác của PostScript trong các ứng dụng tương tác.

Bối cảnh lịch sử và triển khai hiện đại

Dự án đã làm dấy lên những cuộc thảo luận về vai trò lịch sử của PostScript trong lĩnh vực máy tính. Các thành viên cộng đồng đã chỉ ra rằng PostScript trước đây đã được sử dụng trong các hệ thống đồ họa quan trọng như Display PostScript và NeWS (Network extensible Window System) của Sun, nơi nó đóng vai trò nền tảng cho các ứng dụng GUI. Tuy nhiên, PSTris lại có cách tiếp cận khác, đạt được tính tương tác thông qua việc sử dụng sáng tạo hệ thống giám sát tệp thay vì dựa vào các triển khai chuyên biệt.

Hỗ trợ nền tảng:

  • macOS ( GhostView )
  • Linux ( Ghostscript )

Thành tựu kỹ thuật

Việc triển khai rất hiệu quả, chỉ cần 600 dòng mã (10 KB) và sử dụng 69 toán tử PostScript khác nhau. Trò chơi bao gồm tất cả các tính năng thiết yếu của Tetris, như tăng độ khó, hệ thống tính điểm kiểu Nintendo, và hệ thống túi ngẫu nhiên 7-tetrimino tiêu chuẩn. Điều này cho thấy cách một ngôn ngữ xử lý tài liệu tưởng chừng như bị giới hạn có thể được đẩy xa hơn để tạo ra một trải nghiệm chơi game hoàn chỉnh.

Các tính năng chính:

  • 600 dòng/10 KB mã PostScript
  • 69 toán tử PostScript khác nhau
  • Xử lý đầu vào theo thời gian thực
  • Chức năng thả khối trực tiếp
  • Các cấp độ khó tăng dần
  • Hệ thống túi ngẫu nhiên 7 khối tetrimino
  • Theo dõi điểm cao
  • Hệ thống tính điểm của Nintendo

Khả năng truy cập đa nền tảng

Trò chơi chạy trên GhostView trên macOS và có thể chơi trên các hệ thống Linux sử dụng Ghostscript, mặc dù một số người dùng đã báo cáo các vấn đề về tính ổn định trên một số cấu hình Linux nhất định. Lập trình viên cũng đã tạo ra các phiên bản PostScript tương tự của các trò chơi cổ điển khác, bao gồm cờ vua và Sokoban, thiết lập một xu hướng khám phá tiềm năng game của ngôn ngữ này.

Dự án này không chỉ là một điều thú vị về mặt kỹ thuật mà còn nhấn mạnh tiềm năng liên tục cho sự đổi mới trong các công nghệ đã được thiết lập, chứng minh rằng lập trình sáng tạo có thể mở rộng ranh giới của những gì có thể thực hiện được với các công cụ và ngôn ngữ cũ.

Tham khảo: PSTris