Introducción al Desarrollo de Videojuegos

Información Básica

  • Créditos: 3
  • Horas de clase: 5 / semana (3 horas clase, 2 horas taller)
  • Horas de trabajo independiente: 4 / semana
  • Pre-requisitos: Computación Gráfica
  • Tipo de curso: Énfasis.

Descripción del Curso

Los videojuegos constituyen un ejemplo excelente de computación, interacción multimodal, creatividad e interdisciplinariedad. Estos son utilizados en la industria del entretenimiento, en la interacción social y en la educación. Son populares en diversidad de plataformas y utilizan tecnologías de motores o desarrollos avanzados de computación. El curso introduce los conceptos fundamentales para su diseño e implementación. Uno de los objetivos de un videojuego es mantener interesado al usuario, retarlo y hacer de la experiencia del juego algo placentero. Por eso, el curso también explora aspectos de la inteligencia artificial (IA) en los videojuegos. Aquí, la IA no trata necesariamente de un ente inteligente como tal, más bien, toda técnica o elemento que reproduzca un comportamiento inteligente es válida por sencilla o compleja que esta sea.

Objetivos

Al finalizar el curso los participantes podrán:

  1. Describir un videojuego.
    1. Definir videojuego.
    2. Definir gamificación.
    3. Diferenciar los tipos de videojuego.
    4. Identificar las aplicaciones de los videojuegos.
    5. Identificar los componentes de un videojuego.
  2. Aplicar una metodología de desarrollos de videojuegos.
    1. Adaptar una narrativa al desarrollo de un videojuego.
    2. Caracterizar personajes, retos y niveles.
    3. Utilizar máquinas de estado para visualizar la mecánica de juego.
    4. Redactar el documento de diseño de un videojuego.
    5. Trabajar en un equipo interdisciplinar.
    6. Asumir diferentes roles en un equipo de trabajo.
    7. Seguir un plan de trabajo.
  3. Implementar un videojuego.
    1. Utilizar un motor de videojuegos.
    2. Incluir y programar “assests” en el motor para crear un videojuego.
    3. Aplicar conceptos de computación para implementar videojuegos.
    4. Comparar las plataformas disponibles para desarrollo de videojuegos.
    5. Comparar técnicas que permiten percibir como inteligentes los videojuegos.
    6. Identificar aspectos técnicos relacionados con los juegos en red.
  4. Evaluar videojuegos.
    1. Construir y evaluar prototipos.
    2. Ejecutar pruebas de usabilidad y entretenimiento en un grupo de usuarios.
    3. Realizar pruebas funcionales en los videojuegos.

Competencias técnicas específicas que se desarrollan

  1. Unity 2D y 3D (intermedio).
  2. “Scripting” en C# (intermedio).
  3. Audacity (avanzado).
  4. Gimp (básico).

Contenido

Capítulo 1: Introducción

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
1 3 Introducción: historia, definición, clasificación, ideas y re-alimentación, ciclo de producción, planeación y riesgo, crítica. Tipos de videojuego. Componentes de un videojuego. Gamificación. Ética. Familiaridad [ 1, 7 ]
2 2 Taller de ideas y sinopsis de juego. Uso [ 1 ]
3 3 El documento de diseño. Balance: balance, niveles, estrategias. La mecánica. Prototipado: prototipo, pruebas, documentación, assets, mecánica, historia, interacción, personajes (protagonista, contrincante), sprites. Familiaridad [ 1, 9, 10 ]
4 2 Taller de redacción del documento de diseño. Uso [ 1 ]
5 3 Tipos de plataformas de juegos (consolas, móviles, PCs, red). Tipos de lenguajes. Limitaciones. Arquitecturas de sistemas de videojuegos (motores, simuladores, realidad aumentada móvil, CAVEs) Evaluación [ 1, 2 ]
6 2 Taller de prototipado y validación del prototipo. Uso [ 1, 9, 10]
7 3 Manejo de eventos e interacción del usuario. Escogencia del estilo de interacción. Representando la información a los usuarios (navegación, manipulación). Interacción no basada en mouse. Evaluación [ 1, 9, 10 ]
8 2 Taller de diseño de interacción. Herramientas de edición de medios e imágenes. Evaluación [ 1, 9, 10 ]
9 3 Evaluación con los usuarios (“think aloud”, entrevistas, sondeos, experimentos). Evaluando la usabilidad y el entretenimiento. Wrap up: post mortem del juego. Evaluación [ 1, 9, 10 ]
10 2 Taller de evaluación. Evaluación [ 1, 9, 10]

