Download Oscar Sanjuán Martínez

Document related concepts
no text concepts found
Transcript
Introducción al Diseño y Programación
de Video Juegos
Profesor:
Oscar Sanjuán Martínez
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
1
Historia de los videojuegos
 Inicios
 8 bits
 16 bits
 32 bits
 Generación actual
 “Next-gen”
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –2–
En cifras…
 1985:
 2-6 personas
 4-12 meses de desarrollo
 Presupuesto: 20-80 miles de Euros
 (cuando lo había, que no era siempre)
 Mercado total: 200m €
 2005:




40-120 personas
18-36 meses de desarrollo
5-20 millones de Euros
Mercado total: 30 bn €
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –3–
En cifras…
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –4–
¿Qué son los videojuegos?
 Definiciones clásicas de videojuego
 “Una serie de decisiones interesantes”
Sid Meier
 “Identificar, aprender y dominar patrones”
Raph Koster
 “Una actividad divertida, y una excusa para repetirla una y otra
vez”
Anónimo
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –5–
¿Qué son los videojuegos?
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –6–
Estructura de un equipo








Dirección
Programación
Gráficos
Diseño
Producción
Sonido
Testing y QA
Marketing
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –7–
Programación
 Escriben el software que implementa la funcionalidad pedida por
diseño, la tecnología necesaria para mostrar los contenidos, y las
herramientas para construirlos
 Lógica de juego
 Sistema
 Tecnología
 Herramientas
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –8–
Herramientas de Programación
 Desarrollo:
 Compiladores: MSVC, Intel, gcc, Codewarrior...
 Depuradores y analizadores run-time: MSVC, Boundschecker, Purify...
 Profilers: VTune, profilers hardware
 Kits de desarrollo para consola
 Control de código (formalmente: gestión de configuración)
 Visual SourceSafe, Perforce, CVS, BitKeeper...
 SDKs y librerías externas
 DirectX, OpenGL, MaxSDK...
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –9–
Gráficos
 Construyen los elementos visuales, escenarios y
personajes
 Diseño artístico
 Modelado y texturado
 Animación
 Maquetación y diseño 2D
 Render y FMV
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –10–
Herramientas Gráficas
 Photoshop para imágenes y texturas
 3DS Max, Lightwave, Maya o SoftImage para modelado y animación
3D
 Sin olvidarnos de plug-ins: telas, fluidos, render cartoon, etc.
 Adobe Premiere y Discreet Combustion para secuenciado y
compresión de video
 Herramientas internas para exportación, visores, creación de
secuencias cinemáticas, editores de mapas
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –11–
El proceso de desarrollo
 Desarrollo (a)típico de un videojuego
 Concepto: la idea fundamental “en 25 palabras”
 Pre-producción: desarrollar la base e implicaciones de esa idea
 Producción: construir la funcionalidad y contenidos
 QA y cierre: asegurar la estabilidad y solidez del juego
 Post-release: parches, expansiones, explotación
Concepto
Concept
o
Pre-producción
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Producción
QA
Postrelease
Página –12–
Herramientas: Game Maker
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
13
Objetivos
 Conocer la estructura y características básicas de
GAMEMAKER
 Probar varios ejemplos
 Desarrollar al menos un juego completo
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –14–
¿Porqué desarrollar un videojuego?
 El desarrollo de un videojuego incorpora elementos muy
variados pertenecientes a diferentes campos de la
informática.
 El mercado del software de entretenimiento es pujante y
creciente.
 Interesa a los alumnos (Ejemplo ADOO UPSAM).
 ES DIVERTIDO!!!!
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –15–
¿Porqué usar Game Maker?
 La mayoría de los videojuegos profesionales son escritos
en C/C++, C# o incluso ensamblador.
 Los proyectos de desarrollo comerciales implican
muchisimo tiempo, personas y esfuerzos.
 Game Maker simplifica todo eso.
 (Ejemplo D&D  JAVA 2D 4 alumnos, 4 meses de clase)
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –16–
¿Qué es un videojuego?
 “Un software en el cual uno o más jugadores toman
decisiones mediante el control de objetos y recursos en
busca de conseguir un objetivo.”
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –17–
¿Qué tipo de videojuegos podemos crear?
 El Game Maker permite la creación de videojuegos sencillos
de cualquier género.
 Permite la creación incluso de videojuegos 3D y multiusuario.
 Aunque su objetivo es sobre todo didáctico, nos ayudará a
aprender a desarrollar videojuegos.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –18–
Modelo de programación: POO.
 Programación Orientada a Objetos. OOP.POO.
 Existen algunos matices con respecto a la POO tradicional.
 OBJETO: todo aquello sobre lo que es posible
desencadenar una acción.
 Ej: en un matamarcianos, serán objetos tanto la nave,
como los marcianitos o incluso las balas.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –19–
EVENTOS
 “algo que sucede sobre el objeto o provocado por el”
 Un evento es por ejemplo cuando un usuario presiona un
tecla para disparar.
 Hay que diferenciar claramente los eventos de las
acciones.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –20–
PROPIEDADES
 Diferentes características que tiene un objeto.
 Nombre
 Color
 Ancho
 Largo
 Etc…
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –21–
Caso de estudio: el Tetris
 Fondo
 Objetos ¿Qué elementos intervienen?
 Eventos ¿Cuándo pasan las cosas?
 Acciones
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –22–
Ejercicio
 Realizar un análisis en función de:
 Objetos
 Eventos
 Acciones
 Propiedades
 PACMAN
 FIFA
 UN JUEGO A SU ELECCIÓN
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –23–
ELEMENTOS DE UN JUEGO
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
24
DESCRIPCIÓN
 Un juego contendrá:
 Objetos
 Sprites
 Sonidos
 Fondos
 Niveles
 Acciones
 Eventos
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –25–
Sprites
 Los sprites son la representación gráfica de los objetos en
pantalla y puede ser estática o animada.
 Un sprite puede representar uno o muchos objetos.
 Todas las galletas e incluso los fantasmas
son el mismo sprite.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –26–
Formatos
 Los sprites pueden ser creados utilizando cualquier
programa o editor gráfico, los formatos más habituales
incluyen:
 BMP
 GIF
 ICO
 JPG
 PCX
 TIF
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –27–
Objetos
 Elemento capaces de captar y generar eventos.
 Pueden ser visibles o no.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –28–
Fondos
 Las imágenes que están detrás de todo, pueden ser
estáticas o dinámicas o incluso tener efectos de scrooll.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –29–
Sonidos
 Los sonidos son una parte fundamental de la historia, la
ambientación e incluso de la jugabilidad y el ritmo.
 Los sonidos pueden ser incorporados en diferentes
formatos, los más habituales son:
 WAV (digital)
 MP3 (digital)
 MIDI (sintético)
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –30–
Niveles
 “ROOMS”
 Son las estructuras donde se desarrolla el juego, un juego
puede tener muchos niveles cada uno con su propio
fondo, objetos, características, reglas y lógica.
 Algunos juegos pueden tener un solo nivel como por
ejemplo el tetris
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –31–
Ejercicio
 Esquematizar un juego de tipo arcade (acción) inventado
por ti, indicando donde transcurre la acción, cómo se
juega y cual es el objetivo.
 Una vez hecha la descripción, indicar cual es el fondo y
los objetos que intervienen en cada nivel.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –32–
Ejemplo
 Vamos a usar como ejemplo una versión del conocido
juego breakout en la que el jugador tiene que destruir una
pared de ladrillos haciendo rebotar una pelota contra
ellos.
 La pelota rebota en todas partes de la pantalla excepto en
los ladrillos a los cuales rompe y la parte de debajo de la
pantalla donde desaparece la pelota y el usuario pierde
vida.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –33–
Ejemplo II
 El jugador controla un plataforma que se mueve
horizontalmente en la parte baja de la pantalla con el
objetivo de impedir que se caiga la pelota y romper el
mayor número de ladrillos posibles.
 Al destruir ladrillos el jugador va ganando puntos y
cuando destruye todos los ladrillos se cambia de pantalla.
 El fondo es una imagen fija.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –34–
Ejemplo III
 Una vez descrito el juego debemos definir los eventos:
 OBJETO LADRILLO:
 Evento “tecla cursor izquierda”  mover base izquierda.
 Evento “tecla cursos derecha”  mover base derecha.
 OBJETO BOLA:
 Evento “chocar contra ladrillo” 
• Destruir ladrillo.
• Sumar puntos de acuerdo al color y al nivel.
• Suena una explosión.
 Chocar “contra las base o contra las paredes” 
• Rebotar.
• Suena el rebote.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –35–
Ejemplo IV
 Evento “salir por la parte inferior de la pantalla” 
• Quitar una vida al jugador.
• Comenzar de nuevo.
• Tocar sonido “perder”.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –36–
El Entorno de desarrollo de Game
Maker
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
37
Método de estudio
 Explicación
 Ejemplo
 Practica
5 + 1 + 1
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –38–
INTERFAZ DE GAME MAKER
MENU DE OPCIONES
ICONOS
AREA DE TRABAJO
EXPLORADOR DE RECURSOS
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –39–
El menú de opciones
 Tiene las opciones típicas de cualquier otro programa
windows y algunas cosas específicas como el añadir un
sprite, un objeto o un sonido
 El menú de opciones tiene dos formas de funcionamiento:
 Sencillo
 Avanzado
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –40–
El menú file
 El formato de los archivos del Game Maker es .gmd.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –41–
