Saltar al contenido
Logotipo de Trainontech Trainontech

Lenguajes y Fundamentos de Programación · LNG-260

Lua para scripting y videojuegos

El lenguaje incrustado en motores de juego, routers y sistemas embebidos, usado a fondo.

Próximamente Intermedio 7 módulos · 34 clases

Formato asíncrono Desarrollo, Alumnado Lua

Lo que aprenderás

  • Manejar tablas como única estructura de datos: arrays, diccionarios y objetos
  • Escribir funciones con retornos múltiples, argumentos variables y clausuras que capturan su entorno
  • Implementar orientación a objetos con metatablas, el metamétodo __index y cadenas de herencia
  • Organizar código en módulos con require y controlar el espacio global
  • Usar corrutinas para máquinas de estados y comportamientos por turnos
  • Controlar el recolector de basura y medir el consumo de memoria de un script
  • Incrustar Lua en una aplicación anfitriona y exponerle funciones desde C

Contenido del curso

7 módulos · 34 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y entorno 4 clases
  • Dónde se usa Lua y por qué se incrusta
  • Instalar Lua 5.4 y el intérprete interactivo
  • Ejecutar scripts y leer los mensajes de error
  • Editor y depuración básica
Módulo 2 · Fundamentos del lenguaje 5 clases
  • Tipos, variables y ámbito local frente a global
  • Cadenas, patrones de Lua y formato
  • Condicionales y bucles numéricos y genéricos
  • Funciones, retornos múltiples y argumentos variables
  • Ejercicio: utilidades de cadena y de tabla
Módulo 3 · Tablas a fondo 5 clases
  • Tablas como array y como diccionario
  • Recorridos con ipairs y pairs y sus diferencias
  • Tablas anidadas y estructuras de datos habituales
  • Copias superficiales y profundas
  • Ejercicio: inventario de un personaje
Módulo 4 · Metatablas y objetos 5 clases
  • Metatablas y metamétodos disponibles
  • __index e __newindex para delegación
  • Sobrecarga de operadores con __add y __tostring
  • Clases y herencia sobre metatablas
  • Ejercicio: jerarquía de entidades de juego
Módulo 5 · Módulos, errores y corrutinas 5 clases
  • Escribir un módulo y usar require
  • Rutas de búsqueda y gestión del entorno global
  • pcall, xpcall y errores con contexto
  • Corrutinas: crear, reanudar y ceder el control
  • Máquina de estados de un enemigo con corrutinas
Módulo 6 · Rendimiento e incrustación 5 clases
  • Recolector de basura y ajuste de sus parámetros
  • Medir tiempo y memoria de un script
  • La API de C: pila, valores y llamadas
  • Exponer funciones de C a Lua y al revés
  • Panorama de LuaJIT y sus compromisos
Módulo 7 · Proyecto de cierre 5 clases
  • Estructura de un juego con LÖVE
  • Separar lógica, entrada y dibujo en módulos
  • Estados del juego con corrutinas y tablas
  • Pruebas de la lógica sin abrir la ventana
  • Empaquetado y distribución del resultado

Requisitos

  • Experiencia previa programando en cualquier lenguaje
  • Manejo de la línea de órdenes para ejecutar intérpretes y gestionar ficheros
  • Intérprete de Lua 5.4 instalado en local; el módulo de incrustación requiere un compilador de C

Descripción

Lua aparece donde menos se espera: en la lógica de un videojuego con LÖVE o Roblox, en la configuración de un router, en scripts de Nginx o en la automatización de un dispositivo embebido. En todos esos sitios el lenguaje no es el protagonista sino el intérprete que la aplicación anfitriona expone, y entenderlo bien decide si un mod o una extensión funciona o se atasca.

El curso trabaja el lenguaje completo con ejemplos de esos contextos: tablas y metatablas hasta el detalle, corrutinas aplicadas a una máquina de estados de un personaje, módulos para separar la lógica de un juego y medición de memoria en un dispositivo con recursos limitados. El proyecto final es un pequeño juego en LÖVE con su lógica separada en módulos comprobables.

Con esta base se escriben mods y extensiones para motores que incrustan Lua, se personaliza software de red que lo usa como capa de configuración y se afronta la integración de un intérprete en una aplicación propia en C. También prepara para el salto a LuaJIT cuando el rendimiento manda.

¿Para quién es este curso?

  • Desarrolladores que escriben mods o extensiones para motores de juego que incrustan Lua
  • Alumnado de ciclos de desarrollo interesado en videojuegos que busca un lenguaje pequeño y completo
  • Perfiles que configuran software de red o dispositivos embebidos donde Lua es la capa de scripting
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
LNG-260
Nivel
Intermedio
Público
Desarrollo, Alumnado
Entorno
Lua

Este curso incluye

  • 34 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

PY-104Lenguajes y Fundamentos de Programación

Ficheros, excepciones y módulos

Lectura y escritura robusta, gestión de errores e importaciones para código que otros mantendrán.

Python

Intermedio 32 clases