CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Universidad del Trabajo del Uruguay Escuela Técnica Washington Lockhart FORMACIÓN PROFESIONAL BÁSICA EN INFORMÁTICA Taller de Programación de Videojuegos WALTER NORES PLANIFICACIÓN MÓDULO I TRAYECTO II 2015
Índice de contenido FUNDAMENTACIÓN...3 OBJETIVOS GENERALES...3 OBJETIVOS ESPECÍFICOS...4 CONDICIÓN DE INGRESO... PERFIL DE EGRESO...5 DESARROLLO DEL CURSO....6 CRONOGRAMA...6 CONTENIDOS CONCEPTUALES...6 CONTENIDOS PROCEDIMENTALES...8 CONTENIDOS ACTITUDINALES...9 METODOLOGÍA...9 RECURSOS MATERIALES...10 EVALUACIÓN...10 PROFESOR / INSTRUCTOR:...11 DURACIÓN DEL CURSO...11 LUGAR A DESARROLLARSE:...11 BIBLIOGRAFÍA PARA EL ESTUDIANTE...12 página 2 de 12
FUNDAMENTACIÓN Los videojuegos ocupan un lugar importante en la vida de muchas personas, principalmente con fines de entretenimiento. La tecnología empleada ha logrado perfeccionarlos mediante diferentes técnicas y lenguajes de programación. La producción y comercialización masiva de estos productos dejan en evidencia un área con innumerables oportunidades y de permanente crecimiento en ese sector. Es así que las compañías dedicadas a esta actividad demanda cada vez más de personal calificado e idóneo capaz de innovar. El presente curso, proporciona las bases para el análisis, diseño e implementación de videojuegos en 2D mediante GameMaker Language, un lenguaje de programación orientado a la programación de videojuegos. La interfaz del entorno de desarrollo Game Maker, intuitiva y de fácil manejo, brinda adicionalmente un espacio de trabajo y un conjunto de librerías y complementos para el programador, posibilitando explotar al máximo las prestaciones de los dispositivos a nivel de multimedia y comunicación, de esta manera, hay beneficios significativos para los programadores que acceden a un sinfín de funciones y posibilidades, enriqueciendo la experiencia de los usuarios. El Desarrollo de videojuegos, requieren de un mayor énfasis en las herramientas que se van a utilizar para su construcción, tal es así que el curso de videojuegos ha sido elaborado considerando aquellas que van a ser de gran ayuda en la creación de aplicaciones, y sobre todo reduciendo el tiempo de producción y centrándose en la utilización eficiente de los recursos. Este curso brindará a los participantes un marco integral en la elaboración de sus proyectos, permitirá a su vez incrementar sus conocimientos sobre las últimas tendencias en la utilización de tecnología. Además trata de orientar al participante para que concentre todos sus esfuerzos en diseñar la lógica del producto y utilizar todo el potencial que brinda GameMaker en cuestiones técnicas. OBJETIVOS GENERALES Obtener los fundamentos necesarios para la creación de videojuegos, así como su proceso de desarrollo, todo ello, utilizando la herramienta profesional "Game Maker"; para ello, en el curso se desarrollará un juego completo paso a paso. El objetivo general de la asignatura es formar una persona con sólidos conocimientos en la programación que se utilizan en el lenguaje de programación nativo de GameMaker y brindarle los conocimientos necesarios para el desarrollo de aplicaciones de software página 3 de 12
escalables y eficientes. Brindar una capacitación basada en un entorno de desarrollo de videojuegos que permitirá al estudiante adquirir la competencia de programar para desarrollar aplicaciones con fines de entretenimiento y didácticos a través del ingenio y la creatividad. Favorecer el desarrollo de la habilidad de pensamiento crítico y habilidades de aprender a aprender. Potenciar y valorar la importancia de la creatividad para innovar. Incentivar a los estudiantes a trabajar cooperativamente, apoyarse unos a otros y respetar a sus compañeros y profesor como un medio de maximizar el aprendizaje. Se ampliarán conocimientos adquiridos los años anteriores organizando y ampliando los saberes sobre otros lenguajes de programación. El alumno deberá desempeñarse como programador de videojuegos en 2D, en la búsqueda de estrategias para resolver problemas y perfeccionamiento de estos; aplicando conocimientos técnicos y procedimentales adquiridos durante el curso además de tener la capacidad de ampliarlos de acuerdo a las necesidades. Promover el trabajo en equipo, asignar responsabilidades a cada integrante y valorando la colaboración y el aporte de ideas del grupo para solucionar los problemas planteados. Lograr que los alumnos comprendan y apliquen los conceptos fundamentales del paradigma orientado objetos para implementarlo combinándolo con las buenas prácticas de programación. Actualizar y formar en programación de GM Language que favorezcan y faciliten los aprendizajes de los estudiantes, proporcionándoles una mirada integradora a los contenidos, e incorporando las TICs como herramienta de acercamiento con el objeto de aprendizaje. Fomentar habilidades para crear soluciones y comprender los diferentes recursos que permiten programar videojuegos abordándolos desde diversas índoles, como el deporte, el arte, las ciencias, etc. Potenciar el espíritu de superación y la perseverancia para alcanzar los objetivos. OBJETIVOS ESPECÍFICOS Se pretende que al finalizar el curso el alumno sea capaz de: Analizar los requerimientos básicos que debe de cumplir una aplicación. Estos requerimientos (lógicos) son de diferentes tipos: Estabilidad, diseño y optimización de funciones, interfaz de usuario amigable, y otros. Reconocer la influencia de los VJs en la conducta de los individuos. Proyectar los VJs mas allá del mero entretenimiento y ver también la posibilidades en la productividad. Reconocer la estructura fundamental de un aplicación, la conexión de sus métodos, atributos, estructuras de control y nociones de modularización. Instalar y configurar el entorno de desarrollo-ejecución adecuado. página 4 de 12
CONDICIÓN DE INGRESO El curso está dirigido al estudiante con: 15 años cumplidos, Primaria Completa (accede a Trayecto I: 6 módulos). 1º o 2º de Ciclo Básico aprobado puede acceder a los Trayectos II o III: 4 módulos. PERFIL DE EGRESO El alumno que egrese de esta modalidad de FPB estaría capacitado para trabajar en el medio laboral en alguno de los siguientes empleos: Cyber Café Teletrabajo Supermercado Caja Recepcionista (Control de Stock) Digitador Se les otorgará el título de Operario Básico Informático. Los egresados pueden continuar estudiando dentro del EMT de Informática o EMP Reparación PC Al finalizar el módulo el estudiante podrá: Implementar aplicaciones de videojuegos basada en GameMaker, ejecutarlas sobre diferentes plataformas o sobre la misma herramienta de desarrollo de la aplicación. Sabrá cómo funciona la lógica de las aplicaciones creadas y cómo operan en una persona, así como las técnicas necesarias para acceder a las funciones más interesantes de Game Maker. El Desarrollador de Aplicaciones de videojuegos estará capacitado con las herramientas básicas para construir software independiente o participar en proyectos de integración con otras aplicaciones y ambientes de trabajo. Estarán en capacidad de discriminar sobre los beneficios de utilizar los diversos Técnicas y librerías que existen el mercado. Utilizar librerías/extensiones de mayor demanda y eficiencia e incorporarlas en sus proyectos. Orientar los proyectos al trabajo especializado según los roles de los integrantes, página 5 de 12
sean diseñadores, desarrolladores, analistas de negocio, todos podrán realizar su trabajo en paralelo. Entender los patrones de diseño y utilizar eficientemente el entorno de GM utilizado según sus beneficios. Crear proyectos de fácil mantenimiento y escalables en el tiempo y en funcionalidad. Orientar la construcción de aplicaciones, a la disposición y publicación de servicios empresariales. DESARROLLO DEL CURSO. El curso tendrá un enfoque práctico, apoyado por la teoría y la investigación para la resolución de los distintos problemas planteados. Las horas presenciales se desarrollarán a lo largo del módulo (con duración de 16 semanas), quedando abierta la posibilidad si el profesor lo decide para dedicar tiempo adicional para prestar orientar y asistir a los estudiante de manera virtual ya sea mediante correo electrónico o red social. CRONOGRAMA CONTENIDOS CONCEPTUALES MÓDULO SEMANA ACTIVIDADES 1 Introducción a los videojuegos Rol jugador y desarrolador III Aspectos positivos y negativos, beneficios e inconvenientes de los videojuegos Diferencias entre 2D y 3D Clasificación y modos Singleplayer y multiplayer Impacto emocional en el jugador Historia de los Videojuegos (Space invaders, Pong, Pac-Man, Donkey, Tetris) 2 Equipo de trabajo y distribución de tareas Planificación de guiones Reglas Introduccion al entorno de desarrollo Game Maker página 6 de 12
MÓDULO SEMANA Game Maker version 8.1 ACTIVIDADES Descarga, Instalación y configuración Reconocimieno de la Interfaz de usuario Sus caracteristica y funciones Rooms (niveles y pantallas) Coordenadas x e y FPS (Frames Per Second, Cuadros Por Segundo) Backgrounds (Fondos) Superposición de multiples fondos, paralaje Tiles mapping (mosaicos) 3 Prefijos para nombre de los elementos, spr, obj, rm, bg, snd Creación y uso de sprites El editor de sprites Transformaciones y efectos Uso de StripImages para generar animaciones Objetos e instancias Propiedades Eventos y acciones (uso de Teclado, Ratón y Joystick) El evento Step Giros, desplazamientos, colisiones, aceleración, gravedad Opciones avanzadas: profundidad, persistencia entre rooms y herencia (parent) Aplicacion del videojuego similar al Pac-Man 4 Tecnicas para girar un objeto-sprite Uso de multiples Rooms Transiciones y pasaje de los objetos Variables del sistema y personalizadas Funciones del sistema Inserción de textos (funciones) 5 Respuesta de los objetos a la gravedad Uso de la función Enmascarar (Mask) 6 Incorporación y manejo de efectos de sonidos y música 7 Uso de scripts (GML) Variables y constantes (personalizadas, y de sistema) página 7 de 12
MÓDULO SEMANA Operadores Asignación (=) Comparación (<, >, ==, >=, <=) Aritméticos (+, -, *, /) Lógicos (Or, Y, Not) 8 Estructuras de control Funciones Secuenciales Selectivas (if, if... else, switch) Iterativas (while, for) Personalizadas Nativas, del sistema ACTIVIDADES 9 Menús y sub-menús (onmouseover) interactivos con diálogos de confirmación Vidas (lives), salud o energía (health) y puntaje (score) de los personajes Implementación multiplayer Simulando un sistemas de partículas Temporizadores ( Alarms[] ) 10 Uso de Paths (trayectorias) Dibujar formas (Draw) 11 Persecuciones, saltos, caídas, respuesta a gravedad 12 Plataformas móviles, cuentas regresivas Aplicaciones sobre eventos del mouse (drag and drop) Pausas con generación de avisos en pantalla Estudio y uso de la línea de tiempo (Timeline) 13 Estudio y uso de vistas (Views) Perspectiva isométrica SSR (Scale, Shear, Rotate) 14 Uso de controles (configuración) Buttons Sliders Toggle switch : radiobuttons y checkbox Lists Input text Apertura, lectura y escritura de archivos INI Información del juego (F1) página 8 de 12
MÓDULO SEMANA ACTIVIDADES Tutorial y documentación Compilación y distribución de la aplicación 15 Desarrollo de trivia con audio y de conocimiento general 16 Evaluación de fin de módulo Propuesta de desarrollo práctico de un videojuego completo CONTENIDOS PROCEDIMENTALES Activación de conocimientos previos. Instalación y configuración del entorno de desarrollo GameMaker. Adopción de técnicas y herramientas ( IDEs) de codificación adecuadas al lenguaje de programación usado. Comprensión de la lógica existente en GameMaker. Reconocimiento e identificación de aspectos sintácticos del lenguaje GameMaker. Utilización adecuada de variables, operadores, estructuras de control, arreglos. Comprender la conveniencia de la modularización y el uso de funciones. Integración de formularios al espacio de trabajo. Aplicación del paradigma de Programación Orientada a Objetos en diversas situaciones. Identificación de funciones nativas para entender las personalizadas. Adquisición del uso correcto de las expresiones lógicas. Deducción y construcción de un algoritmo a partir de problemas puntuales. Producción de aplicaciones integradas a base de datos Integración de técnicas para el control de errores y de seguridad. Aplicación de las técnicas y recursos aprendidos en el proyecto CONTENIDOS ACTITUDINALES Valoración e interés por descubrir nuevas técnicas de programar. Desarrollo de una actitud de confianza positiva ante la propia capacidad para aprender a comunicarse con sus pares. Ser creativo en la inducción y deducción de reglas de la programación. Esforzarse por trabajar en orden, colaborando así con el docente y sus pares. Considerar el respeto por el docente y los pares como uno de los pilares página 9 de 12
fundamentales para lograr la armonía en el aula. Desarrollar una actitud de tolerancia y colaboración ante los errores y dificultades de los otros. Manifestar un comportamiento de dedicación y compromiso en la entrega de tareas. Reconocer el valor del trabajo y la solidaridad en un grupo. Respetar los hábitos individuales, tiempos y las habilidades distintas. Demostrar una actitud crítica frente a la información que recibe. METODOLOGÍA El curso se realiza en modalidad presencial, aunque se prevee combinarlo de acuerdo a la disponibilidad del instructor una tutoría online para asistir y orientar al estudiante fuera de horarios de clase, se desarrollará desde un punto de vista práctico, haciendo especial hincapié en los elementos más novedosos de esta aplicación. Incluyendo: el diseño de interfaz de usuario, etc. La incorporación del uso de las redes sociales como Schology permiten el e-learning el que se destacan por ofrecer una enseñanza centrada en el estudiante y flexible en horarios de estudios, además de hacer posible el acceso a ellos en cualquier momento desde el lugar en el que se encuentre. De este modo no sólo se ahorra tiempo de transporte y logística sino que se potencia la capacidad de autoaprendizaje. El curso incluye un taller que implica la aplicación de los conceptos del curso a través de casos concretos. Clases magistrales con la PC, el cañón y el pizarrón. Trabajos prácticos para resolver domiciliarios y en clase. Propuestas teóricas para potenciar el dominio de conceptos propios en programación. RECURSOS MATERIALES Sala equipada con una computadora con acceso a internet. Proyector multimedia. Pizarrón. página 10 de 12
EVALUACIÓN La evaluación informal se realizará a través de la observación continua y diaria, corrección y control del alumno y se tendrá en cuenta: interpretación y ejecución de consignas, desempeño oral y escrito en clase, participación en clase, producciones individuales y grupales, tareas para la casa, responsabilidad, esfuerzo, interés por la materia, hábitos de orden e integración, cumplimiento de pautas y normas vigentes en la comunidad educativa, respeto a la institución, al docente y a sus pares. La evaluación formal se realizará a través de evaluación escrita, trabajos prácticos orales y escritos, individuales y grupales y proyectos. La evaluación será permanente, de forma escrita y de forma digital, evaluándose de tanto contenidos teóricos como prácticos. Se evaluará de forma individual, como grupal; atendiendo a la metodología de proyectos. Se exigirá 80% de asistencia. Se realizara una propuesta de evaluación de proceso y en la etapa final del modulo. PROFESOR / INSTRUCTOR: La totalidad del curso estará a cargo del profesor Walter Nores DURACIÓN DEL CURSO Trimestre Módulo/ Asignatura Hs/Sem Hs Totales 1 Taller de Videojuegos 20 320 2 Taller de Videojuegos 20 320 LUGAR A DESARROLLARSE: Escuela Técnica Washington Lockhart - Mercedes Soriano. página 11 de 12
BIBLIOGRAFÍA PARA EL ESTUDIANTE. Recursos para programar Videojuegos. Blog del profesor Walter Nores. (s.f.). Recuperado el 13 de febrero de 2014, de http://www.walternores.com/?cat=40 Sitio oficial de GameMaker. Documentación y descarga de GameMaker. (s.f.). Recuperado el 13 de febrero de 2014, de https://www.yoyogames.com Schoology, espacio virtual interactivo https://www.schoology.com/course/110360811 página 12 de 12