Íconos de acceso rápido
 Nuevo
 Abrir
 Grabar
 Ejecutar
 Agregar sprite
 Agregar sonido
 Agregar fondo
 Agregar objeto
 Agregar nivel
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –42–
El explorador de recursos
 Contiene los elementos del juego:
 Fondos
 Niveles
 Sprites
 Objetos
 Etc…
 Para añadir un recurso es suficiente hacer click con el
botón derecho sobre el tipo de recurso que se desea
agragar.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –43–
Modificar un recurso
 Todos los recursos funcionan igual independientemente
de su tipo.
 Si se presiona con el botón derecho sobre el nombre del
recurso aparecerán sus propiedades
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –44–
Eliminación de recursos
 Durante el proceso de creación de videojuegos que
muchas veces es iterativo, suele ser habitual el añadir
recursos que terminan no siendo necesarios.
 Es mejor eliminar estos elementos para que no consuman
recursos de la máquina.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –45–
Ejercicio
 Crear un juego con un fondo llamado.piso., cuya imagen deberá ser
back2.GIF. Agregar dos sprites con las imágenes ball1 y diamant y
llamarlos pelota y premio respectivamente.
 Agregar dos sonidos: applause y zap y llamarlos final y disparo.
 Definir tres objetos llamados pelota1, pelota2 y premio usando como
sprites pelota (para los dos primeros objetos) y premio
respectivamente.
 Agrego un room (nivel) sin cambiarle el nombre, luego lo edito (hago
doble click sobre él) y le cambio el nombre a primer nivel.
 Elimino el objeto pelota2 y el sonido disparo.
 Grabo el ejercicio en mi carpeta de trabajo
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –46–
Pasos para crear un juego
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
47
Introducción
 Para que toda construcción llegue a
buen puerto, es necesario seguir una
serie de pasos…
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –48–
El orden de creación
 Los Fondos
 Los Sonidos
 Los Sprites
 Los Objetos
 Los Eventos de cada Objeto
 Las Acciones de evento
 Los niveles
 Para poder seguir estos pasos es necesario tener un
análisis detallado del juego.
 A continuación vamos a hacer una pequeña prueba.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –49–
El fondo
 Para agregar un fondo seguimos los pasos descritos con
anterioridad.
 Añadamos un fondo llamado Pista y asociado al fichero
back2.
 Es importante fijarse en los detalles que se pueden
consultar sobre las imágenes al seleccionarlas.
 Existe la posibilidad de editar la imagen al añadirla.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –50–
Los sonidos
 Podemos seleccionar un sonido de manera muy
parecida a como lo hemos hecho con el fondo.
 Hay que tener especial cuidado con el uso de
sonidos demasiado grandes o largos.
 Es posible añadirle efectos al sonido o incluso
editarlo.
 Añade un sonido de explosión.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –51–
Los sprites
 Aunque son similares a los fondos, ya que son imágenes,
su diferencia radica en que un sprite dinámico está
formado por más de una imagen.
 Añadimos un sprite
llamado explosión
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –52–
Los objetos
 Nombre
 Lista de Sprites
 Lista de Eventos
definidos
 Lista de acciones
definidas/evento
 Acciones
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –53–
Los objetos II
 En la ventana de propiedades hago lo siguiente:
1 Le doy un nombre al objeto
2 Asignarle un sprite (que obviamente ya tiene que estar
definido)
3 Agregar un evento
4 Elegir todas las acciones que tengo previstas para ese evento
5 Repito los dos pasos anteriores tantas veces como eventos
vaya a tener el objeto
 Para agregar un evento hago click en el botón Add Event; se abre una
nueva ventana con los diferentes eventos disponibles.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –54–
Los objetos III
 Existen diferentes tipos de eventos predefinidos.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –55–
Niveles
 Los niveles o ROOMS son los lugares en donde se
desarrolla el juego.
 Todo juego necesita al menos un nivel.
 En los niveles colocaremos las diferentes instancias de los
objetos.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –56–
Niveles II
 Existen pestañas referentes a la definición del nivel en
cuanto a:
 Objetos
 Fondos
 Configuración
 Etc…
 Una vez hecho esto, estamos
