Beruflich Dokumente
Kultur Dokumente
MANUAL DE CREACIN DE
VIDEOJUEGO CON UNITY 3D
29/08/2012
AGRADECIMIENTOS:
La realizacin de este proyecto representa la ltima etapa en mis estudios de
ingeniera informtica por lo cual quisiera aprovechar la oportunidad que se me brinda
para agradecer todo el apoyo que se me ha dado durante todos estos aos.
En primer lugar agradecer a mis padres Patrick y Aicha toda su paciencia, su
apoyo moral y material y la oportunidad que me han brindado de realizar mis estudios
en el extranjero con todo lo que ello conlleva, una carrera profesional, una nueva cultura
y un nuevo idioma y un largo etc.
A mi novio, Julin por estar a mi lado todos estos aos, por ser mi compaero de
prcticas, aguantarme y apoyarme en los momentos difciles.
A mi tutor Juan Peralta por haberme dado la oportunidad de realizar este
proyecto, por sus consejos y por el tiempo que me ha dedicado.
En general, a todos aquellos profesores y compaeros que de una u otra forma
me han ayudado a lo largo de estos aos, que aunque no les mencione de forma
explcita, no les puedo negar un sincero agradecimiento.
CONTENIDO
1.
INTRODUCCIN: ................................................................................................. 10
1.1. Estructura del documento: ............................................................................... 11
1.2. Motivacin: ...................................................................................................... 12
1.3. Objetivos del proyecto: .................................................................................... 12
2.
Roll-your-own: ......................................................................................... 17
2.3.2.
2.3.3.
Point-and-click ......................................................................................... 18
2.4.2.
2.4.3.
3.
4.
5.
6.
7.
8.
CONCEPTO DE LIGHTMAP:............................................................................... 56
INDICE DE TABLAS:
Tabla 1: Motores open source ........................................................................................ 19
Tabla 2: Motores freeware.............................................................................................. 19
Tabla 3: Motores propietario .......................................................................................... 20
Tabla 4: Fantasmas del pacman ...................................................................................... 27
Tabla 5: Recursos humanos .......................................................................................... 139
Tabla 6: Recursos materiales ........................................................................................ 140
Tabla 7: Costes aadidos .............................................................................................. 142
Tabla 8: Presupuesto total del proyecto........................................................................ 143
Tabla 9: Glosario de trminos ...................................................................................... 151
INDICE DE IMGENES:
Ilustracin 1: Tiger Woods ............................................................................................. 23
Ilustracin 2: Naval War Arctic Circle ........................................................................... 24
Ilustracin 3: Bubble Bang ............................................................................................. 24
Ilustracin 4: Max and the magic marker ....................................................................... 24
Ilustracin 5: Cabals, The card game ............................................................................. 25
Ilustracin 6: Escape Plan............................................................................................... 25
Ilustracin 7: versiones del pacman................................................................................ 26
Ilustracin 8: Tropical paradise demo de unity .............................................................. 28
Ilustracin 9: Interfaz de usuario .................................................................................... 29
Ilustracin 10: Men de la aplicacin............................................................................. 30
Ilustracin 11: Botones de manipulacin ....................................................................... 30
Ilustracin 12: Botones de control .................................................................................. 31
Ilustracin 13: vista de escena ........................................................................................ 31
Ilustracin 14: Men de la vista de escena ..................................................................... 31
Ilustracin 15: Render Mode .......................................................................................... 31
Ilustracin 16: Modos de visualizacin .......................................................................... 32
Ilustracin 17: Vista del juego ........................................................................................ 33
Ilustracin 18: Vista de proyecto. ................................................................................... 33
Ilustracin 19: Men de la vista de proyecto.................................................................. 34
Ilustracin 20: Vista de jerarqua ................................................................................... 34
Ilustracin 21: Vista de inspector ................................................................................... 35
Ilustracin 22: Creacin de un proyecto ......................................................................... 36
Ilustracin 23: Creacin de una escena .......................................................................... 37
Ilustracin 24: Creacin de un GameObject................................................................... 38
Ilustracin 25: GameObject cubo ................................................................................... 39
Ilustracin 26: manipulacin de objetos 1 ...................................................................... 39
Ilustracin 27: Movimiento del objeto 1 ........................................................................ 39
Ilustracin 28: Opcin de rotacin ................................................................................. 40
Ilustracin 29: Rotacin del objeto................................................................................. 40
Ilustracin 30: manipulacin de objeto 3 ....................................................................... 40
Ilustracin 31: Escala del objeto..................................................................................... 40
Ilustracin 32: Manipulacin desde la vista del inspector.............................................. 41
Ilustracin 33: Directional light ...................................................................................... 41
Ilustracin 34: Caractersticas de la luz .......................................................................... 42
Ilustracin 35: Texturizacin de un objeto. .................................................................... 43
Ilustracin 36: Seleccin de la textura............................................................................ 44
Ilustracin 37: Objeto con textura .................................................................................. 44
Ilustracin 38: Parmetros de textura ............................................................................. 45
Ilustracin 39: Reflexin de la luz.................................................................................. 46
Ilustracin 40: Efecto material ....................................................................................... 46
7
1. INTRODUCCIN:
A continuacin se va hacer una breve introduccin al proyecto para exponer cul ha
sido su motivacin, qu objetivos se han perseguido en su realizacin y cules son los
contenidos ofrecidos en este manual de usuario.
11
1.2. Motivacin:
Cada ao se publican varios estudios sobre la evolucin del mercado de
los videojuegos, tanto de la parte material como de la parte software. En estos
estudios se pueden ver las tendencias que evolucionan cada vez ms de prisa y
cifras impresionantes que muestran el peso de los videojuegos en la economa
mundial.
En el ao 2011, el mercado de los videojuegos ha generado un volumen
de negocio de 41,9 billones de euros en el mundo y las previsiones para los aos
por venir auguran que podra llegar a los 60,6 billones de euros. Este auge se
explica por varias razones, la llegada al mercado de nuevas generaciones de
consolas porttiles, la evolucin favorable de los videojuegos de los mviles o
en lnea.
Partiendo de este contexto de evolucin constante, la eleccin de la
plataforma para la creacin de videojuegos por parte de los creadores es clave.
Actualmente los videojuegos se pueden crear para diferentes dispositivos,
consolas de saln, de mvil, de PC, etc, por lo cual lo ms inteligente es elegir
una herramienta que permite crear aplicaciones multiplataforma para abarcar el
mayor nmero de usuarios posible.
Este razonamiento hace que Unity 3D sea la herramienta elegida por
muchos desarrolladores para la creacin de sus videojuegos. En efecto Unity 3D
ofrece diversas ventajas con respecto a los dems motores de videojuegos que
hacen que sea cada vez ms cotizado. En los apartados que siguen se van a ver
en detalle las caractersticas de unity.
12
13
14
Otros conceptos muy ligados a los motores de videojuegos son las API y
SDK. Las API (interfaz de programacin de aplicaciones) son las interfaces de
software ofrecidas por los sistemas operativos, bibliotecas y servicios para que el
usuario pueda aprovecharlas en la creacin del juego. Un SDK (Kit de desarrollo
de software) es un conjunto de bibliotecas, API y herramientas disponibles para
la programacin. La mayora de los motores de videojuegos proporcionan API
en sus SDK.
Existen diferentes maneras de clasificar los motores de videojuegos
dependiendo de las caractersticas que nos interesan. Una de estas caractersticas
es el coste, efectivamente existen motores de videojuegos gratuitos o de pago
que pueden llegar hasta el medio milln de dlares. Estos ltimos son destinados
a estudios de desarrollo profesional con gran poder financiero. Estos motores
ofrecen un marco de juego y en algunos casos un entorno de desarrollo
integrado. Este entorno permite crear o importar todos los elementos que se
quieren integrar en el juego y determinar mecnicas de juego con la ayuda de los
scripts.
Los motores gratuitos estn destinados a los desarrolladores principiantes
o independientes y no suelen tener interfaz global. Para utilizar estos motores
hay que descargar un SDK (Software Development Kit), un kit de desarrollo
(herramientas y documentacin) que permite utilizarlos, pero se debe generar el
programa del juego entero a mano, escribiendo cdigo: CrystalSpace, Ogre 3D,
Irrlicht.
Los motores intermediarios, en esta categora se incluyen los motores con
herramientas de desarrollo ms potentes. Estos motores disponen de un entorno
de desarrollo integrado (IDE) que permite la creacin de juegos manipulando los
elementos en una interfaz grfica y generando automticamente una gran parte
del cdigo del juego. Este tipo est dirigido esencialmente a los profesionales
independientes: Unity 3D, Torque 3D.
Los motores profesionales estn dirigidos a los profesionales con gran
presupuesto. Son los motores ms completos y los ms potentes del mercado, se
mantienen al da por sus creadores y disponen de los ltimos avances
tecnolgicos: Id Tech 4, Unreal Engine 3, Cry Engine 3.
15
16
2.3.1. Roll-your-own:
Este tipo de motores son del nivel ms bajo e implica que bsicamente
para crear un videojuego haya que crearse el motor. La creacin de los motores
consume mucho tiempo y recursos pero muchas empresas siguen hacindolo,
para ello recuren a aplicaciones disponibles al pblico tales como las API como
XNA, DirectX, OpenGL, la API de Windows y Linux y SDL y bibliotecas
comerciales o de cdigo abierto. Estas herramientas facilitan la creacin del
motor de fsicas, funcionalidades graficas u otros.
La ventaja de este tipo de motores es la flexibilidad que permite al
creador la seleccin de los componentes necesarios para el videojuego sin
sobrecargar el procesador con herramientas que le restan potencia y por
consecuente calidad al videojuego. El gran inconveniente de este tipo de motores
y lo que hace que no sea de los ms apreciados por los usuarios es que requiere
mucho tiempo y recursos.
17
2.3.3. Point-and-click
El nivel ms alto y el ms extendido hoy en da. Son motores completos
para la creacin de un videojuego de manera intuitiva, amigable y teniendo muy
pocas nociones de programacin. Dicho esto hay que saber elegir el motor
adecuado segn el tipo de videojuego que se quiera crear porque estos motores
pueden ser limitados al no poder englobar las herramientas necesarias para
cualquier tipo de videojuegos.
A pesar de estas limitaciones son motores muy solicitados y apreciado
por los creadores porque permiten la creacin de un juego de manera muy rpido
sin tener que preocuparse por los aspectos matemticos y centrndose en los
aspectos creativos. De all que existan ya varios motores de este tipo como
GameMarker, Torque, Game Builer o el que vamos a ver en esta manual Unity
3D.
Descripcin
Motor desarrollado en el lenguaje C y utilizado para
implementar el juego Marathon. Licencia tipo GPL.
Motor desarrollado en lenguaje C++ con licencia GPL. Un
ejemplo de juego creado es Color Cube.
Motor desarrollado en lenguaje C++ con licencia MIT. Un
juego desarrollado con este motor es Angry Birds.
Motor desarrollado en lenguaje C y licencia Custom. Un
ejemplo de juego es Duke Nuken 3D.
Motor desarrollado en lenguaje C++ con licencia LGPL.
18
Panda3D
Axiom Engine
Cube
Delta3d
Flexible
Isometric Free
Engine
PixelLight
Quake engine
Second Life
Unity
Unreal Engine
19
Descripcin
Este motor es uno de los ms populares a la hora de
desarrollar juegos de aventuras amateur.
Motor freeware con un conjunto muy completo de
herramientas para el desarrollo de videojuegos en 3D.
Posee una licencia de pago para tener acceso a ciertas
funcionalidades.
Motor muy complete en el que se puede desarrollar para
web, Windows y Mac. Obteniendo una licencia se puede
desarrollar para iPhone, Android, Nintendo Wii,
Playstation 3 y la Xbox 360.
Completo motor para desarrollar juegos para PC.
Obteniendo una licencia se puede desarrollar juegos para
Xbox 360 y PS3.
Tabla 2: Motores freeware
Bork 3D Game
Engine
BigWorld
Source engine
Unity
Enigma Engine
Freescape (1986)
id Tech 4 (tambin
conocido motor
Doom 3)
Infinity Engine
RAGE
BRender
DX Studio
M.U.G.E.N
Q (game engine)
Scaleform
Zillions of Games
20
Descripcin
Motor para desarrollar juegos de plataformas para
iPhone e iPad.
Servidor, cliente y herramientas de desarrollo de
MMOG para Windows, Xbox 360 y PS.
Desarrollado por Valve Software para el juego HalfLife 2.
Motor que permite el desarrollo de videjuegos para
web, Windows, Mac OS X, iOS (iPod, iPhone, and
iPad), Android, Nintendo Wii, XBox 360 y PS3.
Motor de juegos de tctica en tiempo real, utilizado
para Blitzrieg.
Uno de los primeros motores 3D propietarios, utilizado
en Driller y 3D Construction Kit.
Utilizado para los juegos Doom 3, Quake 4, Prey y
Quake Wars. En Septiembre de 2011 llegar a ser
Open Source.
Permite la creacin de videojuegos de rol.
Creado por Rockstar Games para mejorar sus juegos
para Xbox 360 y PlayStation 3. Utilizado para el juego
Grand Theft Auto 4.
Motor grfico 3D en tiempo real para simuladores y
herramientas grficas.
Motor que permite la creacin de juegos en tiempo real
y simuladores.
Creado por Elecbyte para juegos de lucha e 2D.
Completo framework desarrollado por el equipo de
Direct3D que permite el desarrollo para PC, Wii, PS2,
PS3, Xbox, Xbox 360, PSP, iPhone etc.
Motor grfico utilizado para visualizar elementos
Adobe Flash, HUDs y texturas animadas para juegos en
PC, Mac, Linux, Xbox 360, PlayStation 2, PlayStation
Portable, PlayStation 3 y Wii.
Utilizado para desarrollar juegos de tablero, como
ajedrez.
Tabla 3: Motores propietario
3. UNITY 3D:
Unity 3D es un motor de creacin de videojuegos 3D lanzado oficialmente como
tal el 1 de Junio 2005. Este motor permite la creacin de juegos y otros contenidos
interactivos como diseos arquitectnicos o animaciones 3D en tiempo real.
Muchas personas interesadas por el desarrollo se topan con la dificultad de
aprender los lenguajes de programacin y los motores que los utilizan. Sin estudios de
programacin o de animacin por ordenador, el aprendizaje de los conceptos, mtodos y
los principios necesarios para la creacin de un videojuego se hace muy difcil.
Unity Technologies es una de las empresas que ha decido rectificar esta
situacin. Desde el lanzamiento de la primera versin 1.0.1 en 2001, esta empresa
danesa se ha esforzado para que sus herramientas sean accesibles y fciles de usar. El
equipo de desarrollo de unity ha decido mantener el cdigo fuente ofreciendo al usuario
una interfaz grfica completa de manera a que el usuario pueda controlar el cdigo
fuente sin tener que crear nuevos elementos en el cdigo. Este factor ha hecho que unity
sea muy popular entre los desarrolladores de videojuegos.
Unity pone la potencia de su motor al servicio de los utilizadores permitindoles
obtener un resultado de mxima calidad con un mnimo de esfuerzo. Adems las
actualizaciones, mejoras e inclusin de nuevas funcionalidades no han cesado hasta
llegar a la actual versin la 4.0 y su desarrollo sigue en curso. Unity existe en versin
profesional que se puede adquirir previo pago y una versin libre completamente
gratuita que se puede descargar en la pgina Web de Unity. Esta ltima versin incluye
menos funcionalidades pero aun as permite la creacin de videojuegos de muy buena
calidad.
Unity es una aplicacin 3D en tiempo real y multimedia adems de ser motor 3D
y fsico utilizado para la creacin de juegos en red, de animacin en tiempo real, de
contenido interactivo compuesto por audio, video y objetos 3D.
Este motor no permite la modelizacin pero permite crear escenas que soportan
iluminacin, terrenos, cmaras, texturas. Fue creado en un principio para la plataforma
Mac y ha sido exportado a Windows, permite obtener aplicaciones compatibles con
Windows, Mac OS X, iOS, Android, Wii, Playstation 3, Xbox 360, Nintendo, iPad,
iPhone con Web gracias a un plugin y recientemente desde la versin 3.5 con el formato
Flash de Adobe.
La evolucin de la industria del ocio y del marketing hace que los videojuegos
tiene que ser producidos rpidamente por lo cual muchas empresas se ayudan de
soluciones integradas como unity para que sus desarrolladores saquen productos de
manera sencilla y rpida.
21
Unity presenta varias ventajas que hacen que sea uno de los motores de
videojuego ms cotizado del momento. En los siguientes prrafos se van a ir citando
todas estas ventajas:
22
Para Playstation:
Escape Plan
25
26
Personalidad
apodo
Shadow
Blinky
Speedy
Pinky
Bashful
Inky
Pokey
Clyde
Tabla 4: Fantasmas del pacman
27
28
29
30
Render Mode:
Prueba a cambiar entre las tres opciones para entender cmo se ven
realmente.
Modos de visualizacin:
En la esquina superior derecha de la vista de escena se encuentra el
Gizmo que se puede observar a continuacin. Este Gizmo permite ver la escena
desde diferentes puntos de vista. El modo de visualizacin por defecto es en
perspectiva 3D y se obtiene haciendo clic sobre la caja central gris.
Tambin estn los 3 conos grises que llevan a los siguientes modos: Back
(Atrs), Left (Izquierda) y Bottom (Abajo).
32
34
35
36
Para ver la escena desde los diferentes ngulos se puede rotar alrededor
utilizando ALT y moviendo el ratn.
Para acercar o alejar la escena utilizando el zoom se puede usar la rueda
del ratn.
Las flechas del teclado permiten mover la escena a la izquierda, derecha,
arriba y abajo. Se puede hacer lo mismo manteniendo clicado el ratn y
movindolo en un sentido u otro.
Se puede aumentar la velocidad de movimiento de la escena manteniendo
SHIFT.
Al crear una escena aparece por defecto una cmara en nuestro mundo.
Haciendo clic sobre esta Main Camera se pueden visualizar las caractersticas
de la cmara en el inspector y modificarlos (posiciones, rotacin, escala). La
cmara define el punto de vista del jugador y se pueden combinar varias cmaras
en una misma escena (se ver ms adelante en el manual).
37
38
42
43
44
45
46
8. EDITOR DE TERRENOS:
Un editor de terrenos es imprescindible para cualquier desarrollador que quiere
crear un juego en un entorno exterior. Unity integra uno desde la versin 2.0, lo cual
facilita y acelera la construccin de los entornos.
47
48
49
50
Primero se van a definir las alturas del terreno para ello solo hay que hacer
clic en los sitios donde se quiere poner una montaa, cuanto ms tiempo se
mantiene pulsado el ratn ms grande se har la montaa. El terreno se
transforma en la imagen que sigue:
51
52
55
9. CONCEPTO DE LIGHTMAP:
Unity integra la tecnologa de Beast, un software de Autodesk que genera
mapeados de iluminacin de gran calidad.
El pop-up de Create Lightmap se utiliza para la creacin de una lista de luces
que permiten la iluminacin de las texturas que definen la apariencia de la topografa
del terreno.
Se accede a Windows>Lightmapping y se obtiene el pop-up que sigue:
56
57
Bake:
Maps:
.
58
59
61
62
Se puede observar que una capsula que tienen asociada una cmara se ha
aadido a nuestra escena. Se puede lanzar el juego haciendo clic en el play para
ver que somos un jugador en primera persona.
El manejo del personaje en la escena se hace mediante varias opciones:
64
67
68
69
71
72
10.10.
74
75
por Input.GetKeyDown("A")
Funcin Update( ) : funcin que define el bucle principal del juego por lo
cual se ejecuta una vez por cada frame que renderize el dispositivo.
Funcin Start( ) : Esta funcin es muy parecida a Awake( ) pero tiene una
diferencia vital; solamente se ejecutar si la instancia del script est
habilitada. Esto nos permitir retardar la inicializacin de algunas variables
de estado del juego. Tambin debemos tener presente que la funcin Start(
) siempre se ejecutar despus de que haya terminado la funcin Awake(
).
76
77
78
12. PREFAB:
Los prefab son objetos reutilizables, el desarrollador crea un objeto con una serie
de caractersticas y lo define como un prefab en la vista de proyecto para despus poder
instanciar ese objeto tantas veces como lo desee y en cualquier escena del videojuego.
La creacin de los prefab presenta diversas ventajas entre las cuales se pueden
resaltar las siguientes:
como se quiera y se puede observar que estas ya vienen definidas con todas las
caractersticas del prefabricado (textura, script de rotacin etc.).
80
82
83
84
85
86
En unity 3D existen varios tipos de partculas de los cuales se van a citar los ms
importantes:
89
90
91
93
15. SHADERS:
Unity permite la utilizacin de shaders y su aplicacin sobre texturas. El uso de
estos shaders depende de la tarjeta grfica que se utiliza para renderizar el videojuego y
se utilizan para que las texturas queden lo ms realistas posible alterando la forma en
que se ven afectados por la iluminacin o para aplicar mapping por ejemplo.
Se pueden aplicar shaders de creacin propia, los disponibles en web o los que
ofrece unity. Para crear un shaders hay que acceder Create>Shader en la vista de
proyecto:
94
95
96
97
la
pelota
se
accede
98
99
100
101
Una vez hechos estos pasos, aparece el nuevo componente en la vista del
inspector se rellena el conected body con la barra (el cilindro).
103
104
105
106
107
108
110
113
115
117
118
119
20. PACMAN:
En este apartado se van a explicar una serie de tutoriales de funcionalidades que
han sido implementadas en el videojuego prototipo.
120
121
122
NO
TRANSCURRIDO
TIEMPO
ESPERA EN CASA
(ESTADO -1)
SI
AVANZAR
(ESTADO 0)
NO
LLEGADA PUNTO
CONTROL
PERSEGUIR
PACMAN
(ESTADO 1)
SI
PACMAN COME
CAPSULA
ESPECIAL
NO
(ESTADO 2)
TRANSCURRIDO
TIEMPO
SI
123
NO
124
125
} else if (zFantasma < zPacman){ //El fantasma se encuentra mk abajo que el pacman
e nAvant2
} e lse{
e nAva n t2
} else if(zFantasma < zPacman){ //El fantasma se encuentra mk abajo que el pacman
e nAvant2
} e lse {
e nAva n t2
} e lse{
if(zFa ntasma
enAvant2
} e lse if(zFantasma
< zPa c ma n ){
} e lse{
e nAvant2
}
}
if(intentos > SO ){
1/print("paso a l estado !");
estado = 1;
in tentos = o;
}
}
126
127
movEnemigo1.avance = 0;
movEnemigo2.avance = 0;
movEnemigo3.avance = 0;
movEnemigo4.avance = 0;
pausaPlay = "CONTINUAR";
tipoBoton = 1;
musica.audio.mute = true; Este cdigo se ejecuta si el usuario pulsa
Pausa entonces se ponen todas las variables de movimiento del pacman y de
los enemigos a cero de esta manera se para el juego en el punto en el que lo ha
dejado el jugador. El botn expone la opcin de Continuar.
else if(tipoBoton == 1){
movPacman.vitesseMouvement = 4;
movPacman.vitesseRotation = 3;
movEnemigo1.avance = 0.5;
movEnemigo2.avance = 0.5;
movEnemigo3.avance = 0.5;
movEnemigo4.avance = 0.5;
pausaPlay = "PAUSA";
tipoBoton = 0;
musica.audio.mute = false; Cuando el usuario pulsa el botn Continuar
se reanuda el juego en el punto en el que se haba dejado.
Finalmente se obtiene un botn de interfaz como el que se ve en la
imagen. Primero aparece como Pausa mientras se est jugando y cuando el
usuario pausa el juego se cambia el mensaje a Continuar.
Este cdigo hace que cuando el usuario pulsa el botn salir se carga la
escena que representa el men del videojuego, esta escena se llama MainPacman
y tiene el siguiente aspecto:
130
131
En el caso de Web Player es totalmente gratuito y solo hay que seleccionar esta
opcin y hacer clic en Build entonces se genera una carpeta llamada Webplayer
132
dentro del proyecto con el html y los archivos necesarios para su ejecucin. Se lanza el
html y ya tenemos nuestro juego en una pgina Web.
133
134
.:-!,
Nombre_ _ _-1-o_u_ra_cio_'"+
~1 g~"~~~~
EJEstudio Previo
f-1-Definidn del alcance
..
' lnov 11
]die 11
lene 12
feb 12
mar 12
labr 12
may 12
liu
"~~~~~~~~iju~~~~:~~~~~~~~~~~~~~~~~~~~~~~=~~~~~~~~~~~~~~~~~~~~n
67 days? 3/11/118:00 3/02/1217:00
. - .. "
-'
Odays 3/11/118:00
3/11/118:00
!,.
'!.
! ~ 3/ll
..
6 r-r--Definidnderequisitosrevios
-i-~ ~~:~~~:::~~~z~to
__.B:!ll
9 lifi
JJ
~
11
S day~3/0l/128:00- 27/01/1217:00
5od:~:;t~;~;~~~~~o ~;~~~~21~ ~ o
1-----------l--~1-'--'---C-t-'--'-'---- 1
EJRealizacin del proyecto
85 days?3/02/12 8:00 31/05/1217:00
u lg
--
jj
iill
jg
Reunin de seguimiento
- Oda;' 23/03/12 8-;0- 23io3t2 8:00- !
Blmplementa_~in del ejem~lo 35 days!~~{~O~ ~1/05/1__2 17:00
Creadn del nivel! del videojuego 20 days?j26/03/12 8:00 ~/04/12 17:00 1
Pruebas nivel!
16 days'J30/03/12 8:00 20/04/12 17:00
'g
21
22 lifi
23
-11"-9 .
24
- 2S
26
j]
1=
Reunin de seguimiento
~05/12 17:00
10/05/12 17:00
11/05/12 17:00
135
lil&l
1* i f i i f i if&jl
:,.
:,.
3103
INIMiiMUi!
t. . .
l.
'O
,;;-f 27 g
28')g
17102
;g
-b,
:t,'o~'-----:----------------~~~~~~~
...
Reunin de seguimiento
Odays!l7/02/12 moo 17/02/12 17:00
13
documentadn de la interfaz
10 days?b0/02/12 8:00 2io3{12 17:00 ,
-f'""--t---1:---'--.- - -!
~
EJDiseo del proyecto
16 days?2/03/12 8:00 23/03/12 17:00
15 ;g
Defin1an del v1deo]uego ejemplo 4,875 da .. ,!5/03/12 9:00
9/03/12 17:00
16
1--- Redacan de tutonales
-
lGday~?2/03/12 8:00 - '3{o3/12 17:00 !
- 17
18
19
20
Tl
h'IJ
11105
El estudio previo:
El proyecto de realizacin:
136
Nombre
Duracin 1
1-m
--t-E.(reacin manual unity 30
4
5
6
7
8
12
odays 3/!V118:0C
m
:m
.[j~ficac:_nnical
'i
18
19
~~ [
:m.
1
O~ys?/03/1217:(0 :9m/1217:00
9103
_26/03/1217:00
11
Sdays11~3/128:C~
RMoo de seguiniento
. 15 daysl
26~3/12 8:(0
6104
lB/04/1217:00
Redaccin de tutor~les
Rell'iII de seglimiento
- #i #@
iliHIj:
EJimplementacindelejemplo
5Sdays?28/05/128:00 20/08/1217:00
Pruebas ~vd 1
.M-W:M&*&*M
Mli!!iitQkJal
.
23
Pruebas rivd 2
Redaccin de~~ tu~les
T10~/1217:00
24
'[Rt
RetliII de segJmiento
22
Ji]_ EJinatiZac~ndelproyecto
26
27
28
lilfjforlllltoddmaru~
,1
lii!l
Rellin deseguiniento
V~idacindelm~
137
..
Estado de la cueslln
docurnentadII de la ilterfaz
128day..19/03/128:00 12/09/1217:00
14
16
17
..
3/11/118:00
~ ill\squedadei1forllllcinurity30 52~11/118:ocll~J1217:00
j!i ~endizajedeunty30
30da~16~V128:CO [24/0~1217:00
1~ m
15
11---r----r----r-'=i;.:.......,,...-,...-.,....-J'i"'-'=r---..,.--r---r-"'::...:...--,---r--,-=:r=--r---r----r---'T::...:.:,-,...-,...--'=-..:--.---..,.-...,--'"'i-"'-,---,---,---'\"':.:...,---,----,.---,.J.:.J.:.T::.......,---,-r--"F'-.,....--t
Termmado 4"n"""ov-r
~6/03/1217:00
97 davs!,_3/11/118:00
~ EJE~io Prev~
3
IniciO
12i09illli:OO
24days?,10/08/i28:00
13daysi!0/08/128:CO
:28~8/1217:00
M@i#@iiMtM
.
it@@@ltiM:Mm%#00 :
MJJ ,, AQ %#i4@#MM
@JI llii!U
9!~8
138
23. PRESUPUESTO
En esta seccin, se va a calcular el presupuesto que hara falta en caso de llevar a
cabo el proyecto de creacin de una manual de usuario de Unity 3D a vistas de
comercializarlo.
En este presupuesto se van a tomar en cuenta todos los recursos ya sean humanos o
materiales y todas las fases, aprendizaje, creacin de un mini-videojuego, los
correspondientes test as como la redaccin del manual en s.
AUTOR:
Iman Ouazzani
DEPARTAMENTO:
Departamento de informtica.
DESCRIPCIN DEL PROYECTO.
Ttulo: MANUAL PARA LA CREACIN DE VIDEOJUEGOS MEDIANTE EL
MOTOR UNITY 3D.
Duracin: 6 meses.
Tasa de costes indirectos: 20%.
PRESUPUESTO DETALLADO DEL PROYECTO.
RECURSOS HUMANOS:
En esta tabla se especifican los costes relativos a las personas que involucradas
en el proyecto.
Persona involucrada
Juan Peralta Donate
Iman Ouazzani
139
Categora
Dedicacin
(meses)
Coste
H/M
Ingeniero Senior
1
4.289,54
Ingeniero
6
2.694,39
Total
Tabla 5: Recursos humanos
Coste
4.289,54
16.166,34
20.455,88
RECURSOS MATERIALES:
A continuacin se van a detallar los equipos utilizados para la realizacin de este
proyecto y el coste correspondiente.
Descripcin
Coste
% Uso
proyecto
Dedicacin
(meses)
Periodo de
depreciacin
Coste
imputable
600,00
1.099,00
100,00
300,00
100
100
100
100
6
6
6
6
6
6
6
6
60,00
109,90
10,00
30,00
Total
Tabla 6: Recursos materiales
209,90
140
o Puertos, ranuras y chasis: Conector de red (RJ45), USB 3.0 (2), Puerto
combinado USB 2.0/eSATA (1), Conector para micrfono, salida de
auriculares/altavoces, Lector de tarjetas 8 en 1 HDMI Conector de vdeo
VGA de 15 patillas.
Disco duro externo.- Disco duro externo con conexin USB para realizar copias
de seguridad del proyecto.
o Modelo: FreeCom.
o Capacidad: 80 Gb de almacenamiento de datos.
4 puertos USB
Puerto HDMI (soporta HDCP)
Ranura 5 * 1 para tarjetas de memoria (SD/MMC/MS/MS
PRO/xD)
Salida VGA
Salida S-Video/TV
Salida auriculares y altavoces
Salida de lnea telefnica y Conexin Ethernet
Entrada de micrfono
Sincables: WiFi y Bluethooth
o Tarjeta grfica:
NVIDIA GeForce Go X8600 GT 1024 MB (Turbocach)
Memoria de video 256 MB
o Lector: lectura y escritura de CD y DVD (lector HD DVD opcional)
o Cmara Interna: CrystalEye, 30 imagnes por segundo.
COSTES AADIDOS:
En esta tabla, se detallan otros costes relativos a la realizacin del proyecto.
Descripcin
Funjible
Viajes
Licencia Windows 7
Professional 64 bits: 2
Licencia Microsoft Office
2007 Basic
Total
Empresa
Microsoft Store
Coste imputable
200,00
100,00
599,98
Microsoft Store
149,99
899,98
143
144
25. CONCLUSIONES:
Llegados a este punto y echando la vista atrs se puede comprobar si se han
cumplido los objetivos del proyecto y hacer una valoracin global.
Finalizado el proyecto, se puede concluir que los motores de videojuegos son
herramientas muy tiles que facilitan el trabajo de los creadores permitindoles
centrarse en los aspectos creativos y no tanto en los aspectos matemticos, fsicos, etc.
Unity 3D es uno de los motores ms recientes en el mercado, es completo y
muy potente. Adems ha ido adaptndose a los avances versin a versin y a las nuevas
tendencias como la creacin de juegos para diferentes soportes de all que sea
multiplataforma.
Esta caracterstica es una de las ventajas ms importantes de unity 3D. En efecto,
las tendencias actuales hacen que un juego tenga que poder jugarse en una consola de
saln, en el mvil o en el PC para adaptarse a unos consumidores muy exigentes y una
competencia incansable. Como hemos podido comprobar en el manual, la compilacin
del videojuego ejemplo para Web se ha realizado de una manera muy rpida y sencilla.
Para llevar a cabo el proyecto se ha utilizado la versin gratuita de Unity 3D que
no por ser gratuita es menos potente como se ha podido comprobar. Unity ofrece un
entorno simple e intuitivo que permite la creacin de un juego muy rpidamente y
puesto que no es necesario tener conocimientos profundos de programacin cualquiera
lo puede utilizar con unas nociones bsicas.
Por ltimo, hay que recodar dos puntos ms, por un lado que Unity no solo
permite la creacin de videojuegos, tambin es una herramienta muy apreciada por los
arquitectos y diseadores puesto que permite crear entornos 3D de manera sencilla y
rpida, y por otro lado, Unity 3D est en evolucin constante y cada cierto tiempo se
presenta una nueva versin que incluye mejoras y avances.
145
Adaptacin del videojuego a todas las plataformas que ofrece Unity, compilar el
juego para androide por ejemplo.
El uso de diversos asset y paquetes que ofrece Unity como los Standard Asset
Movil.
146
27. REFERENCIAS:
[1] Pgina oficial de Unity 3d: http://unity3d.com/unity/
[2] Pgina oficial de Unity Espaa: http://www.unityspain.com/
[3] Pgina para bsqueda de videos sobre Unity 3D: http://www.youtube.com/
[4] Pgina con un mini manual de Unity: http://cronicasdenix.hostzi.com/?page_id=56
[5] Pgina para importar texturas variadas: http://www.cgtextures.com/
[6] Pgina de la comunidad Unity 3d Francia:
http://www.unity3d-france.com/unity/category/tutoriels/tutoriels-videos-tutoriels/
[7] foro con definicin del comportamiento de los fantasmas:
http://www.desadaptados.net/video-juegos/descubre-la-personalidad-de-los-fantasmas-de-pacman!/
148
149
28. ANEXOS:
28.1. Glosario de trminos:
En la tabla que sigue se van a explicar los trminos y acrnimos que han
sido utilizados en este documento:
Trmino
2D
3D
Game Engine
(motor de
videojuegos)
IA
Lenguaje de
scripting
Nivel
script
Javascript
Collider
Escena
GameObject
Sistema de
partculas
(Particule
System)
Uniscite
MonoDevelop
Boo
Asset
150
Definicin
Dos dimensione
Tres dimensiones
Motor de videojuegos. Conjunto de herramientas proporcionadas para
el desarrollo de videojuegos.
Se denomina inteligencia artificial a la capacidad de razonar de un
agente no vivo. Se le adjudica al objeto un cdigo que le dota de cierta
inteligencia y hace que se comporte de una manera u otra en funcin
de la situacin en la que se encuentra.
Tipo de lenguaje de programacin que es generalmente interpretado.
Modelo en 3D del mundo creado mediante el editor.
Una secuencia de instrucciones que se lanzan como un lote y se
ejecutan una tras otra.
JavaScript es un lenguaje de programacin interpretado, dialecto del
estndar ECMAScript. Se define como orientado a objetos,3basado en
prototipos, imperativo, dbilmente tipado y dinmico.
Un collider es la estructura que hace slidos a los objetos y permite
controlar las colisiones entre objetos.
La escena hace referencia a la conjugacin de los elementos que
conforman la imagen a saber: decorados, iluminacin, texturas, sonido,
etc.
Representa un objeto, un elemento de la escena del juego y tiene
propiedades y componentes.
Se refiere a una tcnica de computacin grafica que utiliza un gran
nmero de pequeos elementos para simular algn fenmeno como el
fuego o el humo.
Editor estndar de scripts en Unity 3D y predeterminado hasta la
versin 3.4.
Es un entorno de desarrollo integrado libre y gratuito, diseado
primordialmente para C# y otros lenguajes .NET como Nemerle, Boo,
Java
Boo es un lenguaje de programacin orientado a objetos, de tipos
estticos para la Common Language Infrastructure con una sintaxis
inspirada en Python y un nfasis en la extensibilidad del lenguaje y su
compilador
Usualmente se denomina asset a cualquier recurso grfico que se carga
plugins
Android
3ds Max
Blender
OpenGL
Shaders
NVIDIA
PhysX
SDK
API
IDE
MonoDevelop
Framework
151
externamente
Es un complemento o una aplicacin que se relaciona con otra para
aportarle una funcin nueva y generalmente muy especfica. Esta
aplicacin adicional es ejecutada por la aplicacin principal e
interactan por medio de la API.
Android es un sistema operativo mvil basado en Linux, que junto con
aplicaciones middleware est enfocado para ser utilizado en
dispositivos mviles como telfonos inteligentes, tabletas, Google TV
y otros dispositivos.
Es un programa de creacin de grficos y animacin 3D desarrollado
por Autodesk y es uno de los programas de animacin 3D ms
utilizado
es un programa informtico multiplataforma, dedicado especialmente
al modelado, animacin y creacin de grficos tridimensionales
(Open Graphics Library) es una especificacin estndar que define una
API multilenguaje y multiplataforma para escribir aplicaciones que
produzcan grficos 2D y 3D.
La tecnologa shaders es cualquier unidad escrita en un lenguaje de
sombreado que se puede compilar independientemente.
Es GPU con una tecnologa que aade un elemento de realismo en los
juegos. Permite obtener efectos de fsica dinmicos impresionantes
como las explosiones o el movimiento natural del agua y los
personajes.
Un kit de desarrollo de software es un conjunto de herramientas de
desarrollo de software que le permite al programador crear
aplicaciones para un sistema concreto.
(Aplication Programming) Interface es una serie de servicios o
funciones que el sistema operativo ofrece al programador.
(Integrated development environment) es un programa informtico
compuesto por un conjunto de herramientas de programacin. Puede
dedicarse en exclusiva a un solo lenguaje de programacin o bien
poder utilizarse para varios.
Es un entorno de desarrollo diseado principalmente para C # y otros
lenguajes NET. Permite a los desarrolladores escribir rpidamente
aplicaciones de escritorio y Web ASP.NET en Linux, Windows y Mac
OSX.
Es una estructura conceptual y tecnolgica de soporte definido,
normalmente con artefactos o mdulos de software concretos, con base
a la cual otro proyecto de software puede ser ms fcilmente
organizado y desarrollado
Tabla 9: Glosario de trminos
152
153