Crear un servidor web con Portal 2 (Source Engine)
(youtube.com)Resumen
(Resumido con Gemini y parcialmente editado)
-
Convertir el motor de Portal 2 en un servidor web
- Se realizó un experimento para alojar páginas web directamente desde Portal 2 usando la función oculta de consola TCP del motor Source (opción
-netconport).
- Se realizó un experimento para alojar páginas web directamente desde Portal 2 usando la función oculta de consola TCP del motor Source (opción
-
Manejo de respuestas HTTP mediante la consola de desarrollador
- Aunque se abrió un servidor TCP en el juego, había un problema: la consola de desarrollador interpretaba las solicitudes del usuario como comandos de consola.
- Para recibir las solicitudes HTTP como comandos de consola del juego, se usaron el comando
aliasdel motor Source y VScript (el lenguaje de scripting creado por Valve) para modificar el comportamiento y permitir imprimir respuestas según la cadena de entrada.
-
Implementación de enrutamiento múltiple
- Como la consola del juego no puede distinguir rutas URL, se imitaron distintas rutas usando el método de la solicitud HTTP (GET, POST, etc.) y encabezados HTTP personalizados.
- Con esto, se implementó la posibilidad de actualizar datos en tiempo real desde el juego usando JavaScript.
-
Mapeo de objetos del juego a HTML DOM y CSS
- Los objetos del juego, como los cubos, se hicieron corresponder con etiquetas y atributos HTML, construyendo literalmente el sitio web “apilándolo”.
- Del mismo modo, la información de estilo (CSS) también se asignó haciendo corresponder cada propiedad a un cubo, para componer visualmente la página web.
2 comentarios
A veces me hace pensar en cómo, en cosas como los cómics o los videojuegos, solían representar el proceso de infiltrarse en un servidor como si fuera recorrer un espacio virtual.
Es sorprendente que se les haya ocurrido hacer un servidor web con un motor de videojuegos, pero además es un video entretenido porque explica bastante bien, al menos a nivel conceptual, contenidos básicos del desarrollo web. La parte en la que construyen el DOM/CSS apilando los cubos de Portal me pareció realmente muy buena.