PDF de programación - YAOMEV: Plataforma de Generación de Videojuegos Educativos Multidispositivo

Imágen de pdf YAOMEV: Plataforma de Generación de Videojuegos Educativos Multidispositivo

YAOMEV: Plataforma de Generación de Videojuegos Educativos Multidispositivográfica de visualizaciones

Actualizado el 2 de Marzo del 2020 (Publicado el 1 de Marzo del 2017)
1.084 visualizaciones desde el 1 de Marzo del 2017
14,8 MB
174 paginas
Creado hace 12a (02/09/2011)
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA

Departamento de Informática

PROYECTO FIN DE CARRERA

"YAOMEV: Plataforma de Generación de Videojuegos

Educativos Multidispositivo"

Autor:
Director: Carlos González Morcillo

Jorge López González

Septiembre, 2011.

palabra

TRIBUNAL:

Presidente:

Vocal 1:

Vocal 2:

Secretario:

FECHA DE DEFENSA:

CALIFICACIÓN:

PRESIDENTE

VOCAL 1

VOCAL 2

SECRETARIO

Fdo.:

Fdo.:

Fdo.:

Fdo.:

palabra

c Jorge López González. Se permite la copia, distribución y/o modificación de este documento
bajo los términos de la licencia de documentación libre GNU, versión 1.1 o cualquier versión posterior
publicada por la Free Software Foundation, sin secciones invariantes. Puede consultar esta licencia en
http://www.gnu.org.
Este documento fue compuesto con LATEX. Imágenes generadas con Google Docs y BOUML.

palabra

A todos los gigantes,
porque sin su base
no lo habría conseguido.

palabra

Resumen

El desarrollo de videojuegos es el proceso mediante el cual se diseña e implementan los
elementos que son necesarios en un videojuego. La creación de videojuegos se realiza en un
ámbito multidisciplinar que involucra habitualmente a profesionales de la informática, del
diseño, grafistas, músicos y especialistas en diversos aspectos de la ingeniería (inteligencia
artificial, simulación física y un largo etcétera).

Existe hoy en día una amplia gama de dispositivos (móviles, tablets, etc...) que han po-
pularizado enórmemente el desarrollo de videojuegos y ha permitido el nacimiento de una
enorme comunidad de desarrolladores "indies" ajenos a la industria tradicional. Al hilo de este
fenómeno, han surgido en España numerosos cursos, másters e incluso carreras que pretenden
formar nuevos profesionales especializados en la creación de videojuegos.

El presente proyecto fin de carrera surge del deseo de proporcionar una herramienta de
aprendizaje e introducción para programadores nóveles en este ámbito. YAOMEV está basado
en herramientas y estándares libres con el fin de facilitar su uso por parte de todo aquel que
desee dar sus primeros pasos en este apasionante mundo.

YAOMEV ofrece herramientas que facilitan la importación de gráficos y animaciones
creadas en la principal suite de gráficos 3D libre (Blender), la reproducción de vídeo y audio,
la interacción del jugador con el juego, el uso de estructuras que permiten el uso de árboles
de comportamiento para definir la inteligencia artificial de los personajes y una completa
biblioteca matemática que completan la ayuda ofrecida al desarrollador.

Gracias a la construcción de YAOMEV siguiendo las guías del patrón de arquitectura del
software Modelo-Vista-Controlador, se introduce al desarrollador en conceptos avanzados de
ingeniería del software y se posibilita que éste pueda ocuparse sólamente del aspecto que
realmente le interese. De este modo, si el desarrollo requiere un esfuerzo adicional en la
representación, se puede mejorar la capa de vista sin perjudicar el resto del entorno, si lo que
necesita es enfocarse en la entrada y procesamiento de la interacción del usuario, se puede
concentrar el esfuerzo en la capa de controladores y, si el principal objetivo es la creación de
un juego, se pueden obviar las capas anteriores y dedicar toda la atención a la construcción
del modelo interno del mismo (sus reglas) mediante el uso de árboles de comportamiento.

Por último, se ha desarrollado un juego demostrador llamado Bit Them All!!!, un video-
juego educativo, fácilmente expandible, que pretende ser un ejemplo de lo que se puede lograr
mediante el uso de la plataforma YAOMEV.

palabra

palabra

Abstract

The development of video games is the process whereby the necessary elements of a video
game are designed and implemented. Video game creation is carried out in a multidisciplinary
field, which usually involves computer science professionals, designers, graphic artists, musi-
cians and specialists in various aspects of computer engineering (artificial intelligence, physic
simulation, etc.).

