En Breve Iniciamos
<<10:00->>
Presentación de la Asignatura
PROGRAMACIÓN DE VIDEOJUEGOS II
2024
PROGRAMACIÓN DE VIDEOJUEGOS II
Cátedra: Lic. Samuel Bustamante
Asignatura de 2do Año - 2 CUAT
Cantidad de horas semanales: 4
Cantidad de horas totales: 60 (14 clases
sincrónicas)
PROGRAMACIÓN DE VIDEOJUEGOS II
CONTENIDOS MINIMOS
Contenidos pertenecientes al plan de
estudio 2020 aprobado por Res
Ministerial RESOL-2020-
1099-APN-ME
Manejo avanzado de scripting.
Programación de juegos para web:
nuevas técnicas y tecnologías para la
programación de juegos en la web.
Versionamiento. Patrones de diseños
para juegos en la web.
PROGRAMACIÓN DE VIDEOJUEGOS II Estructuras de datos, Ordenamiento y Búsqueda
UNIDAD I: Manejo avanzado de scripting
Principios SOLID • Árboles (para jerarquías de objetos)
• Single Responsibility Principle (SRP)
• Grafos (para sistemas de navegación)
• Open-Closed Principle (OCP) • Heaps (para sistemas de prioridad)
• Liskov Substitution Principle (LSP) • Algoritmos de ordenamiento (QuickSort,
• Interface Segregation Principle (ISP) MergeSort)
• Dependency Inversion Principle (DIP)
• Algoritmos de búsqueda (Binary Search, A*)
Interfaces vs clases abstractas
TDD y Pruebas unitarias
• Definición y diferencias
• Principios de TDD
• Casos de uso en videojuegos
• Ventajas y desventajas de cada enfoque • Escritura de pruebas unitarias
Patrones de Diseño orientados a videojuegos
• Unity Test Framework
• Singleton (para gestores de juego) Profiling
• Observer (para sistemas de eventos) • Uso del Unity Profiler
• State (para máquinas de estado de personajes)
• Identificación de cuellos de botella
• Command (para sistemas de input)
• Optimización de rendimiento
• Factory Method (para generación de enemigos)
PROGRAMACIÓN DE VIDEOJUEGOS II
UNIDAD II: Introducción a los conceptos de la red UNIDAD III: Programación de juegos multiplayer
Networking nativo de Unity
Conceptos básicos de red
• Introducción a HLAPI
• Definición de nodo, arquitectura de red, • Componentes básicos de networking
protocolo
Concepto y uso de autoridades
• Ejemplos en contexto de videojuegos
• Server authority
Modelos y topologías de red • Client authority
• Implementación de lógica basada en autoridades
● Modelo OSI
GameObjects en entorno de red
● Modelo TCP/IP
• Sincronización de objetos
● Topologías: estrella, malla, bus, anillo
• Network Identity
Comunicación y transmisión de datos • Network Transform
Componentes de red en Unity
● Tipos: símplex, half-duplex, full-duplex
• Network Manager
● Modos de transmisión: síncrono, asíncrono
• Network Manager HUD
Capa de red y Protocolo IP • Network Callbacks
Sincronización de estado
• Funcionamiento del protocolo IP
• Direccionamiento IP • State synchronization
• Subredes • Command pattern en networking
• Reconciliación del cliente
PROGRAMACIÓN DE VIDEOJUEGOS II
UNIDAD IV: CI/CD y Versionamiento
Integración Continua (CI)
• Conceptos básicos de CI
• Configuración de GitLab CI
• Automatización de pruebas
Distribución Continua (CD)
• Conceptos básicos de CD
• Configuración de despliegue automático
• Gestión de versiones
Implementación Continua
• Diferencias con CD
• Casos de uso en desarrollo de juegos
CI/CD en motores de juegos
• Unity Cloud Build
• Integración con servicios de terceros
(Jenkins, Travis CI)
PROGRAMACIÓN DE VIDEOJUEGOS II
CORRELATIVAS
● Para CURSAR (Regular): Inscribirse en SIU
Guaraní y tener REGULAR
○ Planeamiento de Mecánicas y Dinámicas de Juego Y
○ Diseño de Sonido I
● Para PROMOCIONAR: Inscribirse en SIU
Guaraní y tener APROBADAS
○ Planeamiento de Mecánicas y Dinámicas de Juego Y
○ Diseño de Sonido I
MODALIDAD DE CURSADO
• Dos clases Semanales
– Sincronica por Zoom: Martes 17 a 19 hs-
14 clases con asistencia x aula virtual.
– Asincrónica por Aula Virtual
PROGRAMACIÓN DE VIDEOJUEGOS II
Objetivo: MEJORES PRACTICAS en PROGRAMACION DE
VJs. (SOLID + Patrones) - VJ Multijugador
REQUISITOS PARA PROMOCIONAR
• 70%, como mínimo, de asistencias a clases
sincrónicas (10/14).
• Aprobar, como mínimo, el 70% de Tareas
Individuales Aprox 14 tareas asincronicas son 100%,
el 70% son 10 tareas.
• Aprobar 2 Tareas Grupales Prácticas
– hasta 4 integrantes
– Tarea Grupal1: GAME REFACTORING (GITHUB +
Buenas Prácticas + SOLID + PATRONES +
Busqueda/Ordenacion + Testing) 2D/3D + Informe
– Tarea Grupal2: Game Branching Multiplayer
(librerias: Unity Netcode, Photon Unity Networking
(PUN), etc) + Informe (APA)-
PROGRAMACIÓN DE VIDEOJUEGOS II
REQUISITOS PARA REGULARIDAD
• 40%, como mínimo, de asistencias a clases
sincrónicas (6/14)
• Aprobar, como mínimo, el 40% de Tareas
Individuales . Aprox 14 tareas asincronicas son
100%, el 40% son 6 tareas
• Aprobar 2 Tareas Grupales Prácticas
– hasta 4 integrantes
– Tarea Grupal1: Game REFACTORING
– Tarea Grupal2: Game Branching Multiplayer
PROGRAMACIÓN DE VIDEOJUEGOS II
• MODALIDAD CONDICIONAL
Se espera hasta el 22/11 antes de subir notas
definitivas.
Sobre la correlativa/s que aduede el estudiante
deberá aprobar, gestionar y verificar personalmente
en Departamento Alumnos
ESTUDIANTE QUE NO CUMPLA CON LAS
CONDICIONES PARA LA REGULARIDAD o
PROMOCIÓN QUEDA EN SITUACIÓN DE “LIBRE”
para re-cursar o rendir con modalidad libre.
PROGRAMACIÓN DE VIDEOJUEGOS II
TAREAS INDIVIDUALES (TI)
• Producción de textos académicos cortos (ensayo,
monografia, informe, etc).
• Relacionado a contenido teóricos y/o
transversales académicos.
• 14 TI o menos.
• Formato APA.
• Plazo de 14 dias.
• Calificacion:
APROBADO-REHACER-DESAPROBADO.
• Se entregan en formato pdf por el aula virtual.
PROGRAMACIÓN DE VIDEOJUEGOS II
TAREA GRUPAL (TG)
• Relacionado con la aplicación práctica del
contenido teóricos en un VJ 2D/3D
• Game Engine: UNITY 2020 LTS o posterior
• Versionamento: GITHUB / GITLAB
• 2 TGs: Refactoring y Multijugador
• Informe académico - Formato APA +
Vídeo-explicación.
• Plazo de 4 semanas.
• Calificacion:
EXCELENTE-DESTACADO-APROBADO-REHACER-
DESAPROBADO
• Informe + video presentación se entregan en
formato pdf y enlace a mp4 + enlace al paquete
unity para su descarga por aula virtual.
PROGRAMACIÓN DE VIDEOJUEGOS II
FECHAS TENTATIVAS de TGs
• Fecha límite de presentación de TG1 por aula
virtual: Viernes 04/10
• Fecha límite de presentación de TG2 por aula
virtual: Viernes 22/11
PROGRAMACIÓN DE VIDEOJUEGOS II
EXAMEN FINAL - cursada 2024
• Inscribirse en el SIU Guaraní según cronograma
académico.
• Examen escrito TEÓRICO. 5 Puntos a desarrollar sobre
todas las unidades. 3 puntos completos y correctos
para aprobar. Nota mínima de aprobación: 4.
EXAMEN LIBRE
• Ponerse en contacto via correo electronico antes de
inscribirse en el SIU Guaraní.
• Parte PRACTICA: Presentar y aprobar un Proyecto VJ
en 2D/3D en Unity 2020 o posterior que incluya todos
los contenidos del programa académico más informe
siguiendo formato APA.
• Parte Teorica: idem a examen regular.
• Se suman y promedian ambas calificaciones. Nota
mínima de aprobación: 4.
PROGRAMACIÓN DE VIDEOJUEGOS II
Datos de CONTACTO
• Correo:
[email protected]• Chat del Aula virtual
¿PREGUNTAS?
ASISTENCIA
DIAGNÓSTICO