descargar pdf del curso

Transcripción

descargar pdf del curso
Técnicas Avanzadas
Desarrollo de Videojuegos
Courses Online Digital Innovation
Objetivos
El objetivo de este CURSO , titulado «Técnicas Avanzadas de Desarrollo» que
pertenece al area del Curso de Experto en Desarrollo de Videojuegos, es
profundizar es aspectos de desarrollo más avanzados que complementen el resto
de contenidos de dicho curso y permitan explorar solución es más eficientes en el
contexto del desarrollo de videojuegos. En este módulo se introducen aspectos
básicos de jugabilidad y se describen algunas metodologías de desarrollo de
videojuegos. Así mismo, también se estudian los fundamentos básicos de la
validación y pruebas en este proceso de desarrollo. Por otra parte, en este módulo
también se estudia un aspecto esencial en el desarrollo de videojuegos: la
simulación física.
No obstante, uno de los componentes más importantes del presente módulo está
relacionado con aspectos avanzados del lenguaje de programación C++, como por
ejemplo el estudio en profundidad de la biblioteca SDL, y las optimizaciones.
Finalmente, el presente módulo se complementa con el estudio de la gestión de
widgets y el estudio de la plataforma de desarrollo de videojuegos Unity,
especialmente ideada para el desarrollo de juegos en plataformas móviles.
¿A quién va dirigido?
Tiene un perfil principalmente técnico. Orientado a la capacitación de
profesionales de la programación de videojuegos. Se asume que el lector es
capaz de desarrollar programas de nivel medio en C y C++. Aunque se describen
algunos aspectos clave de C++ a modo de resumen, es recomendable refrescar
los conceptos básicos con alguno de los libros recogidos en la bibliografía del
curso. De igual modo, se asume que el lector tiene conocimientos de estructuras
de datos y algoritmia. El libro está orientado principalmente para titulados o
estudiantes de últimos cursos de Ingeniería en Informática.
2
Temario
1.
Aspectos de Jugabilidad y Metodologías de Desarrollo














2.
Jugabilidad y Experiencia del Jugador
Introducción
Caracterización de la Jugabilidad
Facetas de la Jugabilidad
Calidad de un juego en base a la Jugabilidad
Metodologías de Producción y Desarrollo
Pre-Producción
Producción
Post-Producción
Metodologías Alternativas
Proceso Unificado del Juego
Desarrollo Incremental
Desarrollo Ágil y Scrum
Desarrollo Centrado en el Jugador
C++ Avanzado














Programación genérica
Algoritmos
Predicados
Functors
Adaptadores
Algoritmos idempotentes
Algoritmos de transformación
Algoritmos de ordenación
Algoritmos numéricos
Ejemplo: inventario de armas
Aspectos avanzados de la STL
Eficiencia
Semántica de copia
Extendiendo la STL
3
























3.
Allocators
Estructuras de datos no lineales
Árboles binarios
Recorrido de árboles
Quadtree y octree
Patrones de diseño avanzados
Forma canónica ortodoxa
Smart pointers
Handle-body
Command
Curiously recurring template pattern
Acceptor/Connector
C++11: Novedades del nuevo estándar
Compilando con g++ y clang
Cambios en el núcleo del lenguaje
Cambios en la biblioteca de C++
Plugins
Entendiendo las bibliotecas dinámicas
Plugins con libdl
Plugins con Glib gmodule
Carga dinámica desde Python
Plugins como objetos mediante el patrón
Factory
o Method
Plugins multi-plataforma
Técnicas específicas










Serialización de objetos
Streams
Serialización y Dependencias entre objetos
Serialización con Boost
C++ y scripting
Consideraciones de diseño
Invocando Python desde C++ de forma nativa
Librería boost
Herramienta SWIG
Conclusiones
4
4.
Optimización















5.
Perfilado de programas
El perfilador de Linux perf
Obteniendo ayuda
Estadísticas y registro de eventos
Multiplexación y escalado
Métricas por hilo, por proceso o por CPU
Muestreo de eventos
Otras opciones de perf
Otros perfiladores
Optimizaciones del compilador
Variables registro
Código estático y funciones inline
Eliminación de copias
Volatile
Conclusiones
Validación y Pruebas










6.
Programación defensiva
Sobrecarga
Desarrollo ágil
TDD
Las pruebas primero rojo, verde, refactorizar
Tipos de pruebas
Pruebas unitarias con google-tests
Dobles de prueba
Dobles de prueba con google-mock
Limitaciones
Empaquetado y distribución




Empaquetado y distribución en Windows
Creación de un paquete básico
Interacción con el usuario
Otras características
5









7.
Empaquetado y distribución en GNU/Linux
Pidiendo un paquete
Obteniendo el fuente original
Estructura básica
Construcción del paquete
Parches: adaptación a Debian
Actualización del paquete
Subir un paquete a Debian
Otros formatos de paquete
Representación Avanzada


























Fundamentos
Billboards
Sistemas de partículas
Uso de Billboards
Tipos de Billboard
Aplicando texturas
Uso de Sistemas de Partículas
Emisores
Efectores
Ejemplos de Sistemas de Partículas
Introducción a los Shaders
Un poco de historia
¿Y qué es un Shader?
Pipelines Gráficos
Fixed-Function Pipeline
Programmable-Function Pipeline
Aplicaciones de los Shader
Lenguajes de Shader
Desarrollo de shaders en Ogre
Primer Shader
Comprobando la interpolación del color
Usando una textura
Jugando con la textura
Jugando con los vértices
Iluminación mediante shaders
Optimización de interiores
6










8.
Introducción
Técnicas y Algoritmos
Manejo de escenas en OGRE
Optimización de Exteriores
Introducción
Estructuras de datos
Determinación de la resolución
Técnicas y Algoritmos
Exteriores y LOD en OGRE
Conclusiones
Plataformas Móviles


















Método de trabajo con un motor de videojuegos
Generación de contenido externo al motor
Generación de contenido interno al motor
Creación de escenas
Creación de prefabs
Programación de scripts
Algunos scripts básicos
Triggers
Invocación de métodos retardada
Comunicación entre diferentes scripts
Control del flujo general de la partida
Programación de enemigos
Programación del control del jugador
Programación del interface
Optimización
Light mapping
Occlusion culling
Resultado final
Acerca del curso

El usuario dispone de 3 meses para realizar el curso a partir de la fecha de
inicio del mismo.
7
















Reserva enviado un mail a [email protected] , con tus
datos de contacto y código de cupón.
Una vez efectuada la reserva, recibirás un correo con tus claves de acceso.
A través del Campus Online y la atención personalizada de tu
profesorlograrás alcanzar tus objetivos.
En el momento que contratas un curso empiezas a estudiar, a tu ritmo, sin
horarios e irás progresando de forma efectiva: no hay pérdidas de clases o
conocimientos.
Una vez superes los ejercicios se da acceso al siguiente tema y así
sucesivamente.
Dispondrás del apoyo y seguimiento de un tutor personal, experto y
especializado en la materia, que responderá a tus dudas y preguntas.
Puedes seguir el curso en tu tableta.
Recibirás un diploma acreditativo del Centro de Estudios Tecnológicos
CODI , tras la superación de todas las pruebas de evaluación.
Programa del Curso
Duración: 80 h, a lo largo de 3 meses.
Enfoque global y práctico, para la aplicación inmediata.
Incluye power points, documentación en pdf y un test de evaluación final
(30 preguntas )
Disponible 24 h al día, 7 días a la semana, en soporte web o por mail.
Níngún requisito , ¡solo tu creatividad!
Recibirás tu diploma una vez terminado el curso con aprovechamiento.
Certificados disponibles :
Firma y sello de Centro Formativo CODI.
Camerfirma . Certificado digital de los documentos expedidos.
Opcionables :
Sello de certificación de calidad del fondo Social Europeo.
Apostillado de La Haya.
Precio
PVP : 390 euros
8











¿A quién va destinado este curso?
Aprender a crear un videojuego desde el punto de vista del programador.
Apropiado para todos los que tengan conocimientos de programación
informática y quieran introducirse en el próspero mundo de los videojuegos.
Emprendedores que quieran llevar a cabo su proyecto.
Diseñadores de Niveles que quieran profundizar en la creación de
videojuegos.
Fanáticos de los videojuegos.
Preguntas frecuentes
Q: ¿ Conseguiré un certificado después de acabar las clases ?
Si. Los alumnos que completen de forma satisfactoria la formación,
recibirán un certificado firmado por el tutor.
Q: ¿ Qué recursos necesito para terminar este curso ?
Aptitud para la programación informática.
Q: ¿ Es un curso válido para los dispositivos móviles ?
Desde luego que sí, ya que la muchos de los juegos que se elaboran hoy
en día son para Smartphones y Tablets.
9

Documentos relacionados