Total de Horas: 25.

Sesión Horas de trabajo independiente Temas Bibliografía
1-2 4 Redacción de la idea de juego. Constitución de equipos de trabajo. Desarrollo del plan. [ 1 ]
3-4 4 Redacción del documento de diseño. [ 1 ]
5-6 4 Elaboración de prototipos.[ 1, 9, 10]
7-8 4 Diseño de la interacción del videojuego. [ 1, 9, 10]
9-10 4 Evaluación de prototipos.[1, 9, 10 ]

Total de Horas: 20

Capítulo 2: Implementación

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
11 - 12 5 Desarrollo en un motor de videojuegos (Unity) Uso [ 3, 4, 5]
13 - 14 5 Desarrollo en un motor de videojuegos (Unity) Uso [ 3, 4, 5 ]
15 - 16 5 Desarrollo en un motor de videojuegos (Unity) Uso [ 3, 4, 5 ]
17 - 18 5 Desarrollo en un motor de videojuegos (Unity) Uso [ 3, 4, 5 ]
19 - 20 5 Desarrollo en un motor de videojuegos (Unity) Uso [ 3, 4, 5 ]

Total de Horas: 25.

Sesión Horas de trabajo independiente Temas Bibliografía
11-12 4 Desarrollo de talleres en Unity. [ 3, 4, 5 ]
13-14 4 Desarrollo del proyecto en Unity. [ 3, 4, 5 ]
15-16 4 Desarrollo de talleres en Unity.[ 3, 4, 5 ]
17-18 4 Desarrollo del proyecto en Unity. [ 3, 4, 5 ]
19-20 4 Desarrollo del proyecto en Unity.[ 3, 4, 5 ]

Total de Horas: 20

Capítulo 3: Inteligencia

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
21 - 22 5 El test de Turing. Personajes no jugables (NPC). Máquinas de estado finito. lógica difusa. Evaluación [ 6, 8, 11 ]
23 - 24 5 Estrategias de juegos competitivos. Minimax. poda alfa-beta. Algoritmo A*. Persecución. Evaluación [ 8, 11 ]
25 - 26 5 Manejo de multitudes (“flocking”). Way points. inteligencia del ambiente. Evaluación [ 6, 8 ]
27 - 28 5 Agentes inteligentes en mundos virtuales. Árboles de comportamiento. Familiaridad[ 6, 11 ]
29 - 30 5 Algoritmos genéticos y redes neuronales. Familiaridad [ 6, 11 ]
31 3 Juegos masivos en línea. Consideraciones técnicas de la red. Familiaridad [ 8 ]
32 2 Taller de IA en juegos. Evaluación [ 6, 8]

Total de Horas: 30.

Sesión Horas de trabajo independiente Temas Bibliografía
21-22 4 Dibujar las máquinas de estado de juegos de arcada clásicos. [ 6, 8 ]
23-24 4 Ejercicio de Minimax. Lectura del libro guía. [ 6, 8 ]
25-26 4 Lectura del libro guía.[ 6, 8 ]
27-28 4 Implementar una técnica de IA en el proyecto. [ 6, 8]
29-30 4 Implementar una técnica de IA en el proyecto. [ 6, 8]
31-32 4 Desarrollo del proyecto en Unity.[ 3, 4, 5]

Total de Horas: 24

Integración Curricular

Resultados de Programa (ABET)

(A) La habilidad para aplicar conocimientos de matemáticas, ciencias e ingeniería.

(B) La habilidad para analizar un problema e identificar los requerimientos necesarios para su definición y solución.

(C) La habilidad para diseñar, implementar y evaluar procesos y sistemas computacionales.

(D) La habilidad para funcionar en equipos de trabajo.

(E) El entendimiento de la responsabilidad profesional y ética.

(F) La habilidad para comunicarse efectivamente.

(G) La habilidad para analizar los impactos de la computación y la ingeniería en las personas, organizaciones y la sociedad.

(H) El reconocimiento de la necesidad de, y la habilidad para, continuar con el desarrollo profesional.

(I) La habilidad para usar las técnicas, destrezas y herramientas modernas para la práctica de la computación.

(J) La habilidad para aplicar los fundamentos y principios de las matemáticas y de la computación en el modelamiento y diseño de sistemas computacionales de manera que se demuestre comprensión de las ventajas y desventajas en las decisiones de diseño.

(K) La habilidad para aplicar los principios de diseño y desarrollo de software en la construcción de sistemas de diferente complejidad.

