Titulación universitaria
La mayor facultad de videojuegos del mundo”
Presentación
Domina los lenguajes de programación esenciales para desarrollar los mejores juegos del mundo”
La programación es una de las tareas más complejas que se realizan en el ámbito digital. Cualquier dispositivo digital está compuesto de cientos o miles de líneas de código escritas por algún desarrollador experto. Así, hay programadores que pueden dedicarse a campos amplios dominando ciertos lenguajes que tienen una aplicación general.
No obstante, la industria de los videojuegos es diferente, ya que tiene una serie de lenguajes y matices que conviene conocer para poder desarrollar juegos con eficacia. Así, esta Especialización en Lenguajes de Programación para Videojuegos dispone de todos los contenidos y conocimientos para hacer de sus alumnos auténticos expertos en desarrollo aplicado a videojuegos.
Para ello, esta titulación les enseña de forma profunda cuestiones como la programación orientada a objetos, desarrollo web y modelado 3D, combinando, así, áreas complementarias para obtener un aprendizaje integral que sirva a los estudiantes para acceder a las mejores empresas de videojuegos del mundo.
La programación es esencial en el desarrollo de un videojuego. Especialízate y conviértete en un profesional esencial de tu empresa”
Esta Especialización en Lenguajes de Programación para Videojuegos contiene el programa educativo más completo y actualizado del mercado. Sus características más destacadas son:
- El desarrollo de casos prácticos presentados por expertos en desarrollo de videojuegos
- Los contenidos gráficos, esquemáticos y eminentemente prácticos con los que está concebido recogen una información científica y práctica sobre aquellas disciplinas indispensables para el ejercicio profesional
- Los ejercicios prácticos donde realizar el proceso de autoevaluación para mejorar el aprendizaje
- Su especial hincapié en metodologías innovadoras
- Las lecciones teóricas, preguntas al experto, foros de discusión de temas controvertidos y trabajos de reflexión individual
- La disponibilidad de acceso a los contenidos desde cualquier dispositivo fijo o portátil con conexión a internet
Desarrolla los mejores videojuegos gracias a las habilidades que adquirirás en esta titulación”
El programa incluye, en su cuadro docente, a profesionales del sector que vierten en esta capacitación la experiencia de su trabajo, además de reconocidos especialistas de sociedades de referencia y universidades de prestigio.
Su contenido multimedia, elaborado con la última tecnología educativa, permitirá al profesional un aprendizaje situado y contextual, es decir, un entorno simulado que proporcionará una capacitación inmersiva programada para entrenarse ante situaciones reales.
El diseño de este programa se centra en el Aprendizaje Basado en Problemas, mediante el cual el profesional deberá tratar de resolver las distintas situaciones de práctica profesional que se le planteen a lo largo del curso académico. Para ello, contará con la ayuda de un novedoso sistema de vídeo interactivo realizado por reconocidos expertos.
La industria del videojuego necesita programadores de talento como tú"
Los lenguajes que se usan para programar videojuegos necesitan una adecuada especialización. Con esta Especialización lo conocerás todo sobre ellos"
Temario
Esta Especialización en Lenguajes de Programación para Videojuegos contiene el mejor temario en esta área, puesto que ha sido diseñado por los mejores expertos en desarrollo de videojuegos. Esos especialistas conocen la industria al detalle, por lo que saben qué necesitan las empresas del sector y, de esa forma, pueden transmitir a los alumnos todas las claves para triunfar. Por tanto, este programa es la mejor respuesta para todos aquellos que deseen especializarse en programación para videojuegos y no sepan cómo conseguirlo.
El mejor programa en lo referente a desarrollo para videojuegos. Con él te convertirás en un verdadero especialista”
Módulo 1. Programación orientada a objetos
1.1. Introducción a la programación orientada a objetos
1.1.1. Introducción a la programación orientada a objetos
1.1.2. Diseño de clases
1.1.3. Introducción a UML para el modelado de los problemas
1.2. Relaciones entre clases
1.2.1. Abstracción y herencia
1.2.2. Conceptos avanzados de herencia
1.2.3. Polimorfismo
1.2.4. Composición y agregación
1.3. Introducción a los patrones de diseño para problemas orientados a objetos
1.3.1. ¿Qué son los patrones de diseño?
1.3.2. Patrón Factory
1.3.3. Patrón Singleton
1.3.4. Patrón Observer
1.3.5. Patrón Composite
1.4. Excepciones
1.4.1. ¿Qué son las excepciones?
1.4.2. Captura y gestión de excepciones
1.4.3. Lanzamiento de excepciones
1.4.4. Creación de excepciones
1.5. Interfaces de usuarios
1.5.1. Introducción a Qt
1.5.2. Posicionamiento
1.5.3. ¿Qué son los eventos?
1.5.4. Eventos: definición y captura
1.5.5. Desarrollo de interfaces de usuario
1.6. Introducción a la programación concurrente
1.6.1. Introducción a la programación concurrente
1.6.2. El concepto de proceso e hilo
1.6.3. Interacción entre procesos o hilos
1.6.4. Los hilos en C++
1.6.5. Ventajas e inconvenientes de la programación concurrente
1.7. Gestión de hilos y sincronización
1.7.1. Ciclo de vida de un hilo
1.7.2. La clase Thread
1.7.3. Planificación de hilos
1.7.4. Grupos hilos
1.7.5. Hilos de tipo demonio
1.7.6. Sincronización
1.7.7. Mecanismos de bloqueo
1.7.8. Mecanismos de comunicación
1.7.9. Monitores
1.8. Problemas comunes dentro de la programación concurrente
1.8.1. El problema de los productores consumidores
1.8.2. El problema de los lectores y escritores
1.8.3. El problema de la cena de los filósofos
1.9. Documentación y pruebas de software
1.9.1. ¿Por qué es importante documentar el software?
1.9.2. Documentación de diseño
1.9.3. Uso de herramientas para la documentación
1.10. Pruebas de software
1.10.1. Introducción a las pruebas del software
1.10.2. Tipos de pruebas
1.10.3. Prueba de unidad
1.10.4. Prueba de integración
1.10.5. Prueba de validación
1.10.6. Prueba del sistema
Módulo 2. Modelado 3D
2.1. Introducción a C#
2.1.1. ¿Qué es la POO?
2.1.2. Entorno Visual Studio
2.1.3. Tipos de datos
2.1.4. Conversiones de tipo
2.1.5. Condicionales
2.1.6. Objetos y clases
2.1.7. Modularidad y encapsulamiento
2.1.8. Herencia
2.1.9. Clases abstractas
2.1.10. Polimorfismo
2.2. Fundamentos matemáticos
2.2.1. Herramientas matemáticas en la física: magnitudes escalares y vectoriales
2.2.2. Herramientas matemáticas en la física: producto escalar
2.2.3. Herramientas matemáticas en la física: producto vectorial
2.2.4. Herramientas matemáticas en POO
2.3. Fundamentos físicos
2.3.1. El sólido rígido
2.3.2. Cinemática
2.3.3. Dinámica
2.3.4. Colisiones
2.3.5. Proyectiles
2.3.6. Vuelo
2.4. Fundamentos de informática gráfica
2.4.1. Sistemas gráficos
2.4.2. Gráficos en 2D
2.4.3. Gráficos en 3D
2.4.4. Sistemas Raster
2.4.5. Modelado geométrico
2.4.6. Eliminación de partes ocultas
2.4.7. Visualización realista
2.4.8. Biblioteca gráfica OpenGL
2.5. Unity: Introducción e instalación
2.5.1. ¿Qué es Unity?
2.5.2. ¿Por qué Unity?
2.5.3. Características de Unity
2.5.4. Instalación
2.6. Unity: 2D y 3D
2.6.1. Gameplay en 2D: Sprites y Tilemaps
2.6.2. Gameplay en 2D: 2D Physics
2.6.3. Ejemplos de videojuegos realizados con Unity 2D
2.6.4. Introducción a Unity 3D
2.7. Unity: instanciación y creación de objetos
2.7.1. Añadir componentes
2.7.2. Eliminar componentes
2.7.3. Importación de Assets y texturas
2.7.4. Materiales y mapas para los materiales
2.8. Unity: interacciones y física
2.8.1. Rigidbody
2.8.2. Colliders
2.8.3. Joints (articulaciones)
2.8.4. Character Controllers
2.8.5. Continous Collision Detection (CCD)
2.8.6. Physics Debug Visualization
2.9. Unity: inteligencia artificial básica para NPCs
2.9.1. Pathfinding en Unity: Navmesh
2.9.2. Enemigo con IA
2.9.3. Árbol de acción de un NPC
2.9.4. Jerarquía y scripts de un NPC
2.10. Unity: fundamentos de animación e implementación
2.10.1. Animation Controller. Asociación al personaje
2.10.2. Blend Tree: árbol de combinación
2.10.3. Transición entre estados
2.10.4. Modificación del umbral para las transiciones
Módulo 3. Diseño y desarrollo de juegos web
3.1. Orígenes y estándares de la web
3.1.1. Orígenes de Internet
3.1.2. Creación de World Wide Web
3.1.3. Aparición de los estándares web
3.1.4. El auge de los estándares web
3.2. HTTP y estructura cliente-servidor
3.2.1. Rol cliente-servidor
3.2.2. Comunicación cliente-servidor
3.2.3. Historia reciente
3.2.4. Computación centralizada
3.3. Programación web: introducción
3.3.1. Conceptos básicos
3.3.2. Preparando un servidor web
3.3.3. Conceptos básicos de HTML5
3.3.4. Formas HTML
3.4. Introducción a HTML y ejemplos
3.4.1. Historia de HTML5
3.4.2. Elementos de HTML5
3.4.3. APIS
3.4.4. CCS3
3.5. Modelo de objeto de documento
3.5.1. ¿Qué es el Modelo de Objetos del Documento?
3.5.2. Uso de DOCTYPE
3.5.3. La importancia de validar el HTML
3.5.4. Accediendo a los elementos
3.5.5. Creando elementos y textos
3.5.6. Usando innerHTML
3.5.7. Eliminando un elemento o nodo de texto
3.5.8. Lectura y escritura de los atributos de un elemento
3.5.9. Manipulando los estilos de los elementos
3.5.10. Adjuntar múltiples ficheros a la vez
3.6. Introducción a CSS y ejemplos
3.6.1. Sintaxis CSS3
3.6.2. Hojas de estilo
3.6.3. Etiquetas
3.6.4. Selectores
3.6.5. Diseño web con CSS
3.7. Introducción a JavaScript y ejemplos
3.7.1. ¿Qué es JavaScript?
3.7.2. Breve historia del lenguaje
3.7.3. Versiones de JavaScript
3.7.4. Mostrar un cuadro de diálogo
3.7.5. Sintaxis de JavaScript
3.7.6. Comprensión de Scripts
3.7.7. Espacios
3.7.8. Comentarios
3.7.9. Funciones
3.7.10. JavaScript en la página y externo
3.8. Funciones en JavaScript
3.8.1. Declaraciones de función
3.8.2. Expresiones de función
3.8.3. Llamar a funciones
3.8.4. Recursividad
3.8.5. Funciones anidadas y cierres
3.8.6. Preservación de variables
3.8.7. Funciones multi-anidadas
3.8.8. Conflictos de nombres
3.8.9. Clausuras o cierres
3.8.10. Parámetros de una función
3.9. PlayCanvas para desarrollar juegos web
3.9.1. ¿Qué es PlayCanvas?
3.9.2. Configuración del proyecto
3.9.3. Creando un objeto
3.9.4. Agregando físicas
3.9.5. Añadiendo un modelo
3.9.6. Cambiando los ajustes de gravedad y escena
3.9.7. Ejecutando Scripts
3.9.8. Controles de cámara
3.10. Phaser para desarrollar juegos web
3.10.1. ¿Qué es Phaser?
3.10.2. Cargando recursos
3.10.3. Construyendo el mundo
3.10.4. Las plataformas
3.10.5. El jugador
3.10.6. Añadir físicas
3.10.7. Usar el teclado
3.10.8. Recoger Pickups
3.10.9. Puntos y puntuación
3.10.10. Bombas de rebote
Serás el gran experto en programación de videojuegos de tu país”
Experto Universitario en Lenguajes de Programación para Videojuegos
En TECH Universidad, de la mano de los mejores especialistas en la materia, diseñamos el posgrado de Experto Universitario en Lenguajes de Programación para Videojuegos. Gracias a ello, los estudiantes se cualificarán junto a un plan de estudio actualizado, el cual les permitirán obtener todas las sapiencias necesarias para destacar en la praxis laboral. Nuestro curso permitirá conocer los diferentes métodos de programación aplicados al ámbito de los videojuegos, asimismo, profundizaremos en el proceso de producción y diseño, a fin de que puedan conocer las diferentes perspectivas y visiones de las demás áreas involucradas en las fases de creación. Por otra parte, al finalizar el programa el alumno estará capacitado para manejar cualquier lenguaje que se le pida, afrontando con solvencia los retos de la práctica profesional.
Posgrado en Lenguajes de Programación para Videojuegos 100% online
El posgrado en Lenguajes de Programación para Videojuegos de TECH cuenta con ejes temáticos novedosos, los cuales permitirán a los alumnos abordar tópicos como modelado 3D, desarrollo web, pruebas de software, creación de objetos, fundamentos de la animación, entre otras áreas conceptuales de gran valor académico. Además, a lo largo del curso fomentaremos el autoaprendizaje del profesional con el fin de que al egresarse pueda continuar ampliando su bagaje conceptual, mejorando continuamente en la ejecución de proyectos. Por otra parte, el alumno resolverá diferentes actividades con base en la vida real, en la cuales realizará un proceso de autoevaluación que permitirá encontrar falencias en sus bases teóricas, permitiendo al educador reforzar estas debilidades.