Abstract
Este documento es el material docente completo y en abierto de la asignatura Juegos en Red, impartida en el Grado en Diseño y Desarrollo de Videojuegos de la Universidad Rey Juan Carlos. Su objetivo es servir como una guía integral que combina los fundamentos teóricos de las redes de comunicación con la aplicación práctica del desarrollo de videojuegos multijugador, capacitando al estudiante para diseñar, implementar y desplegar sistemas de juegos en red completamente funcionales.
El material está organizado en varias secciones clave, cada una con un propósito específico:
- Guía de la Asignatura: Detalla la planificación semanal clase por clase, los objetivos de aprendizaje específicos, la metodología de enseñanza, el sistema de evaluación y la bibliografía recomendada. Esta sección te permitirá seguir el ritmo del curso y prepararte adecuadamente para cada sesión.
- Apuntes Teóricos: Es el libro de texto principal de la asignatura. Aquí se desarrollan en profundidad los fundamentos técnicos de cada tecnología: desde las capas del modelo TCP/IP hasta la implementación práctica de WebSockets, pasando por JavaScript, Phaser y APIs REST. Cada capítulo incluye explicaciones detalladas, ejemplos de código y diagramas ilustrativos.
- Diapositivas de Clase: Contiene el material de apoyo visual utilizado en las exposiciones teóricas, resumiendo los conceptos más importantes de cada tema y proporcionando esquemas conceptuales que facilitan la comprensión de arquitecturas complejas.
- Ejercicios Prácticos: Es una colección de problemas y casos de estudio diseñados para afianzar el conocimiento adquirido en cada capítulo. Incluye desde ejercicios de configuración de redes hasta el desarrollo completo de aplicaciones cliente-servidor, preparando al estudiante tanto para las evaluaciones como para proyectos reales.
- Programas de Ordenador (Laboratorios): Incluye ejemplos de código funcional y proyectos de referencia que ilustran la implementación práctica de cada concepto. Estos materiales son fundamentales para conectar la teoría con la práctica y proporcionar plantillas reutilizables para el desarrollo de proyectos propios.
¿DE QUÉ TRATA LA ASIGNATURA?
Los videojuegos en red representan uno de los sectores más dinámicos y desafiantes de la industria del software, donde la capacidad de diseñar e implementar sistemas de comunicación eficientes y robustos es fundamental. En este contexto, comprender las arquitecturas de red, los protocolos de comunicación y las técnicas de programación tanto del lado del cliente como del servidor se ha convertido en una habilidad esencial para cualquier desarrollador de juegos modernos.
La asignatura ofrece un recorrido completo por el ciclo de desarrollo de videojuegos en red, con un enfoque que equilibra la teoría de las redes de comunicación con la práctica del desarrollo de software interactivo y multijugador.
El temario se desarrolla de manera progresiva, comenzando con los fundamentos de las redes de ordenadores. Aquí se aprenden los conceptos esenciales del modelo TCP/IP, explorando cada una de sus capas: desde la capa de acceso a la red (Ethernet, WiFi, direccionamiento MAC) hasta la capa de aplicación (HTTP, HTTPS, DNS). Se estudia en profundidad la capa de red con el protocolo IP, el direccionamiento, el enrutamiento y herramientas de diagnóstico fundamentales, así como la capa de transporte con los protocolos TCP y UDP, analizando críticamente cuándo utilizar cada uno en el contexto específico de los videojuegos multijugador.
Una vez establecidos los fundamentos de redes, el curso avanza hacia el desarrollo en el lado del cliente con JavaScript y tecnologías web. Se enseña desde la sintaxis básica del lenguaje hasta conceptos avanzados como la programación orientada a objetos, la manipulación del DOM y la gestión de eventos. Esta base es crucial para comprender cómo funcionan las aplicaciones web modernas y los juegos basados en navegador.
Posteriormente, se profundiza en el desarrollo de juegos con tecnología web utilizando el motor de juegos Phaser. Se estudia la arquitectura basada en escenas, el sistema de físicas, la gestión de sprites y texturas, y el manejo de entrada del usuario. Esta sección permite a los estudiantes crear juegos 2D completos que sirven como base para la posterior integración con sistemas de red.
El temario continúa con el desarrollo en el lado del servidor mediante la implementación de APIs REST. Se aprende a diseñar arquitecturas cliente-servidor, a implementar endpoints HTTP utilizando Node.js y Express, a gestionar la persistencia de datos y a consumir estas APIs desde el cliente. Se pone especial énfasis en los principios de la arquitectura REST, la validación de datos y el manejo adecuado de errores.
Finalmente, la asignatura culmina con la comunicación asíncrona en tiempo real utilizando WebSockets. Se estudia la arquitectura de comunicación bidireccional, la gestión de conexiones persistentes, la sincronización de estado entre múltiples clientes y las técnicas específicas para implementar juegos multijugador con latencia mínima. Esta sección integra todos los conocimientos previos, permitiendo a los estudiantes desarrollar juegos multijugador completamente funcionales donde múltiples jugadores pueden interactuar en tiempo real.
A lo largo de todo el curso, se mantiene un enfoque práctico y aplicado, donde cada concepto teórico se acompaña de su implementación práctica, fomentando un aprendizaje experiencial que prepara al estudiante para enfrentar los desafíos reales del desarrollo de videojuegos en red.