Relevancia del curso con los resultados de programa

Resultados de Programa
A B C D E F G H I J K
Relevancia 1 5 3 2 4 4 5

Escala: (1) baja relevancia - (5) alta relevancia.

Integración de objetivos, contenido y metodología del curso

La tabla presenta la metodología (actividades de aprendizaje) e instrumentos de evaluación utilizados para cubrir el contenido del curso.

Resultados del Programa Indicadores de Desempeño Objetivos/Contenido del Curso Actividades de aprendizaje Instrumentos de medición
(A) Aplicación de Conocimientos (A1) Identificar los fundamentos científicos y los principios de ingeniería que rigen un proceso o sistema. (Conocimiento) (A2) Resolver problemas relacionados con la disciplina y otras áreas por medio de la utilización de conocimientos, modelos y formalismos de las ciencias de la computación, las matemáticas y la ingeniería. (Aplicación) Capítulo 3 Exposiciones del profesor, solución de ejercicios y lecturas Examen
(D) Trabajo en equipo (D1) Reconocer el rol cada vez más predominante de la computación en entornos multidisciplinarios. (Conocimien to). (D2) Participar en tareas y en la toma de decisiones. (Respuesta - Afectivo). (D3) Integrar diferentes puntos de vista, información, críticas y retroalimentación para proponer una solución. (Síntesis). (D4) Definir tareas, roles y responsabilidades. (Aplicación). Capítulos 1, 2 y 3 Exposiciones del profesor. Talleres prácticos de diseño y programación. Proyecto y talleres
(F) Comunicación efectiva (F1) Producir textos de manera efectiva teniendo en cuenta la estructura, coherencia, flujo, ortografía y correcto uso del lenguaje. (Aplicación). (F2) Comunicarse de manera efectiva de acuerdo al público objetivo haciendo uso correcto del lenguaje, estilo, tiempo y expresión corporal. (Aplicación). (F3) Utilizar recursos gráficos para comunicar y expresar una idea. (Aplicación). (F4) Defender ideas con precisión y claridad. (Evaluación). Capítulos 1, 2 y 3 Presentaciones orales y discusiones Presentaciones y reportes
(G) Impactos de la computación y la ingeniería (G1) Identificar los eventos históricos y contemporáneos que la computación y la ingeniería han afectado. (Comprensión). (G2) Utilizar los conocimientos para identificar los impactos de las soluciones en ingeniería y computación. (Aplicación). (G3) Analizar los impactos locales y globales de la computación y la ingeniería. (Análisis). (G4) Juzgar los impactos de la computación y la ingeniería en el mundo. (Evaluación). Capítulos 1 Exposiciones del profesor. Casos de estudio Tarea
(H) Desarrollo profesional. (H1) Reconocer la importancia del conocimiento tanto en amplitud como en profundidad. (Compresión). (H2) Aplicar nuevo conocimiento para resolver un problema o desarrollar una solución. (Aplicación). (H3) Interpretar y evaluar información de diferentes fuentes y establecer conexiones con conocimientos previos. (Síntesis - Evaluación) (H4) Mostrar disposición par aprender nuevas cosas por medio de estudio personal. (Valuación). Capítulos 1, 2 y 3 Presentaciones orales y discusiones Talleres y tarea
(I) Uso de herramientas y técnicas (I1) Utilizar herramientas de desarrollo de software. (Aplicación). Capítulos 2 y 3 Laboratorios y lecturas Proyecto y talleres
(K) Desarrollo de software (K1) Hacer seguimiento a cronogramas y adaptar los recursos necesarios para cumplir con sus hitos. (Aplicación). (K2) Implementar e integrar componentes de software respetando los criterios de diseño. (Aplicación). (K4) Evaluar y verificar soluciones de software con respecto a las restricciones y requerimientos establecidos. (Aplicación - Evaluación). Capítulo 2 Exposiciones del profesor. Talleres teórico prácticos Proyecto

Contribución al Desarrollo de Competencias (CNA)

La tabla muestra que aspectos de la competencias de Razonamiento Cuantitativo son evaluados a través de los factores ABET correspondientes. Así mismo, ocurre con las competencias de Comunicación Escrita, Lectura Crítica e Inglés. La Ciudadanía se favorece gracias a la metodología del curso.

Resultados de Programa
A B C D E F G H I J K
Ciudadanía U U
Comunicación escrita E
Lectura crítica E
Inglés E
Razonamiento cuantitativo E U U E

Contribución a los objetivos educacionales

