Que estás buscando?
Las clases de la asignatura se realizarán principalmente en catalán, aunque la bibliografía, la documentación y los materiales de apoyo estarán mayormente en inglés.
E7. Desarrollar videojuegos en lenguajes interpretados para prototipar la jugabilidad, la experiencia de usuario y el balanceo.
G3. Reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
G5. Desarrollar las habilidades de aprendizaje necesarias para acometer estudios posteriores con un alto grado de autonomía.
T2. Trabajar como miembro de un equipo interdisciplinario ya sea como un miembro más o realizando tareas de dirección con el fin de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos y teniendo en cuenta los recursos disponibles.
Los lenguajes interpretados son ampliamente utilizados como recurso en la programación de aplicaciones y videojuegos, debido a su gran flexibilidad, versatilidad, sencillez y eficiencia. A su vez integrados en aplicaciones compiladas más complejas, proporcionan herramientas de gran valor como el desarrollo, ejecución y depuración interactiva a tiempo real, ahorrando recursos y tiempo de compilación en la aplicación (o motor) principal.
En esta asignatura introduciremos uno de los lenguajes interpretados de más uso actualmente en la industria de los videojuegos: Lua (www.lua.org).
Al tratarse de una asignatura de segundo curso (donde ya se han cursado tres asignaturas previas de programación) se da por hecho que el alumno/a tiene un conocimiento adecuado de los fundamentos de programación, la programación orientada a objetos y la programación aplicada a los videojuegos. En este sentido, cabe destacar que se hará una breve introducción al lenguaje y sus características particulares, para centrarse de forma rápida en las aplicaciones de la programación mediante scripting en entornos de juego. Es muy recomendable que el alumno/a haya alcanzado satisfactoriamente los contenidos de las asignaturas previas de programación, para poder seguir con normalidad la asignatura.
1.- Introducción a los lenguajes interpretados
1.1.- Paradigmas y clasificación de los lenguajes de programación
1.2.- Lenguajes compilados vs lenguajes interpretados
1.3.- Conceptos básicos sobre lenguajes interpretados
2.- Programación con Lua
2.1.- Características básicas
2.2.- Usos habituales
2.3.- Intérprete / IDE
2.4.- Modos de desarrollo
2.5.- Chunks y blogs
2.6.- Reglas gramáticas
2.7.- Reglas no escritas y estilo de programación
2.8.- Variables locales y variables globales
2.9.- Operadores habituales (aritméticos, relacionales y lógicos)
2.10.- Operadores específicos (concatenación y tamaño)
2.11.- Constructores de tablas
2.12.- Retorno múltiple
2.13.- Funciones de orden superior
2.14.- Argumentos variables
2.15.- Metataulas y metamétodos
2.16.- Simulación de la programación orientada a objetos
3.- Programación gráfica con el motor Love2d
3.1.- Eventos
3.2.- Programación gráfica y bucle de juego
3.3.- Máquinas de estado finitas (FSM)
4.- Aplicación del scripting en entornos de juego: Modding
4.1.- Archivos de datos (csv, xml, json).
4.2.- Archivos de configuración de juego.
4.3.- Integración en aplicaciones y motores de juego
4.4.- Análisis estructural de un juego comercial.
4.5.- Uso de Lua y Xml, para la generación de mods.
5.- Aplicación del scripting en entornos de juego: Incrustación de Lua en el motor Unity3d
5.1.- Integración de un intérprete de Lua como siete.
5.2.- Carga en tiempo de ejecución.
5.3.- Interacción con los objetos de Unity3d
La nota de cada alumno se calculará siguiendo los siguientes porcentajes:
A1. Ejercicio en clase: Tablas con Lua un 1.8%
A2. Ejercicio en clase: Barcode Fighters un 1.8%
A3. Ejercicio en clase: Sprites con Lua2 un 1.8%
A4. Ejercicio en clase: Luathon un 2.8%
A5. Ejercicio en casa: Modding con Lua un 1.8%
A6. Práctica de laboratorio: Sesión introductoria con el intérprete de Lua 5%
A7. Práctica de laboratorio: Programación de un juego con Love2d un 12%
A8. Práctica de laboratorio: Programación de un juego estructurado con Love un 12%
A9. Práctica de laboratorio: Integración del scripting en Lua con un juego realizar sobre un engine gráfico un 11%
A10. examen Final un 50%
Nota final = A1 0,018 + A2 0,018 + A3 0,018 + A4 0,028 + A5 0,018 + A7 0,05 + A8 0,12 + A9 0,12 + A10 0,11 + A10 0,5
Consideraciones:
Kasuba Mario. (2015). Lua game development cookbook. Packt Publishing
Lerusalimschy Roberto, De Figueiredo Luis Henrique & Celes Waldemar (2006). Lua 5.1 reference manual. Lua.org
Lerusalimschy Roberto. (2006). Programming in lua. Roberto Ierusalimschy.
Paxton Derek (2016). Mooder's guide to Civilization V. Recuperado de https://forums.civfanatics.com/resources/modders-guide-to-civilization-v.23669/
Young David (2014). Learning game AI programming with Lua. Packt Publishing Ltd.