สร้างเว็บเซิร์ฟเวอร์ด้วย Portal 2 (Source Engine)
(youtube.com)สรุป
(สรุปด้วย Gemini แล้วมีการแก้ไขบางส่วน)
-
แปลงเอนจิน Portal 2 ให้เป็นเว็บเซิร์ฟเวอร์
- ทดลองโฮสต์เว็บเพจโดยตรงจาก Portal 2 โดยใช้ความสามารถคอนโซล TCP ที่ซ่อนอยู่ของ Source Engine (
-netconportoption)
- ทดลองโฮสต์เว็บเพจโดยตรงจาก Portal 2 โดยใช้ความสามารถคอนโซล TCP ที่ซ่อนอยู่ของ Source Engine (
-
ประมวลผลการตอบสนอง HTTP ผ่านดีเวลอปเปอร์คอนโซล
- แม้เกมจะเปิด TCP server ได้ แต่ปัญหาคือดีเวลอปเปอร์คอนโซลตีความคำขอของผู้ใช้เป็นคอนโซลคำสั่ง
- เพื่อรับคำขอ HTTP เป็นคำสั่งคอนโซลของเกม จึงใช้คำสั่ง
aliasของ Source Engine และ VScript (ภาษาสคริปต์ที่ Valve สร้างขึ้น) เพื่อให้สามารถแสดงผลการตอบสนองต่อสตริงอินพุตที่ป้อนได้
-
การทำหลายเส้นทาง (routing)
- เนื่องจากเกมคอนโซลไม่สามารถแยก URL path ได้ จึงใช้ HTTP method (GET, POST เป็นต้น) และ custom HTTP header เพื่อเลียนแบบการทำ routing ที่ต่างกัน
- ด้วยวิธีนี้จึงทำให้สามารถใช้ JavaScript เพื่ออัปเดตข้อมูลจากเกมแบบเรียลไทม์ได้
-
แมปวัตถุในเกมเข้ากับ HTML DOM และ CSS
- จับคู่วัตถุในเกมอย่างเช่นคิวบ์ให้สอดคล้องกับแท็กและแอตทริบิวต์ของ HTML ทำให้สามารถประกอบเว็บไซต์ขึ้นมาแบบ “ก่อซ้อน” ได้จริง
- เช่นเดียวกัน ข้อมูลสไตล์ (CSS) ก็จับคู่แต่ละพร็อพเพอร์ตีกับคิวบ์หนึ่งชิ้นเพื่อจัดองค์ประกอบหน้าเว็บในเชิงภาพ
2 ความคิดเห็น
พอเห็นแบบนี้ก็ทำให้นึกถึงเวลาที่การเจาะเข้าเซิร์ฟเวอร์ในพวกการ์ตูนหรือเกมมักถูกพรรณนาเป็นการเดินวนอยู่ในโลกเสมือนเลยครับ
น่าทึ่งที่มีคนคิดจะสร้างเว็บเซิร์ฟเวอร์ด้วยเกมเอนจิน แต่ก็เป็นวิดีโอที่สนุกเพราะอธิบายเนื้อหาพื้นฐานของการพัฒนาเว็บได้ดีมากในเชิงแนวคิดด้วย ผมคิดว่าส่วนที่ใช้การวางซ้อนคิวบ์ใน Portal เพื่อประกอบ DOM/CSS นั้นดีมากจริง ๆ