La Carrera de Ingeniería de Sistemas y Computación plantea los siguientes objetivos educacionales, El estudiante graduado de la carrera será capaz de:

  1. Ejercitar la práctica de la Ingeniería de Sistemas y Computación profesionalmente.
  2. Diseñar y operar sistemas de computación que contribuyen a la solución de problemas relacionados a la disciplina, otra área de la ciencia y la ingeniería u otras disciplinas.
  3. Contribuir al bienestar de las comunidades desde posiciones prominentes en la industria, academia, sector público o como un emprendedor.
  4. Ser distinguido por su bases sólidas en computación, su sentido de ciudadanía responsable, su profesionalismo y liderazgo.
  5. Continuar su desarrollo profesional o involucrarse en estudios de posgrado.
Resultados de Programa
A B C D E F G H I J K
Objetivo 1 X X
Objetivo 2 X X
Objetivo 3 X X
Objetivo 4 X X X
Objetivo 5 X

A través de los factores ABET declarados en la fórmula del curso, éste contribuye a los objetivos educacionales del programa y de esta manera se relaciona con los planes educativos del programa y de la Universidad.

Reglas del curso

Calificación y Balance de Evaluación del Curso

Instrumento Porcentaje A B C D E F G H I J K
Examen 7 % 7 %
Proyecto 30 % 10 % 10 % 10%
Reporte 10 % 10 %
Presentaciones 12 % 12 %
Talleres 25 % 10 % 9% 6 %
Tareas 16 % 8% 8%

Uso de material en exámenes

Está permitido el uso de todo tipo de material analógico o electrónico.

Asistencia

Obligatoria

Bibliografía

  1. Jesse Schell. The Art of Game Design: A Book of Lenses, Second Edition. Nov 6, 2014. ISBN-13: 860-1419378326. ISBN-10: 1466598646.
  2. Jason Gregory. Game Engine Architecture, Second EditionAug 15, 2014. ISBN-13: 978-1466560017. ISBN-10: 1466560010.
  3. Patrick Felicia. Unity 5 From Zero to Proficiency (Foundations): A step-by-step guide to creating your first game with Unity. Oct 20, 2015. ASIN: B016YF7OKS.
  4. Patrick Felicia. Unity 5 From Zero to Proficiency (Beginner): A step-by-step guide to coding your first game with Unity. ASIN: B019L2YF4Y.
  5. Patrick Felicia. Unity 5 From Zero to Proficiency (Intermediate): A step-by-step guide to coding your first game in C# with Unity. ASIN: B01EJCE85M.
  6. Ian Millington, John Funge. Artificial Intelligence for GamesAug 6, 2009. ISBN-13: 978-0123747310. ISBN-10: 0123747317
  7. Edmond C. Prakash, Madhusudan Rao. Transforming Learning and IT Management through Gamification (International Series on Computer Entertainment and Media Technology)Aug 7, 2015. ISBN-13: 978-3319186986. ISBN-10: 3319186981.
  8. Edmond C. Prakash, Hock Soon Seah, Hai Nam Pham. 3D Computer Game Programming (Third Edition) Pearson Addison-Wesley. ISBN 978-981-06-8097-8. 2009.
  9. A.A. Navarro Newball, I. Moreno Sánchez, E. Prakash, Ali Arya, V.E. Contreras Roldán, V.A. Quiceno Rios, J.D. Mejía Mena, D.F. Loaiza, S. Lozano P.; “Gesture based human motion and game principles to aid understanding of science and cultural practices.” Multimedia Tools And Applications ISSN: 1380-7501. Springer, 2015. http://dx.doi.org/10.1007/s11042-015-2667-5.
  10. A. Navarro, D. Loaiza, C. Oviedo, A. Castillo, A. Portilla, D. Linares, and G. Álvarez; Talking to Teo: Video Game Supported Speech Therapy,” Entertainment Computing 5 (2014) 401–412 ISSN: 1875-9521. Elsevier, 2014. dx.doi.org/10.1016/j.entcom.2014.10.005
  11. Stuart Russell, Peter Norvig. Artificial Intelligence: A Modern Approach (3rd Edition)Dec 11, 2009. ISBN-13: 860-1419506989. ISBN-10: 0136042597

Instalaciones

Salón de clase con computador y proyector. Laboratorio de Ingeniería de Sistemas y Computación.

Material de este semestre

 
materias/introducciondesarrollovideojuegos.txt · Última modificación: 2017/01/20 13:24 por anavarro
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki