13 puntos por prunusnira 2025-06-02 | 2 comentarios | Compartir por WhatsApp

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).
  • 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 alias del 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

 
cosine20 2025-06-09

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.

 
prunusnira 2025-06-02

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.