Вы находитесь на странице: 1из 48

CREACIN DE UN VIDEOJUEGO PARA MVILES MULTITCTILES

Miku, el videojuego

Albert Devesa Triscon 2 Bachillerato A INS Narcs Monturiol Tutor: Manel Niub 31/1/2011

Piensa dos veces antes de empezar a programar, o terminars programando dos veces antes de empezar a pensar. - Annimo

NDICE
1. INTRODUCCIN ........................................................................................................ 3 2. EVOLUCIN DE LAS VIDEOCONSOLAS ............................................................... 4 2.1 PRIMERA GENERACIN ..................................................................................... 4 2.2 SEGUNDA GENERACIN ................................................................................... 5 2.3 TERCERA GENERACIN .................................................................................... 6 2.4 CUARTA GENERACIN ...................................................................................... 6 2.5 QUINTA GENERACIN ........................................................................................ 7 2.6 SEXTA GENERACIN ......................................................................................... 8 2.7 SPTIMA GENERACIN ..................................................................................... 9 2.8 EL AUGE DEL IPHONE Y ANDROID .................................................................. 10 2.9 CIFRAS ............................................................................................................... 11 3. HERRAMIENTAS PARA CREAR UN JUEGO ........................................................ 12 3.1 CONOCIMIENTOS PREVIOS ............................................................................. 12 3.2 UNITY 3D, EL MOTOR DEL JUEGO ................................................................... 12 3.3 DISEO 3D ......................................................................................................... 14 3.4 JAVASCRIPT COMO LENGUAJE DE PROGRAMACIN .................................. 15 4. EL VIDEOJUEGO, PASO A PASO ......................................................................... 17 4.1 DISEO DE LOS NIVELES ................................................................................. 17 4.2 LA UNIN CON UNITY 3D .................................................................................. 20 4.3 CREACIN DEL PROTAGONISTA .................................................................... 22 4.4 PROGRAMACIN DE LOS SCRIPTS ................................................................ 25 5. EXPORTACIN ....................................................................................................... 29 6. CONCLUSIONES ..................................................................................................... 32 7. AGRADECIMIENTOS .............................................................................................. 33 8. BIBLIOGRAFA ........................................................................................................ 33 ANEXO A: .................................................................................................................... 34 ANEXO B: .................................................................................................................... 40 ANEXO C: .................................................................................................................... 43

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

1. INTRODUCCIN
Hace ms de un lustro que los juegos mueven ms dinero que, por ejemplo, la industria del cine o de la msica. La avalancha de los nuevos videojuegos (cada vez ms realistas) y la llegada de videoconsolas con mayor nmero de funcionalidades, aaden la entrada de nuevos segmentos sociales que hasta ahora permanecan como minoras dentro de este mercado, y que, cada vez ms, ocupan nuestro tiempo de ocio y entretenimiento. Algunas de estas videoconsolas han formado parte de mi vida y, con la experiencia adquirida como jugador, me gustara saber cmo se hace un videojuego y llevarlo a la prctica. He elegido una plataforma mvil tctil porque son las videoconsolas con ms potencial que hay actualmente y con las que ms experiencia he podido conseguir. Por qu un mono? Siempre he querido crear un personaje imaginario y original. Quera que fuera un animal humanizado, pero, despus de trabajar con los programas de creacin de objetos y grficos en tres dimensiones y comprobar su complejidad, cre el personaje que me acercaba a estas caractersticas y que menos problemas me llevaba. Empezar investigando cmo han evolucionado las consolas a lo largo del tiempo y cules predominan actualmente. Bsquedas cules son las acciones, mtodos y programas que deben llevar a cabo los programadores y diseadores para elaborar y publicar un videojuego. Principalmente, extraer toda la informacin de Internet y solucionar muchos problemas gracias a la ayuda de los usuarios de los foros de Unity 3D. No dispongo de ningn conocimiento sobre el diseo en 3D, as que supondr un gran obstculo por culpa de su complejidad. Por otro lado, ya he tenido experiencia en el campo de la programacin y, consecuentemente, su interpretacin me ser ms fcil y flexible. Finalmente, crear un videojuego para mviles multitctiles, sobre todo para iPhone y Android, que me permitir estudiar su estructura y compararla con los videojuegos de gran escala.

1.1 OBJECTIVOS
Estudiar la evolucin de las consolas de videojuego a lo largo del tiempo. Conocer y aprender a utilizar las herramientas necesarias para la creacin de un videojuego. Conocer la estructura de un videojuego. Crear un videojuego en 3D.

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2. EVOLUCIN DE LAS VIDEOCONSOLAS


Antes de empezar se debe tener claro que se est tratando exactamente. Una consola de videojuego o, simplemente, videoconsola es un ordenador de entretenimiento interactivo controlado por un dispositivo de entrada y que produce una seal de vdeo que puede ser utilizada por un dispositivo de salida (generalmente es una televisin o un monitor de ordenador ). Estos videojuegos se presentan en cartuchos, chips, disquetes, CD o DVD, aunque actualmente se empiezan a distribuir por Internet En la industria de los videojuegos, las videoconsolas han sido clasificadas en generaciones. La primera y la segunda generacin se clasifican segn los recursos tecnolgicos en aquella poca y la fecha de lanzamiento. En cambio, de la segunda a la sexta generacin son clasificadas segn el nmero de bits 1que posee la consola.

2.1 PRIMERA GENERACIN


Los primeros juegos aparecieron en 1950, pero stos utilizaban pantallas vectoriales, no de vdeo. Ralph Baer, en 1972, lanz al mercado Magnavox Odyssey, la primera consola de sobremesa que se empez a popularizar gracias al juego Pong de la compaa Atari. Este evento comenz a mover el inters ante esta nueva industria. Despus de una actualizacin de la consola Odyssey, la cadena de centros comerciales Sears compr los derechos del sistema Atari Pong y los introdujeron en el mercado de consumo bajo con el nombre de Sears-Telegames. Pero debido a los clones de Pong y juegos derivados, esta compra no dio el resultado esperado.

Fig. 1. Magnavox Odyssey

Fig. 2. Magnavox Odyssey 2000

Fig. 3. Sears-Telegames

Paralelamente, Mattel Auto Race (1976) y Electronic Quaterback (1979) fueron las primeras videoconsolas electrnicas porttiles que salieron al mercado.
El nmero de bits (binary digit) es un dgito del sistema de numeracin binario, 0 o 1, que determinan el ancho de bus del procesador. 2 Un joystick o palanca de control es un dispositivo de control de dos o tres ejes que se usa en ordenadores, videoconsolas, transbordadores espacial y aviones de caza. 3 Una trackball es un dispositivo apuntador compuesto por una bola incrustada en un receptculo que contiene
1

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2.2 SEGUNDA GENERACIN


En octubre de 1977, el Atari 2600 fue la primera consola lanzada al mercado estadounidense, convirtindose en la primera consola en tener xito utilizando cartuchos intercambiables. Atari 5200 fue su sucesora pero acab adoptando el nombre de CX2600, el cual se basaba en el nmero de catlogo que posea. Esta consola fue un gran xito y Atari se convirti en sinnimo de videojuegos. La consola vena acompaada con dos joysticks2, una trackball3 y un cartucho de juego (inicialmente Combat y subsiguientemente Pac-Man). Atari consigui el monopolio, aunque tuvo dos rivales destacables: Colecovision, con el doble de colores y Mattel Intelvission, que por primera vez en la historia, inclua una CPU de 16 bits. Nintendo y Sega, una de las mejores compaas de juegos hoy en da, con TVGame 6 y SG-1000 respectivamente, comenzaban a dar los primeros pasos a nivel domstico En 1979 apareci la primera videoconsola porttil, la MB Microvision, con cartuchos intercambiables. En cambio, en 1980, Nintendo sac Game & Watch, una consola electrnica porttil con 59 juegos por defecto y que no admita cartuchos.

Fig. 4. Atari 2600

Fig. 5. Atari 5200 (CX2600)

Fig. 6. ColecoVision

Fig. 7. SG-1000

Fig. 8. TV-Game 6

Fig. 9. Game & Watch

Un joystick o palanca de control es un dispositivo de control de dos o tres ejes que se usa en ordenadores, videoconsolas, transbordadores espacial y aviones de caza. 3 Una trackball es un dispositivo apuntador compuesto por una bola incrustada en un receptculo que contiene sensores que detectan la rotacin de la bola en dos ejes.

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2.3 TERCERA GENERACIN


A partir de la tercera generacin, el mundo de las consolas comenz a ser abolido por el monopolio japons. Las consolas de esta generacin como NES y Sega Master System tenan 8 bits. Hasta el 1988, NES, junto con el juego Super Mario Bros, dominaban la industria. Atari con la esperanza de recuperar el dominio sac el Atari 7800, una versin mejorada del Atari 5200, pero no lo consigui.

Fig. 40. NES

Fig. 11. Sega Master System

Fig.

12.

Atari

7800

2.4 CUARTA GENERACIN


En 1983, Nec y Hydon sacaron a la luz la consola PCEngine (en Japn) o TurboGrafx (en el resto del mundo) que tambin tena una CPU de 8 bits pero con un chip grfico de 16 bits. La consola ms relevante de esta generacin era Sega Mega Drive, conocida comercialmente como Sega Genesis, introducida en 1988 aunque Nintendo sac su consola de 16 bits llamada Super Nintendo el mismo ao. Neo Geo fue la consola ms potente de esta generacin pero era muy cara. Los chips grficos aadidos a los cartuchos destacaban en esta generacin. Aparecen tambin conceptos como la multitarea, multimedia, grficos vectoriales, etc. Super Nintendo fue la consola ms vendida con 49 millones de unidades en Japn.

Fig. 13. PCEngine/TurboGrafx-16

Fig. 14. Sega Mega Drive

Fig. 15. Super Nintedo

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Game Boy de Nintendo fue y an es una de las consolas porttiles ms vendidas de la historia gracias a la llegada del juego Tetris y el grandsimo apoyo de las compaas que trabajaban para NES. En 1989, para competir con la Game Boy, Sega cre la Game Gear, la tercera videoconsola porttil en color.

Fig. 16. Game Boy

2.5 QUINTA GENERACIN


Entorno en 1994, se dej de utilizar el 2D al ponerse de moda los entornos tridimensionales 3D, aprovechando al mximo el hardware de los equipos. Esta generacin es conocida como la era de los 32 bits, aunque se confunde con la de 64 bits por el nombre que le dieron a la consola Nintendo 64. Tambin se enunciaron dos grandes consolas, la PlayStation de Sony y la Sega Saturn. La primera tuvo un gran xito en el mundo de los videojuegos que an perdura. Bsicamente el mercado estaba dominado por tres consolas, Sega Saturn, PlayStation y Nintendo. Esta generacin tambin vio dos versiones actualizadas de la Game Boy: la Game Boy Color y Game Boy Light (esta ltima slo estaba disponible en Japn). Apple tambin quiso entrar en el mercado con su producto Apple Pippin, pero no tuvo xito.

Fig. 17. PlayStation

Fig. 18. Sega Saturn

Fig. 19. Apple Pippin

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2.6 SEXTA GENERACIN


Las consolas de esta generacin se mejoraron gracias a la introduccin de arquitecturas de ordenadores. Las consolas de sobremesa sustituyeron los cartuchos para grandes capacidades como el DVD, GD-ROM4 o el GOD5, as los juegos eran ms largos y ms atractivos visualmente. Las nuevas memorias flash y los discos duros implantados en esta generacin eran utilizados para guardar las partidas. Sega sac su nueva y ltima consola llamada Dreamcast, en cambio, PlayStation 2 de Sony, la primera en introducir el reproductor DVD, continu teniendo el mismo xito que la PlayStation. Todas las consolas PlayStation, a lo largo de la historia, han tenido su versin Slim pertinente. Por otra parte, la GameCube fue la cuarta videoconsola de sobremesa de Nintendo. Finalmente, el Xbox fue la ltima consola en salir al mercado de esta generacin y la primera de Microsoft. Tambin utiliza un reproductor DVD, con conexin online y un disco duro integrado. Las videoconsolas porttiles tambin iban evolucionando y Nintendo comenz a fabricar la sucesora de la Game Boy Color, Game Boy Advanced, con un procesador ARM6 propio de 32 bits. Adems, era capaz de ejecutar los juegos compatibles con Game Boy (cuarta generacin) y la Game Boy Color (quinta generacin). En 2003, Nokia, una de las principales empresas del sector de las telecomunicaciones, sac la N-Gage, el primer telfono mvil y consola porttil a la vez.

Fig. 20. PlayStation 2

Fig. 21. Xbox

Fig. 22. GameCube

Este nuevo soporte ptico fue implantado por Sega con el objetivo de parar la piratera de software, que era

relativamente fcil en las consolas de la generacin anterior ya que coincidi con la salida al mercado de las primeras grabadoras de CD-ROM. An as este nuevo sistema fue violado poco tiempo despus de su lanzamiento.
5

GOD (GameCube Optical Disc) fue el formato de distribucin de los videojuegos de Nintendo. Actualmente se ARM (Advanced RISC Machines) son microprocesadores RISC diseados por la empresa Acorn Computers y

emplea la Wii Optical Disc para la consola Wii.


6

desarrollados por Advanced RISC Machines Ltd.., una empresa derivada de la anterior.

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2.7 SPTIMA GENERACIN


Esta actual generacin se caracteriza por la introduccin de la tecnologa multi ncleo de la CPU. Durante el 2005, Microsoft present la nueva Xbox 360, mientras que en 2006, la PlayStation 3 fue presentada por Sony. En ese mismo ao, Nintendo, con el deseo de recuperar el mercado, present su nueva y actual consola Wii, caracterizada por el innovador mando con la capacidad de apuntar gracias a la deteccin de la aceleracin de los movimientos en tres dimensiones. Posteriormente, las versiones Slim de la PlayStation 3 y la Xbox 360 fueron presentadas a lo largo de 2009 y 2010.

Fig. 23. PlayStation 3

Fig. 24. Xbox 360

Fig. 25. Wii

Desde 2005, Nintendo y Sony han estado compitiendo en el sector de las videoconsolas porttiles. PlayStation Portable, o simplemente PSP, tena ms potencia grfica que la Nintendo DS (siglas de Dual Screen), pero esta la superaba en ventas. A lo largo del tiempo se han ido mejorando las consolas. La PSP ha tenido hasta cuatro versiones ms, con nuevas mejoras. La Nintendo DS tambin ha tenido el mismo nmero de versiones y la ltima, la cuarta, con tecnologa 3D (efecto tridimensional de su pantalla), ser la encargada de estrenar la octava generacin de consolas cuando se tire en febrero de 2011.

Fig. 26. PSP Go!

Fig. 27. Nintendo 3DS

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2.8 EL AUGE DEL IPHONE Y ANDROID


Cada vez hay ms demanda en el sector de los videojuegos para mviles de ltima generacin. Estos mviles, llamados smartphones, cada vez tienen ms capacidad para ejecutar juegos como lo hara una de las videoconsolas porttiles citadas antes. A finales de 2007, Apple introdujo su primer smartphone, el iPhone. Fue uno de los primeros en utilizar una interfaz multitctil. En julio de 2008, Apple lanz un nuevo modelo con un precio menor y apoyo 3G. A partir de la versin 2.0 de su sistema operativo, se cre la App Store con aplicaciones tanto gratuitas como de pago, permitiendo instalar aplicaciones desarrolladas por terceros. Esta tienda de aplicaciones ha tenido un gran xito llegando hasta las 250.000 aplicaciones. El xito del iPhone ha reafirmado ciertas tendencias dentro del mundo de los smartphones como el uso de interfaces tctiles, el abandono de los teclados o la importancia de las tiendas de aplicaciones.
Fig. 28. iPhone 4 executant lApp Store

El sistema operativo Android, desarrollado por Google, apareci para smartphones el ao 2008 para contraatacar el iPhone de Apple. Se trata de un sistema operativo de cdigo abierto basado en Linux y soportado por la Open Handset Alliance (que aparte de Google est formada por Intel, HTC, Motorola y Samsung entre otros). El primer smartphone en utilizarlo fue el HTC Dream, llamado G1 por la operadora americana T-Mobile que el distribuy. El software incluido en el sistema operativo integra los servicios propios de Google, como correo, calendario, navegacin, etc. Las aplicaciones de terceros estn disponibles en el Android Market, el principal competidor de la App Store.
Fig. 29. HTC Desire amb Android 2.2

10

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

2.9 CIFRAS
Este apartado va destinado a los datos obtenidos del mundo de los videojuegos y las consolas a lo largo del tiempo hasta la actualidad. La siguiente estadstica muestra las consolas ms vendidas (unidades en millones) durante los ltimos 25 aos (actualizado el mes enero de 2011):

PSP

Nintendo 64

Nintendo DS

DreamCast

Game Boy Advance

Super Nintedo

Colecovision

GameGear

Xbox

TurboGrafx

GameCube

Master System

PlayStation 2

PlayStation 3

PlayStation

La industria de los videojuegos es un mercado que mueve ms dinero que la industria del cine y va creciendo ao tras ao. Por este motivo, multinacionales como Sony o Microsoft han invertido miles de millones de dlares en el desarrollo de sus nuevas consolas, conscientes de que si las cosas les salen bien amortizarn el dinero gastado. El siguiente grfico, realizado por Newzoo durante el 2010, muestra el nmero de personas entre 10 aos y superior que juega en unas especficas consolas porttiles. Desde la llegada de la App Store, el nmero de juegos destinados a iOS no ha parado de crecer y el 22 de enero de 2011 lleg a las diez mil millones de descargas.

11

Intellivision

Game Boy

NES

MegaDrive

Xbox 360

Atari 2600

Saturn

Wii

160 140 120 100 80 60 40 20 0

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

3. HERRAMIENTAS PARA CREAR UN JUEGO


Son muchas las herramientas que se pueden utilizar para la elaboracin de un juego. Entre estas, he utilizado las herramientas ms flexibles y fciles de utilizar, sobre todo en el mbito 3D. Tambin he intentado crear un juego fcil, simple y apto para todos. De las caractersticas que me ofrece la exportacin de Unity 3D, me he centrado en la plataforma mvil.

3.1 CONOCIMIENTOS PREVIOS


Adems de tener conocimientos de programacin, hay que tener agilidad para moverse entre programas, adaptarse a lo que te pide y saber los lmites de este. Hay que tener una mente clara a la hora de escribir programacin, sino te ganas problemas y dolores de cabeza innecesarios. Para crear un juego en la plataforma de iOS, Apple ofrece su programa XCode, el cual se basa en Objective-C, lenguaje de programacin con licencia GPL por el compilador GCC. Este lenguaje deriva del lenguaje C, orientado a objetos. En mi caso he elegido el programa Unity por la simplicidad que me da. Unity se ocupa de todos los aspectos que requiere la creacin de un juego, aun transforma el lenguaje JavaScript, C # o Boo a Objective-C para ser compilado y ejecutado al iOS. Tambin se ocupa del apartado de la fsica, aunque se necesita un mnimo de conocimientos para resolver problemas que puedan surgir durante el desarrollo del juego.

3.2 UNITY 3D, EL MOTOR DEL JUEGO


Unity 3D es el programa para crear los juegos 3D de vdeo u otro contenido interactivo como visualizaciones arquitectnicas o animaciones 3D en tiempo real. Integra casi todas las necesidades indispensables para crear el videojuego. Funciona tanto en Windows como en Mac OS X, y puede producir juegos para diferentes plataformas: Windows, Mac, Wii, iPad, iPhone y, ahora tambin, para PlayStation 3 y Xbox 360. Tambin puede importar estos juegos navegadores gracias a su plug-in, compatible con Internet Explorer, Mozilla Firefox, Safari, Netscape, Opera, Google Chrome y Camino. Hay que tener en cuenta que un juego creado a Unity 3D no siempre se ejecutar bien en todas las plataformas. Por ejemplo, un juego creado para PlayStation 3 puede ser exportado iPhone pero no lo har con la misma fluidez que en la PlayStation 3, ya que esta posee un hardware ms potente, al igual que el Xbox 360.

12

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

1. Escenario: ventana donde se visualiza el escenario del juego en 3D. Desde esta ventana se puede editar, mover y rotar cualquier objeto. 2. Proyecto: listado de todos los archivos que hay en todo el juego. 3. Jerarqua: ficheros que slo corresponde al nivel. 4. Inspector: propiedades de cada objeto del juego. 5. Juego: como se ve el juego realmente una vez sea exportado a la plataforma. Tambin informa de los recursos que se emplean en ese preciso momento.

Miku se empez a desarrollar con Unity iPhone 1.7, ya que Unity estaba separado por plataformas. Con la nueva versin 3, se han fusionado todas las plataformas para formar Unity 3D. Este es capaz de importar modelos 3D creados por 3ds Max, Maya, Blender, Cheetah3D y Cinema 4D. Utiliza diferentes motores grficos, Direct3D en el caso de Windows, OpenGL Mac y tambin Windows, OpenGL ES nicamente para iOS y APIs propietarias como Wii.

13

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

3.3 DISEO 3D
Para hacer todo el diseo 3D del juego, se han utilizado dos programas: Cine 4D y ZBrush. El primero es un programa de creacin de grficos y animacin 3D desarrollado por Commodore Amiga por la compaa alemana Maxon, y llevado posteriormente a las plataformas Windows, Linux y Macintosh. Permite el modelado de primitivas, splines
7

y polgonos, texturizacin y animacin. Este

programa se encargar de los escenarios 3D.

1. Escenario: ventana donde se visualiza los objetos en 3D. Desde esta ventana se puede editar, mover y rotar cualquier objeto. 2. Objetos: lista de todos los objetos 3D. 3. Atributos: ventana donde se muestran las propiedades y atributos de los objetos. 4. Coordenadas: posicin, tamao y rotacin del objeto seleccionado. 5. Materiales: lista de las texturas de los objetos. 6. Herramientas: todas las herramientas que ofrece Cinema 4D para editar los objetos. Tambin se pueden seleccionar desde el men de arriba. 7. Animacin: permite animar los objetos y visualizar su comportamiento en cada fotograma.

Un spline es una curva definida en porciones mediante polinomios.

14

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

En cambio, ZBrush me permite crear el protagonista del juego gracias al original planteamiento de su proceso creativo para personajes. Lo utilizan compaas de gran escala como Electronic Arts o tambin para pelculas, como El seor de los Anillos.

1. Escenario: ventana donde se visualiza el objeto o personaje que se est creando. 2. Herramientas: todas las herramientas que ofrece el programa. En la parte de la derecha podemos encontrar las herramientas ms utilizadas en la parte superior las podemos encontrar todas. 3. Opciones: podemos regular la herramienta seleccionada cuando es utilizada. 4. Atributos: podemos seleccionar los materiales, sus colores, los punteros y los efectos especiales para aplicarlos al personaje u objeto.

3.4 JAVASCRIPT COMO LENGUAJE DE PROGRAMACIN


Como he expresado antes, el juego est realizado con el lenguaje JavaScript, lenguaje script basado en el concepto de prototipo, implementado originalmente por Netscape Communications Corporation, y que deriv en el estndar ECMAScript. Es conocido sobre todo por su uso en pginas web, pero tambin se utiliza en otras aplicaciones. A pesar de su nombre, JavaScript no deriva del lenguaje de programacin Java, pero ambos comparten 15

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

una sintaxis similar inspirada en el lenguaje C. El nombre JavaScript es una marca registrada por Sun Microsystems. De entre todos los programas, he elegido Unitron por su sencillez y su integracin con Unity.

Fig. 30. Captura de Unitron

16

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

4. EL VIDEOJUEGO, PASO A PASO


En los siguientes apartados ir explicando los conceptos fundamentales para la realizacin del juego y los pasos que he ido siguiendo hasta su publicacin. La mejor manera de disear y programar un juego es planificar desde el principio toda la mecnica, los objetivos y las funcionalidades, sino sera muy difcil que fuera terminado con xito.

4.1 DISEO DE LOS NIVELES


Despus de haber planteado y dibujado a mano el nivel en una plantilla podemos proceder a su creacin en 3D con el programa mencionado en el apartado anterior: Cinema 4D. En primer lugar creamos un objeto preparado para Cinema 4D que ser la base, en este caso un cuadrado. El modificamos y le cambiamos las medidas. Especificamos el nmero de segmentos y lo hacemos editable. Cuanto ms segmentos tenga ms pequeos sern los cortes y ms precisin tendremos, pero el juego tardar ms en procesar. En la siguiente captura de pantalla he resaltado los lugares que hemos tenido que ir pulsando.

17

Creacin de un videojuego para mviles multitctiles A continuacin empezamos a crear los obstculos que previamente hemos dibujado. El primer obstculo para el jugador ser saltar en tres bloques sin caer al fuego. Para su creacin Despus seleccionamos creamos el un nmero cilindro, de el cuadrados y extrusionado el terreno con la herramienta Extrude. redimensionado, el posicionamos y lo hacemos editable. Para ahorrarnos hacer el mismo trabajo, duplicamos dos veces el mismo cilindro y los alineamos (debemos tener en cuenta la potencia de salto del personaje).

Albert Devesa Triscon

Fig. 31. Creacin de tres bloques

El prximo obstculo ser saltar sobre una plataforma mvil sin caer al fuego. En este caso elegimos la opcin de crear un tanque y le cambiamos el nmero de segmentos de rotacin para convertirlo en un hexaedro. Una vez redimensionado y situado en su posicin, le animamos. Nos colocamos en el primer fotograma y le aadimos un fotograma clave para guardar su posicin inicial. Moviendo slo el eje Z (o el eje Y dependiendo de cmo est orientado el escenario), el desplazamos unos cuantos metros a la izquierda y nos situamos en el fotograma 200 (el nmero de fotogramas es proporcional al tiempo que tarda en completar el movimiento). Guardamos la posicin aadiendo un fotograma clave, nos situamos en el fotograma 400 y volvemos a posicionar la hexaedro a la posicin inicial. En el momento de pulsar el fotograma clave, Cinema 4D nos crear una lnea que sigue la Fig. 32. Creando animaciones trayectoria de la plataforma (fig. 32).

Siguiendo los pasos anteriores ya tendremos hechos dos obstculos. Como este escenario se trata del Nivel 1 es necesario que no sea muy complicado porque tenemos que acostumbrar al jugador los movimientos y lmites del personaje. En el caso de este escenario he elegido un ambiente Wild West y para simular lo he aadido dos cactus, un pozo, unas cuantas piedras y dos colinas. Una vez creado todos los objetos, debemos aadir las texturas. Estas pueden ser extradas de Internet para que llevara mucho trabajo y esfuerzo hacer cada foto de cada componente en concreto. De hecho, existen programas dedicados a la realizacin y edicin de texturas.

18

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Para aplicar las texturas a los objetos, creamos un material nuevo, le aadimos la fotografa determinada para cada objeto y despus slo har falta que lo arrastramos sobre el objeto deseado. Si queremos editar el material slo tendremos que ir al editor de materiales y all tendremos una larga lista de opciones para modificar (fig. 33). Como a veces no disponemos de una fotografa con suficiente resolucin, a la hora de aplicarla sobre el objeto no quedar bien. Para solucionarlo slo har falta que le aadimos repeticiones y el mismo programa se encarg de dividir la textura.

Fig. 33. Editor de materiales

Una vez tengamos el escenario 3D completo slo deberemos exportar. Veremos que hay diferentes extensiones de exportacin. Las ms utilizadas son .OBJ (la ms internacional) y .FBX. En este caso he elegido la segunda ya que me permite exportar las animaciones. Tambin sern exportadas las texturas de cada material.

19

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Una vez tengamos el escenario exportado slo tenemos que arrastrar dentro del listado de los archivos a Unity o guardarlo en la carpeta del juego.

4.2 LA UNIN CON UNITY 3D


Una vez en Unity, cuando seleccionamos el escenario en 3D que hemos realizado con Cinema 4D, nos mostrar unos serie de opciones en la ventana del Inspector. All podemos configurar nuestra configuracin ms adecuada para nuestro nivel. Las opciones seleccionadas sern (fig. 34): Scale Factor a 0.1, redimensiona el escenario; Generate Colliders seleccionado, genera colisionadores los objetos para que el personaje pueda chocar contra ellos; Animation Wrap Modo a Loop, as la plataforma mvil sigue la trayectoria infinitamente hasta que se complete el nivel, sino slo hara una trayectoria. Todas las dems opciones las dejamos por defecto. Para controlar el personaje, Unity nos ofrece una serie de controles ya configurados y adaptados para el iOS. Cada plataforma tiene sus configuraciones ms adecuadas. Por el primer nivel he elegido la configuracin ms clsica para un dispositivo mvil tctil, movimiento en primera persona mediante dos joysticks virtuales. Slo hay que abrir el archivo FirstPersonSetup y automticamente nos crear un nuevo escenario con los archivos necesarios. Fig. 34. Inspector

Fig. 35. Todos los ficheros que corresponden al Nivel 1

20

Creacin de un videojuego para mviles multitctiles A partir de ahora slo hay que aadir todos los objetos necesarios:

Albert Devesa Triscon

Skybox: es un cuadro que simula un cielo, ya que sus paredes son imgenes del mismo.

Point Light: se trata de un punto de luz que puedes regular su intensidad, el color, la resolucin ... y, consecuentemente, provoca las sombras de los objetos. Particle System: efecto especial que, con una larga lista de opciones, puedes darle infinidad de formas como la simulacin del fuego. GUI Texture (Graphic User Interface): elementos grficos que permiten interactuar de forma mucho ms intuitiva y son impresos en la pantalla por encima del juego. Tambin es posible hacer lo mismo con textos (GUI Texto).

Todos los archivos que son importados y reconocidos a Unity tienen propiedades que pueden ser cambiadas al Inspector. Por ejemplo, una vez el personaje es importado dentro Unity nos permite dividir sus animaciones por frames (fotogramas). Simplemente seleccionamos el personaje y, en el inspector, vamos a la seccin Animations. All separamos por frames las animaciones que hemos aplicado al personaje (fig. 36). Desde el fotograma 2 al 60 hemos definido la animacin walk mientras que idle ser la animacin cuando no est en movimiento. La creacin de las animaciones est explicado en el siguiente apartado. Sin embargo, no ser suficiente para tener un personaje totalmente operativo para jugar, faltar el uso de la programacin para indicarle al programa cuando utilizar estas animaciones. Podemos encontrar las instrucciones de este procedimiento en el apartado de programacin de los scripts.

Fig. 36. Animaciones del personaje

21

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

4.3 CREACIN DEL PROTAGONISTA


Una vez realizado y situado el escenario donde se mover el personaje, es hora de hacer el protagonista del juego. Yo he decidido hacer el personaje antes de programar el juego, pero se puede hacer al revs ya que el resultado ser el mismo. En primer lugar elegimos la herramienta ZSphere pulsando sobre Tool. Creamos una bola de dimetro considerable en el modo Draw (en el caso que no lo tuviramos seleccionado) ya continuacin pulsamos Edit para que sea editable. Una vez hecho esto, slo hay que ir montando bolas sobre otras bolas ms pequeas o ms grandes dependiendo de la seccin del cuerpo. La captura siguiente marca las partes donde hemos tenido que hacer clic.

Una vez tengamos la figura hecha, pulsamos la tecla A y el mismo programa convertir la figura en una figura geomtrica ms pulida (fig. 37). En caso de que quisiramos aadir algn detalle como los orificios nasales o de las orejas, se desmarcan el modo de dibujo, pulsando a la vez la tecla Alt, y clicar sobre la parte que queremos agujerear. Ahora slo falta exportarlo en formato .OBJ para ser tratado en Cinema 4D.

22

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Fig. 37. Conversin de la figura

Con Cinema 4D abierto, es hora de aadirle articulaciones para poder crear las animaciones. Desplaguem el men Character y seleccionamos Joint Tool. Esta herramienta permite crear, mover y eliminar las articulaciones del personaje. Cambiamos a vista frontal y le aadimos las articulaciones desde los pies hasta la cabeza (fig. 38). Cuanto ms articulaciones tenga, ms real ser el movimiento pero ms difcil ser controlarlo. Cuando creemos que ya tenemos suficientes articulaciones, las alineamos con la herramienta Align ya continuacin las seleccionamos todas y aplicamos la opcin Blind. Este unir las articulaciones con el cuerpo 3D. Cinema 4D ofrece un servicio llamado BodyPaint 3D que nos servir para darle color. Primero tenemos que seguir un asistente que nos guiar y preguntar qu textura u objeto queremos pintar. Por defecto se ejecutar el pincel ya partir de ah slo tendremos que ir controlando el espesor y el color que queremos aplicar.

Fig. 38. Vista frontal con las articulaciones

23

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Finalmente, vamos al panel de animaciones y nos situamos en el primer fotograma. Elegimos la articulacin de la pierna derecha y la giramos 60 y guardamos la posicin con un fotograma clave. Hacemos el mismo proceso con la pierna izquierda y un ngulo de -60. Dentro del fotograma 60, giramos -120 para la pierna derecha y 120 para la pierna izquierda y lo guardamos. Cinema 4D ya nos har las animaciones automticamente. Ahora slo falta exportar el personaje en .FBX en la carpeta del juego para Unity lo detecte.

24

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

4.4 PROGRAMACIN DE LOS SCRIPTS


JavaScript no es un lenguaje de programacin propiamente dicho. Es un lenguaje script orientado a documentos, como pueden ser los lenguajes de macros que tienen muchos procesadores de texto. Nunca se podr hacer un programa completamente con JavaScript. Los scripts son un lenguaje de programacin que controlan aplicaciones. Los scripts son ejecutados directamente desde su cdigo fuente que, generalmente, son archivos de texto que contienen lenguajes de marcado especficos. La sintaxis de un lenguaje de programacin se define como el conjunto de reglas a seguir al escribir el cdigo fuente de los programas para considerarse como correctos para este lenguaje de programacin. Los operadores son en uno de los elementos de Operador == != < <= > >= && || ! Significat igual que diferent que ms petit que ms petit o igual que ms gran que ms gran o igual que i (operador i operador) o (operador o operador) negaci

fundamentales

cualquier

lenguaje

programacin, ya que son los que nos permiten trabajar con variables y datos. La tabla situada a la derecha expone los diferentes operadores divididos en categoras.

La sintaxis de JavaScript es muy similar a la de otros lenguajes de programacin como Java y C. Las normas bsicas que definen la sintaxis de JavaScript son las siguientes: o No se tienen en cuenta los espacios en blanco y las nuevas lneas: el intrprete de JavaScript ignora cualquier espacio en blanco sobrante, por lo que el cdigo se puede ordenar de forma adecuada para entenderlo mejor. o o Se distinguen las maysculas y minsculas: si en JavaScript se intercambian maysculas y minsculas, el script no funciona. No se define el tipo de las variables: al crear una variable, no es necesario indicar el tipo de dato que almacenar. De este modo, una misma variable puede almacenar diferentes tipos de datos durante la ejecucin del script. o No es necesario terminar cada sentencia con el carcter de punto y coma: en la mayora de lenguajes de programacin, es obligatorio terminar cada sentencia con el carcter (;). Aunque JavaScript no obliga a hacerlo, es conveniente seguir la tradicin de terminar cada sentencia con el carcter del punto y coma (;). o Se pueden incluir comentarios: comentarios se utilizan para aadir informacin en el cdigo fuente del programa. Aunque el contenido de los comentarios no se visualiza

25

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

por pantalla, si que se enva al navegador del usuario junto con el resto del script, por lo que hay que extremar las precauciones sobre la informacin incluida en los comentarios. JavaScript define dos tipos de comentarios: los de una sola lnea y los que ocupan varias lneas. A continuacin explicar scripts sencillos aplicados al juego. Los scripts enteros se pueden encontrar en el Anexo A. El siguiente explica el cambio de nivel. Cuando el jugador llega a un objeto, llamado Caja y hay choca, automticamente pasa al siguiente nivel. Para programarlo antes que nada tenemos que llamar la funcin OnTriggerEnter, clase definida por Unity, el cual detecta si un personaje entra dentro de un objeto. A continuacin aadimos una variable llamada choque que ser una colisin (Collider) y le incorporamos un condicional en su interior. Lo que programa interpreta es: si el personaje choca contra el objeto Caja, pasamos al nivel 2, sino, sigue jugando. 1. function OnTriggerEnter (choque : Collider) 2. { 3. if (choque.gameObject.name == "Caja") 4. { 5. Application.LoadLevel(2); 6. } 7. } Siempre podemos incorporar comentarios de una lnea o que ocupen varias lneas. El siguiente ejemplo aparecen ambos. 1. 2. 3. 4. 5. 6. //Esto es un comentario de una sola lnea print("Esto es un mensaje"); /* Esto es un comentario que ocupa varias lneas, es muy til si necesitamos incluir mucha informacin en los comentarios */ Nom Menu_cat Nivel 1 Nivel 2 Nivel 3 Gameover Instrucciones Menu_eng Instructions Fin N 0 1 2 3 4 5 6 7 8

Los comentarios son tiles para dejar anotaciones y nunca sern ledos ni ejecutados por el intrprete, por tanto, no implica su presencia.

26

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

El prximo script explica el comportamiento de la puerta del nivel 2. Despus de llamar la funcin OnControllerColliderHit, creamos una variable llamada hit. Cuando el personaje tope contra el objeto llamado Clave, se eliminar el objeto (con la funcin Destroy) que est etiquetado como destruccion, en este fin la puerta. As el jugador podr salir del laberinto y pasar al siguiente nivel. 1. function OnControllerColliderHit 2. (hit : ControllerColliderHit) { 3. if (hit.gameObject.name == "Clave") 4. { 5. Destroy(GameObject.FindWithTag("destruccion")); 6. } 7. } Ahora programaremos una porcin del men del propio juego. En este caso nos bastara con la funcin OnGUI ya que permite crear una gran variedad de interfaces grficas de usuario con funcionalidad completa muy rpida y fcilmente. En vez de crear un objeto de interfaz grfica de usuario, posicionndose manualmente y escribir un script que se encargue de su funcionalidad, Unity nos ofrece todo esto en una pequea cantidad de cdigo. 1. function OnGUI () { 2. if (iPhoneSettings.generation == iPhoneGeneration.iPhone4) 3. { 4. GUI.Box (Rect (320,70,350,500), "MIKU"); 5. 6. //Botn del Nivel 1 7. if (GUI.Button (Rect (400,150,200,80), "Nivel 1")) { 8. Application.LoadLevel (1); 9. } 10. } 11. } Desde la funcin GUI, creamos un Box (un fondo) y un Button (un botn). Los cuatro nmeros separados por comas indican las coordenadas de posicionamiento y su tamao. (400,150,200,80) = (coordenada X, coordenada Y, tamao X, tamao Y) En el momento que pulsamos el botn llamado Nivel 1, pasaremos al nivel 1 del juego. Tambin le aplicamos un condicional para comprobar a qu dispositivo se trata. Por ejemplo, si el juego se ejecuta en un iPhone 4 tendr el doble de resolucin que un iPhone 3G y, por tanto, los botones no estarn en la misma posicin. Se puede ver el script entero Anexo A, 27

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

el cual incluye sonido, los botones de todos los niveles, las instrucciones, los idiomas y los cambios de resolucin. El ltimo script nos muestra los movimientos utilizados por el personaje. Iniciamos la funcin Start que parar cualquier animacin que haya en el momento de iniciar el juego. Despus utilizamos la funcin Update, que permite controlar cada fotograma que pasa en el juego. Cuando el script detecte que el joystick izquierdo se mueva, el personaje automticamente utilizar la animacin walk, sino estar quieto (idle). 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. function Start () { animation.Stop(); animation.CrossFade ("idle"); } function Update () { if (Input.GetAxis("Vertical") > 0.2) animation.CrossFade ("walk"); else animation.CrossFade ("idle"); }

Acabaremos este apartado con un esquema bsico del juego:

Men (0)

Nivel 1 (1)

Nivel 2 (2)

Nivel 3 (3)

Completado

Completado

Completado

No

No

No

Nivel 2 (2)

Game Over (4)

(3)

Game Over (4)

Fin (8)

Game Over (4)

28

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

5. EXPORTACIN
Una vez hecho todos los procedimientos descritos, slo faltar exportar el juego al propio mvil. Para esta tarea podemos cambiar las configuraciones desde el men Player Settings de Unity. Podemos elegir diferentes opciones como la seleccin del icono del juego, la versin del videojuego o la versin de sistema operativo que se desea emplear (fig. 39). Establecidas las configuraciones, vamos a Build Settings y ordenamos con nmeros todas las escenas de los juegos para que el programa las pueda identificar y relacionar con el cdigo programado. Podemos elegir dos opciones: Build, que slo construir y guardar el juego, o Build & Run, este construir, guardar y ejecutar Fig. 39. Configuraci de la plataforma

directamente el juego a nuestro mvil. Vamos al destino que hemos puesto previamente y veremos un archivo compatible con XCode. La abrimos y nos aparecer una ventana con una gran lista de archivos (fig. 40). A partir de aqu podemos decidir qu hacemos con el juego. Lo podemos ejecutar en el mismo ordenador gracias a un simulador para iPhone o lo podemos ejecutar en nuestro iPhone, aunque necesitamos tener un registro como desarrollador de iOS.

29 Fig. 40. Captura de XCode

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Miku se puede encontrar App Store gratuitamente de la versin 4.0 o superior de iOS (tanto para iPad como para iPhone). Para conseguirlo tenemos que entrar iTunes Store8 desde un PC o un Mac, o bien, desde la aplicacin App Store de un dispositivo iOS. Despus vamos a la seccin Buscar y escribimos Miku. Finalmente pulsamos Buscar y seleccionamos su nombre para poder bajar.

Tanto App Store como iTunes Store son marcas registradas por Apple Inc.. Todos los dems contenidos son propiedad y

marca comercial por sus respectivos propietarios. El coste para ser desarrollador de IOS y publicar aplicaciones oficialmente por la App Store es de $ 99/any.

30

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Tambin lo podemos encontrar gratuitamente para la plataforma Android 2.0.1 o superior. Slo hay que entrar en el Android Market9, pulsar el botn de buscar, insertar el nombre de Miku y bajarlo pulsando el botn Instalar.

Android Market es una marca registrada por Google Inc.. Todos los dems contenidos son propiedad y marca

comercial por sus respectivos propietarios. El coste para ser desarrollador de Android y publicar aplicaciones oficialmente el Android Market es de $25.

31

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

6. CONCLUSIONES
En primer lugar, creo que he ido completando los objetivos marcados desde el principio. Sin tener ninguna idea concreta de cmo llegara a ser el juego, plane hacer ms del doble de niveles que he hecho. Despus, con los mnimos conocimientos que consegu y al ver que cada nivel llevaba mucho trabajo, decid volver a plantearme el juego. Me he encontrado con la gran dificultad de expresar los pasos a seguir para que sea comprensible para todos ya que se utiliza un lenguaje muy tcnico y enrevesado por quien nunca ha odo hablar de estos temas. Tambin he intentado reducir el nmero de explicaciones, ya que sino hubiera sido un trabajo con una longitud demasiado larga. No tena ningn conocimiento previo con la creacin de objetos en 3D y menos de un personaje. No tena ninguna experiencia con ningn programa trabajado con este juego y, a base de errores, me he ido familiarizando. No ha sido una tarea fcil adaptarse a las funcionalidades de cada programa, sobre todo ZBrush, el cual tiene una mecnica muy diferente a los otros programas que he probado nunca. Tena una idea equivocada: pensaba que era fcil y rpido crear un personaje en 3D por el juego. Crear un personaje es una de las tareas ms duras que hay. Hay que mirar hasta el ms mnimo detalle desde su produccin, sobre todo sus animaciones. A la hora de aplicarlo, me di cuenta que fue el trabajo ms pesada que realic en todo el juego. Incluso, poda haber hecho un trabajo aparte slo dedicado al personaje. En cambio, el apartado de programacin ha sido una de las partes ms divertidas y fciles de aportar al juego gracias al gran nmero de funcionalidades que ofrece Unity. He podido comprobar que para realizar un juego se necesita un equipo bien especializado. Como mnimo se requiere alguien que invente el argumento, otro que haga los grficos y alguien que se ocupe de la programacin y la lgica del juego. A pesar de las grandes dificultades que me he podido encontrar, he acabado haciendo un videojuego bsico y adaptado a la plataforma que me propona. Como posibles mejoras que se le podran aadir, y seguramente se aadirn a partir de actualizaciones, son enemigos con inteligencia artificial y un nuevo nivel ms para alargar la duracin del juego.

32

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

7. AGRADECIMIENTOS
Antes que nada quiero agradecer al tutor, que siempre me ha apoyado y siempre se ha mostrado a mi disposicin para lo que hiciera falta. Tambin agradezco a todos mis amigos que han probado el juego y me han dado consejos para mejorarlo, especialmente en David Palomino y Gerard Hugas. Por ltimo, agradezco a todas las personas que se han mostrado interesadas por mi trabajo y me han apoyado ya que han permitido que llegara a hacer un trabajo con este alto grado de dificultad.

8. BIBLIOGRAFA
Informacin de Unity 3D: @ http://en.wikipedia.org/wiki/Unity_%28game_engine%29 @ http://unity3d.com/unity/engine Historia de les videoconsolas: @ http://en.wikipedia.org/wiki/Video_game_console @ http://en.wikipedia.org/wiki/Handheld_game_console @ http://www.thegameconsole.com @ http://www.pixfans.com/historia-de-las-primeras-videoconsolas @ http://indicelatino.com/juegos/historia/consolas @ http://vimeo.com/1732767 Tutoriales de diseo 3D i Unity 3D: @ http://vimeo.com/3281126 @ http://forum.unity3d.com @ http://www.youtube.com/watch?v=wN9tbyJmH0U @ http://www.youtube.com/tornadotwins Programacin: @ http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.html CAE, S.A., Programacin cliente. Grfiques BDM, C.B. Valncia.

33

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

CDIGO FUENTE DEL VIDEOJUEGO

ANEXO A:

34

Creacin de un videojuego para mviles multitctiles Script del men10: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
10

Albert Devesa Triscon

var Skin1 : GUISkin; var Skin2 : GUISkin; var angles : Texture2D; var catala : Texture2D; var miku : Texture2D; var credits : GUIText; var click : AudioClip; Vides.VIDES = 4; Platans.NUMERO_PLATANS = 0; function OnGUI () { var volume : float; else //iPhone 4, iPod Touch 4 o posterior (Retina Display) { GUI.skin = Skin1; //Fons GUI.Box (Rect (330,70,320,500), "MIKU"); GUI.DrawTexture(Rect (5,8,326,624), miku); GUI.Label (Rect (280, 580, 500, 50), " Albert Devesa v1.2"); //Nivell 1 if (GUI.Button (Rect (365,155,250,120), "Nivell 1")) { audio.PlayOneShot (click); Application.LoadLevel (1); } //Nivell 2 if (GUI.Button (Rect (365,285,250,120), "Nivell 2")) { audio.PlayOneShot (click); Application.LoadLevel (2); } //Nivell 3 if (GUI.Button (Rect (365,415,250,120), "Nivell 3")) { audio.PlayOneShot (click); Application.LoadLevel (3); } //Idioma GUI.Box (Rect (665,70,280,190), "Idioma");

Slo se muestra el men para la resolucin del iPhone 4, iPod Touch 4 y para dispositivos posteriores con

Retina Display (640x960 pxeles) ya que sino el script ocupara 375 lneas, sin embargo se puede ver todos los scripts, as como imgenes y objetos creados en 3D a la siguiente direccin: http://github.com/aldevet/miku.

35

Creacin de un videojuego para mviles multitctiles 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. } 74. }

Albert Devesa Triscon

if (GUI.Button (Rect (680,130,120,120),catala)) { Application.LoadLevel (0); } if (GUI.Button (Rect (810,130,120,120),angles)) { Application.LoadLevel (6); } //So if (GUI.Button (Rect (665,280,280,90), "So")) { if (audio.volume == 1.0) { audio.volume = 0.0; audio.PlayOneShot (click); } else { audio.PlayOneShot (click); audio.volume = 1.0; } } //Instruccions if (GUI.Button (Rect (665,380,280,90), "Instruccions")) { audio.PlayOneShot (click); Application.LoadLevel (5); } //Credits if (GUI.Button (Rect (665,480,280,90), "Credits")) { audio.PlayOneShot (click); Application.LoadLevel (9); }

Script per abrir la puerta: 1. function OnControllerColliderHit 2. (hit : ControllerColliderHit) { 3. if (hit.gameObject.name == "Clau") 4. { 5. Destroy(GameObject.FindWithTag("destruccio")); 6. } 7. }

36

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Script para transformar el movimiento de la plataforma en el movimiento del personaje: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. var plataforma : Transform; var jugador : Transform; function OnTriggerEnter () { var lloc = plataforma; var anar = jugador; anar.transform.parent = lloc.transform; } function OnTriggerExit () { var anar = jugador; var lloc = plataforma; anar.transform.parent = null; }

Script del contador de pltanos: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. static var NUMERO_PLATANS = 0; function OnControllerColliderHit (cop : ControllerColliderHit) { if (cop.gameObject.tag == "platan") { Destroy(cop.gameObject); NUMERO_PLATANS += 1; GameObject.Find("numeros_platans").guiText.text = ""+NUMERO_PLATANS; } }

Script del funcionamiento de las vidas: 1. 2. 3. 4. 5. 6. 7. 8. 9. var vida1 : Texture2D; //queda 1 vida var vida2 : Texture2D; //queden 2 vides var vida3 : Texture2D; //queden 3 vides static var VIDES = 3; function Update() { switch(VIDES)

37

Creacin de un videojuego para mviles multitctiles 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. } { case 3: guiTexture.texture = vida3; break; case 2: guiTexture.texture = vida2; break; case 1: guiTexture.texture = vida1; break; case 0: //GAME OVER print("GAME OVER"); Application.LoadLevel(4); break; }

Albert Devesa Triscon

Script del funcionamiento de la cada: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. private var PosicioInicial : Vector3; function Awake() { PosicioInicial = transform.position; } function OnTriggerEnter(caiguda : Collider) { if(caiguda.gameObject.name == "caiguda") { Vides.VIDES -= 1; PosicioInicial.y = 4; transform.position = PosicioInicial; } }

Script que se ocupa del texto del contador de pltanos. 7. function Awake () { 8. guiText.text = "" + 0; 9. }

38

Creacin de un videojuego para mviles multitctiles Script del final de cada nivel

Albert Devesa Triscon

1. function OnTriggerEnter(xoc : Collider) 2. { 3. if(xoc.gameObject.name == "final") 4. { 5. Application.LoadLevel(2); //depn de cada nivell 6. } 7. }

39

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

TODA LA INFORMACIN DE LOS NIVELES

ANEXO B:

40

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

En total, el juego est compuesto por tres niveles. El primero ha sido explicado paso a paso en el trabajo. Los otros dos niveles se han creado de la misma manera que el nivel 1 pero con diferentes modos de juegos. En este apartado dejar algunas imgenes mostrando los niveles hechos a Unity as como sus configuraciones.

I. Visualizacin completa del nivel 2

II. Imagen del segundo nivel (laberinto) 41

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

Ilustracin 1

IV. Propiedades del terreno del nivel 2

III. Configuracin del efecto especial del laberinto

V. Configuracin de la luz que siguen el personaje por iluminar el laberinto 42

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

VI. Captura del tercer nivel

VII. Vista en planta del escenario del tercer nivel

43

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

BOCETOS DE LOS ESCENARIOS

ANEXO C:

44

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

45

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

46

Creacin de un videojuego para mviles multitctiles

Albert Devesa Triscon

47