13 điểm bởi prunusnira 2025-06-02 | 2 bình luận | Chia sẻ qua WhatsApp

Tóm tắt

(Được Gemini tóm tắt rồi chỉnh sửa một phần)

  • Chuyển engine Portal 2 thành máy chủ web

    • Tiến hành thử nghiệm host trực tiếp trang web trong Portal 2 bằng cách dùng tính năng console TCP ẩn của Source engine (tùy chọn -netconport).
  • Xử lý phản hồi HTTP thông qua console nhà phát triển

    • Dù TCP server đã được mở trong game, console nhà phát triển lại có vấn đề là coi yêu cầu của người dùng như lệnh console.
    • Để nhận HTTP request như lệnh console của game, tác giả đã dùng lệnh alias của Source engine và VScript (ngôn ngữ script do Valve tạo ra) để sửa lại sao cho có thể xuất phản hồi cho chuỗi đầu vào.
  • Triển khai định tuyến đa tuyến

    • Vì console của game không thể phân biệt đường dẫn URL, tác giả mô phỏng các route khác nhau bằng cách dùng method của HTTP (GET, POST, v.v.) và các custom HTTP header.
    • Nhờ đó, tác giả triển khai được việc cập nhật dữ liệu từ game theo thời gian thực bằng JavaScript.
  • Ánh xạ object trong game sang HTML DOM và CSS

    • Các object trong game như cube được ánh xạ tương ứng với các thẻ HTML và thuộc tính, tạo nên cấu trúc theo kiểu thực sự “xây chồng” website lên.
    • Tương tự, thông tin style (CSS) cũng được ánh xạ để mỗi thuộc tính tương ứng với một cube, từ đó dựng trang web theo cách trực quan.

2 bình luận

 
cosine20 2025-06-09

Thỉnh thoảng tôi lại nhớ đến việc trong truyện tranh hay game, quá trình xâm nhập vào máy chủ thường được miêu tả như đang đi lang thang trong một không gian ảo.

 
prunusnira 2025-06-02

Việc nghĩ đến chuyện làm máy chủ web bằng game engine đã đủ gây ngạc nhiên, nhưng đây còn là một video thú vị vì nó giải thích khá tốt nhiều nội dung nền tảng của phát triển web, dù chỉ ở mức khái niệm. Mình thật sự thấy phần dùng các khối lập phương trong Portal để xây dựng DOM/CSS rất hay.