listos para empezar!!!!
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –57–
Primer ejercicio
Vamos a crear un primer juego que no tendrá gran interacción con el usuario,
sino que será más bien como un simulador del movimiento de partículas.
1.Fondo: uno solo, a partir de la imagen back7 que está en la carpeta
backgrounds; le llamamos piso.
2.Sonidos: uno sólo, para cuando hay un choque; elegimos beep1 de la carpeta
sounds y le llamamos rebote
Nuestro juego tendrá dos sprites uno para la pared que rodea a todo el nivel y
otro para las partículas. Elegimos para el primero la imagen square y para el
segundo ball2, ambas de la carpeta Sprites\Various. Les llamamos spPared y
spParticula respectivamente. Los objetos también serán dos: pared, a partir del
sprite spPared y Particula, a partir del sprite spPartícula.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –58–
Primer ejercicio II
En ambos marcamos la propiedad Solid para que el GM pueda detectar el choque. En el
objeto pared no definimos ningún tipo de evento ni, por lo tanto, ninguna acción. En
el objeto Partícula tendremos que definir tres eventos:
1.
2.
3.
Creación: en el tenemos que indicar que hace la partícula cuando es creada (va a
moverse en cualquier dirección con velocidad 5)
Colisión con la pared: va a rebotar contra un objeto sólido (bounce against solid
objetcs) y va a tocar el sonido rebote (play sound)
Colisión con otra partícula: efectúa exactamente las mismas acciones que en el evento
anterior.
Habrá un sólo nivel, que tendrá como fondo al piso definido en primer lugar y como borde
al objeto pared. Le agrego tantas instancias de partículas como quiera (no poner
muchas al principio).
1. Variación1: hacer que el jugador pueda hacer click sobre las partículas y esto cambie
su dirección y/o su velocidad
2. Variación 2: hacer que cuando dos partículas choquen se desintegren y aparezca otra
diferente (muy difícil)
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –59–
Nuestro primer juego completo
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
60
Descripción
 Se trata del desarrollo de un sencillo juego, para mayor
comodidad, el enunciado se encuentra en un fichero PDF
llamado práctica1_GM.pdf
 AVION MATA GLOBOS
 NOTA: los ficheros necesarios se encuentran en el mismo
directorio que el enunciado de la práctica
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –61–
La gestión del tiempo y control
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
62
¿Porqué medir el tiempo?
 Hay muchos eventos que suceden en momentos
concretos y cada cierto tiempo.
 HERRAMIENTA BÁSICA: ALARM
 Las alarmas miden el tiempo en pasos, no en segundos.
Un segundo suele constar de 30 pasos.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –63–
Acciones relacionadas con el tiempo
 ASIGNAR UN VALOR A UNA ALARMA
 ESTABLECER UNA PAUSA
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –64–
Control
 Existen un tipo especial de objetos llamados objetos de
control que no tienen ningún sprite asociado.
 Este tipo de objetos resultan especialmente útiles para
gestionar la operativa del juego, por ejemplo para crear
enemigos, controlas elementos de tiempo, etc.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –65–
Acciones Condicionales
 Permiten tomar distintas decisiones en función de valores
de elementos, por ejemplo:
 En el missile command será necesario comparar el número de
instancias de una ciudad para saber si el juego debe terminar.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –66–
Missile Command
 Hay que defender varias ciudades del ataque de unos misiles que
caen del cielo.
 Si los misiles caen sobre las ciudades, se destruyen.
 Es posible eliminar los misiles y evitar la destrucción de las ciudades
interceptandolos.
 Ver Enunciado Completo práctica 2
 NOTA: los ficheros necesarios se encuentran en el mismo directorio
que el enunciado de la práctica
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –67–
Uso de variables
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
UNIVERSIDAD DE OVIEDO
68
Uso de Variables
 “nombre que hace referencia a un valor”
 GM utiliza muchas variables de forma transparente y
automática, por ejemplo:
 Cantidad de puntos
 Cantidad de vidas
 Cantidad de energia
 A veces esto no es suficiente.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –69–
Características de las variables de GM
 No es necesario declarar las variables.
 Existen dos tipos:
 Numéricas
 Cadenas
 Pueden tener ambito:
 local o
 Global (global.nombre)
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –70–
Operaciones
 Asignar
 Verificar
 Mostrar
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –71–
A practicar: Carreras y Futbol
 Estas prácticas son la 3 y la 4.
 La tres consiste en realizar una carrera de 2 corredores
 La cuatro en tiros de faltas en futbol.
 NOTA: los ficheros necesarios se encuentran en el mismo
directorio que el enunciado de la práctica
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –72–
Sentencias repetitivas
 Al igual que en otros lenguajes de programación, existe la
posibilidad de repetir operaciones
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –73–
Sentencias condicionales
 También es necesario que exista la posibilidad de utilizar
sentencias condicionales.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –74–
Break Out
 Practica 6
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –75–
Para practicar…
 Como proyecto final, vamos a acometer el desarrollo de
un pequeño videojuego utilizando las herramientas
aprendidas.
 Grupos de 2 o 3 como máximo.
 Tema LIBRE.
 NOTA: se debe realizar también un desarrollo del
argumento, historia, planificación, etc.
Oscar Sanjuán Martínez
UNIVERSIDAD DE OVIEDO
Página –76–