Nowadays, there is a wide range of devices (mobile phones, tablets, etc.) that have be-
come video game development really popular and, due to this fact, has allowed the birth of
a huge community of "indie" developers outside the traditional industry. As a consecuence
of this phenomena, a considerable amount of courses, masters, and even degrees, have arisen
expecting to train new specialists in videogame creation.

The current project comes up with the hope of providing a learning and introductory tool
for novice programmers in this field. YAOMEV is based on free standards and tools in order
to ease its use and help everyone who is interested in being initiated in this fascinating world.
YAOMEV offers tools to ease the importation of graphics and animations created in the
main free software 3D graphics suite (Blender), video and audio reproduction, the player-
videogame interaction, the use of structures that allow the use of behavior trees to define the
artificial intelligence of the characters, and a complete mathematic library that round up the
help offered to the developer.

By building YAOMEV following the guidelines of the Model-View-Controller software
architecture pattern, it introduces the developer into software engineering advanced concepts,
allowing him to takes care just of the aspects he is really interested in. This way, if the devel-
opment requires an additional effort in the representation part, the view layer can be improved
without harming the rest of the environment, if the need is focused on the input and the pro-
cessing of the user interaction, the efforts can be concentrated onto the controllers layer, and
if the primary aim is the creation of a game, it is possible to skip the previous layers and pay
all the attention to the construction of the video game intern model (its rules) by the use of
behavior trees.

Finally, a game demo called Bit Them All!!! has ben developed, an educational video
game, easily expandable that pretends to be an example of what can be achieved by the use
of YAOMEV.

palabra

palabra

Índice general

Índice de figuras

1. Introducción

1.1. El Mercado del Videojuego . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Aprendizaje mediante Videojuegos . . . . . . . . . . . . . . . . . . . . . . .
1.3. Motivación y Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Estructura del Documento . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Objetivos

2.1. Objetivos principales .
2.2. Objetivos específicos .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Construcción de plataforma genérica de creación de videojuegos mul-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .

2.2.2. Creación de videojuego educativo propio.

tidispositivo .

3. Estado del arte

3.2.

3.1. Bibliotecas gráficas .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. .
3.1.1. OpenGL .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2. DirectX .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
Informática gráfica .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Metaformatos para modelos 3D . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1. Ogre .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2. CrystalSpace .
Inteligencia Artificial
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
3.4.1. Máquinas de estados . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2. Árboles de comportamiento . . . . . . . . . . . . . . . . . . . . . .

3.3. Motores Gráficos .
.

3.4.

.
.

.

.

4. Método de trabajo

4.1. Metodología de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Herramientas

.

.

.

.

.

5. Arquitectura

5.1. Arquitectura Modelo Vista Controlador en YAOMEV . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Módulo de aplicación .

.

I

IV

1
1
2
3
4

6
6
7

7
8

10
10
11
11
12
12
13
13
14
14
14
15

16
16
18

22
26
30

ÍNDICE GENERAL

II

.

.
.
. .

.
.
. .

5.2.1. Gestión del tiempo en el bucle principal . . . . . . . . . . . . . . . .
37
5.2.2. Log .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.2.3. Timers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.2.4. Generador de números aleatorios . . . . . . . . . . . . . . . . . . . .
41
5.3. Módulo de controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.3.1. Controlador genérico CYaoController . . . . . . . . . . . . . . . . .
47
5.3.2. Controlador específico CLoadState
. . . . . . . . . . . . . . . . . .
48
5.3.3. Controlador específico CMenuState . . . . . . . . . . . . . . . . . .
49
5.3.4. Controlador específico CGameState . . . . . . . . . . . . . . . . . .
50
5.4. Subsistema de carga y gestión de recursos . . . . . . . . . . . . . . . . . . .
51
5.5. Sistema de representación . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.5.1. Subsistema de gestión de recursos . . . . . . . . . . . . . . . . . . .
57
5.5.2. Gestor de escena . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
5.5.3. Grafo de escena .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.5.4. Nodos de escena . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5.5.5. Modelos 3D .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
5.5.6. Representación de texto . . . . . . . . . . . . . . . . . . . . . . . .
76
5.5.7. Sistema de renderizado . . . . . . . . . . . . . . . . . . . . . . . . .
77
5.5.8. Sistema de vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
5.5.9. Sistema de audio . . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf2506

Comentarios de: YAOMEV: Plataforma de Generación de Videojuegos Educativos Multidispositivo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad