48
CREACIÓN DE UN VIDEOJUEGO PARA MÓVILES MULTITÁCTILES Miku, el videojuego Albert Devesa Triscon 2º Bachillerato A INS Narcís Monturiol Tutor: Manel Niubó 31/1/2011

Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

  • Upload
    aldevet

  • View
    1.168

  • Download
    2

Embed Size (px)

DESCRIPTION

Trabajo de Investigación realizado por Albert Devesa Triscon que trata de la creación de un videojuego para móviles multitáctiles (iOS y Android). Podéis encontrar el juego en las siguientes tiendas:App Store: http://itunes.apple.com/es/app/miku-the-videogame/id417629154?mt=8Android Market: https://market.android.com/details?id=cat.android.miku&feature=search_result

Citation preview

Page 1: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

CREACIÓN DE UN VIDEOJUEGO

PARA MÓVILES MULTITÁCTILES

M iku , e l v ideo juego

Albert Devesa Triscon

2º Bachillerato A

INS Narcís Monturiol

Tutor: Manel Niubó

31/1/2011

Page 2: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Piensa dos veces antes de empezar a programar,

o terminarás programando dos veces

antes de empezar a pensar.

- Anónimo

Page 3: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

ÍNDICE

1. INTRODUCCIÓN ........................................................................................................ 3

2. EVOLUCIÓN DE LAS VIDEOCONSOLAS ............................................................... 4

2.1 PRIMERA GENERACIÓN ..................................................................................... 4

2.2 SEGUNDA GENERACIÓN ................................................................................... 5

2.3 TERCERA GENERACIÓN .................................................................................... 6

2.4 CUARTA GENERACIÓN ...................................................................................... 6

2.5 QUINTA GENERACIÓN ........................................................................................ 7

2.6 SEXTA GENERACIÓN ......................................................................................... 8

2.7 SÉPTIMA GENERACIÓN ..................................................................................... 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 DISEÑO 3D ......................................................................................................... 14

3.4 JAVASCRIPT COMO LENGUAJE DE PROGRAMACIÓN .................................. 15

4. EL VIDEOJUEGO, PASO A PASO ......................................................................... 17

4.1 DISEÑO DE LOS NIVELES ................................................................................. 17

4.2 LA UNIÓN CON UNITY 3D .................................................................................. 20

4.3 CREACIÓN DEL PROTAGONISTA .................................................................... 22

4.4 PROGRAMACIÓN DE LOS SCRIPTS ................................................................ 25

5. EXPORTACIÓN ....................................................................................................... 29

6. CONCLUSIONES ..................................................................................................... 32

7. AGRADECIMIENTOS .............................................................................................. 33

8. BIBLIOGRAFÍA ........................................................................................................ 33

ANEXO A: .................................................................................................................... 34

ANEXO B: .................................................................................................................... 40

ANEXO C: .................................................................................................................... 43

Page 4: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

3

1. INTRODUCCIÓN

Hace más de un lustro que los juegos mueven más dinero que, por ejemplo, la industria del

cine o de la música. La avalancha de los nuevos videojuegos (cada vez más realistas) y la

llegada de videoconsolas con mayor número de funcionalidades, añaden la entrada de

nuevos segmentos sociales que hasta ahora permanecían como minorías dentro de este

mercado, y que, cada vez más, 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 gustaría saber cómo se hace un videojuego y llevarlo a la

práctica. He elegido una plataforma móvil táctil porque son las videoconsolas con más

potencial que hay actualmente y con las que más experiencia he podido conseguir.

¿Por qué un mono? Siempre he querido crear un personaje imaginario y original. Quería que

fuera un animal humanizado, pero, después de trabajar con los programas de creación de

objetos y gráficos en tres dimensiones y comprobar su complejidad, creé el personaje que

me acercaba a estas características y que menos problemas me llevaba.

Empezaré investigando cómo han evolucionado las consolas a lo largo del tiempo y cuáles

predominan actualmente. Búsquedas cuáles son las acciones, métodos y programas que

deben llevar a cabo los programadores y diseñadores para elaborar y publicar un

videojuego.

Principalmente, extraeré toda la información de Internet y solucionaré muchos problemas

gracias a la ayuda de los usuarios de los foros de Unity 3D. No dispongo de ningún

conocimiento sobre el diseño en 3D, así que supondrá un gran obstáculo por culpa de su

complejidad. Por otro lado, ya he tenido experiencia en el campo de la programación y,

consecuentemente, su interpretación me será más fácil y flexible.

Finalmente, crearé un videojuego para móviles multitáctiles, 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 evolución de las consolas de videojuego a lo largo del tiempo.

✓ Conocer y aprender a utilizar las herramientas necesarias para la creación de un videojuego.

✓ Conocer la estructura de un videojuego.

✓ Crear un videojuego en 3D.

Page 5: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

4

2. EVOLUCIÓN 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 señal de vídeo que puede ser

utilizada por un dispositivo de salida (generalmente es una televisión 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 generación se clasifican según los recursos tecnológicos en aquella

época y la fecha de lanzamiento. En cambio, de la segunda a la sexta generación son

clasificadas según el número de bits 1que posee la consola.

2.1 PRIMERA GENERACIÓN

Los primeros juegos aparecieron en 1950, pero éstos utilizaban pantallas vectoriales, no de

vídeo. 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 compañía Atari. Este

evento comenzó a mover el interés ante esta nueva industria. Después de una actualización

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 electrónicas portátiles que salieron al mercado. 1 El número de bits (binary digit) es un dígito del sistema de numeración 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 receptáculo que contiene

Page 6: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

5

2.2 SEGUNDA GENERACIÓN

En octubre de 1977, el Atari 2600 fue la primera consola lanzada al mercado

estadounidense, convirtiéndose 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 número de catálogo que poseía. Esta consola fue un gran éxito y Atari

se convirtió en sinónimo de videojuegos. La consola venía acompañada 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, incluía una CPU de

16 bits. Nintendo y Sega, una de las mejores compañías de juegos hoy en día, con TV-

Game 6 y SG-1000 respectivamente, comenzaban a dar los primeros pasos a nivel

doméstico

En 1979 apareció la primera videoconsola portátil, la MB Microvision, con cartuchos

intercambiables. En cambio, en 1980, Nintendo sacó Game & Watch, una consola

electrónica portátil con 59 juegos por defecto y que no admitía 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

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 receptáculo que contiene sensores que detectan la rotación de la bola en dos ejes.

Page 7: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

6

2.3 TERCERA GENERACIÓN

A partir de la tercera generación, el mundo de las consolas comenzó a ser abolido por el

monopolio japonés. Las consolas de esta generación como NES y Sega Master System

tenían 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 versión

mejorada del Atari 5200, pero no lo consiguió.

Fig. 40. NES Fig. 11. Sega Master System Fig. 12. Atari 7800

2.4 CUARTA GENERACIÓN

En 1983, Nec y Hydon sacaron a la luz la consola PCEngine (en Japón) o TurboGrafx (en el

resto del mundo) que también tenía una CPU de 8 bits pero con un chip gráfico de 16 bits.

La consola más relevante de esta generación 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 año. Neo Geo fue la consola más potente de

esta generación pero era muy cara.

Los chips gráficos añadidos a los cartuchos destacaban en esta generación. Aparecen

también conceptos como la multitarea, multimedia, gráficos vectoriales, etc. Super Nintendo

fue la consola más vendida con 49 millones de unidades en Japón.

Fig. 13. PCEngine/TurboGrafx-16 Fig. 14. Sega Mega Drive Fig. 15. Super Nintedo

Page 8: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

7

Game Boy de Nintendo fue y aún es una de las consolas portátiles más

vendidas de la historia gracias a la llegada del juego Tetris y el

grandísimo apoyo de las compañías que trabajaban para NES. En

1989, para competir con la Game Boy, Sega creó la Game Gear, la

tercera videoconsola portátil en color.

2.5 QUINTA GENERACIÓN

Entorno en 1994, se dejó de utilizar el 2D al ponerse de moda los entornos tridimensionales

3D, aprovechando al máximo el hardware de los equipos. Esta generación 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. También 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

aún perdura.

Básicamente el mercado estaba dominado por tres consolas, Sega Saturn, PlayStation y

Nintendo. Esta generación también vio dos versiones actualizadas de la Game Boy: la

Game Boy Color y Game Boy Light (esta última sólo estaba disponible en Japón). Apple

también 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

Fig. 16. Game Boy

Page 9: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

8

2.6 SEXTA GENERACIÓN

Las consolas de esta generación se mejoraron gracias a la introducción 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 más largos y más

atractivos visualmente. Las nuevas memorias flash y los discos duros implantados en esta

generación 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 versión

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 generación y

la primera de Microsoft. También utiliza un reproductor DVD, con conexión online y un disco

duro integrado.

Las videoconsolas portátiles también 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. Además, era capaz de ejecutar los juegos compatibles con Game Boy (cuarta

generación) y la Game Boy Color (quinta generación). En 2003, Nokia, una de las

principales empresas del sector de las telecomunicaciones, sacó la N-Gage, el primer

teléfono móvil y consola portátil a la vez.

Fig. 20. PlayStation 2 Fig. 21. Xbox Fig. 22. GameCube

4 Este nuevo soporte óptico fue implantado por Sega con el objetivo de parar la piratería de software, que era

relativamente fácil en las consolas de la generación anterior ya que coincidió con la salida al mercado de las

primeras grabadoras de CD-ROM. Aún así este nuevo sistema fue violado poco tiempo después de su

lanzamiento. 5 GOD (GameCube Optical Disc) fue el formato de distribución de los videojuegos de Nintendo. Actualmente se

emplea la Wii Optical Disc para la consola Wii. 6 ARM (Advanced RISC Machines) son microprocesadores RISC diseñados por la empresa Acorn Computers y

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

Page 10: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

9

2.7 SÉPTIMA GENERACIÓN

Esta actual generación se caracteriza por la introducción de la tecnología multi núcleo 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 año, 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 detección de la aceleración 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

portátiles. PlayStation Portable, o simplemente PSP, tenía más potencia gráfica 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 más, con

nuevas mejoras. La Nintendo DS también ha tenido el mismo número de versiones y la

última, la cuarta, con tecnología 3D (efecto tridimensional de su pantalla), será la encargada

de estrenar la octava generación de consolas cuando se tire en febrero de 2011.

Fig. 26. PSP Go! Fig. 27. Nintendo 3DS

Page 11: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

10

2.8 EL AUGE DEL IPHONE Y ANDROID

Cada vez hay más demanda en el sector de los videojuegos para móviles de última

generación. Estos móviles, llamados smartphones, cada vez tienen más capacidad para

ejecutar juegos como lo haría una de las videoconsolas portátiles citadas antes.

A finales de 2007, Apple introdujo su primer smartphone, el iPhone. Fue uno de los primeros

en utilizar una interfaz multitáctil. En julio de 2008, Apple lanzó un

nuevo modelo con un precio menor y apoyo 3G. A partir de la versión

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 táctiles, el abandono de

los teclados o la importancia de las tiendas de aplicaciones.

El sistema operativo Android, desarrollado por Google, apareció para

smartphones el año 2008 para contraatacar el iPhone de Apple. Se

trata de un sistema operativo de código 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, navegación, etc. Las aplicaciones de terceros están

disponibles en el Android Market, el principal competidor de la App

Store.

Fig. 28. iPhone 4

executant l’App Store

Fig. 29. HTC Desire

amb Android 2.2

Page 12: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

11

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 estadística muestra las

consolas más vendidas (unidades en millones) durante los últimos 25 años (actualizado el

mes enero de 2011):

La industria de los videojuegos es un mercado que mueve más dinero que la industria del

cine y va creciendo año tras año. Por este motivo, multinacionales como Sony o Microsoft

han invertido miles de millones de dólares en el desarrollo de sus nuevas consolas,

conscientes de que si las cosas les salen bien amortizarán el dinero gastado.

El siguiente gráfico, realizado por Newzoo © durante el 2010, muestra el número de

personas entre 10 años y superior que juega en unas específicas consolas portátiles. Desde

la llegada de la App Store, el número 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.

0 20 40 60 80

100 120 140 160

Pla

ySta

tion

2

Nin

tend

o D

S

Gam

e B

oy

Pla

ySta

tion

Gam

e B

oy A

dvan

ce

Wii

PS

P

NE

S

Sup

er N

inte

do

Xbo

x 36

0

Pla

ySta

tion

3

Nin

tend

o 64

Ata

ri 26

00

Meg

aDriv

e

Xbo

x

Gam

eCub

e

Mas

ter S

yste

m

Gam

eGea

r

Dre

amC

ast

Turb

oGra

fx

Sat

urn

Col

ecov

isio

n

Inte

llivi

sion

Page 13: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

12

3. HERRAMIENTAS PARA CREAR UN JUEGO

Son muchas las herramientas que se pueden utilizar para la elaboración de un juego. Entre

estas, he utilizado las herramientas más flexibles y fáciles de utilizar, sobre todo en el ámbito

3D. También he intentado crear un juego fácil, simple y apto para todos. De las

características que me ofrece la exportación de Unity 3D, me he centrado en la plataforma

móvil.

3.1 CONOCIMIENTOS PREVIOS

Además de tener conocimientos de programación, hay que tener agilidad para moverse

entre programas, adaptarse a lo que te pide y saber los límites de este. Hay que tener una

mente clara a la hora de escribir programación, 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 programación 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

creación de un juego, aun transforma el lenguaje JavaScript, C # o Boo a Objective-C para

ser compilado y ejecutado al iOS. También se ocupa del apartado de la física, aunque se

necesita un mínimo 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 vídeo u otro

contenido interactivo como visualizaciones arquitectónicas 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 también, para PlayStation 3 y Xbox

360. También 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 más potente, al igual que el Xbox 360.

Page 14: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

13

Miku se empezó a desarrollar con Unity iPhone 1.7, ya que Unity estaba separado por

plataformas. Con la nueva versión 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 gráficos, Direct3D en el caso de

Windows, OpenGL Mac y también Windows, OpenGL ES únicamente para iOS y APIs

propietarias como Wii.

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. Jerarquía: ficheros que sólo 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.

También informa de los recursos que se emplean en ese preciso momento.

Page 15: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

14

3.3 DISEÑO 3D

Para hacer todo el diseño 3D del juego, se han utilizado dos programas: Cine 4D y ZBrush. El primero

es un programa de creación de gráficos y animación 3D desarrollado por Commodore Amiga por la

compañía alemana Maxon, y llevado posteriormente a las plataformas Windows, Linux y Macintosh.

Permite el modelado de primitivas, splines 7 y polígonos, texturización y animación. Este

programa se encargará de los escenarios 3D.

7 Un spline es una curva definida en porciones mediante polinomios.

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: posición, tamaño y rotación 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. También se pueden seleccionar desde el menú de arriba.

7. Animación: permite animar los objetos y visualizar su comportamiento en cada

fotograma.

Page 16: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

15

En cambio, ZBrush me permite crear el protagonista del juego gracias al original

planteamiento de su proceso creativo para personajes. Lo utilizan compañías de gran escala

como Electronic Arts o también para películas, como El señor de los Anillos.

3.4 JAVASCRIPT COMO LENGUAJE DE PROGRAMACIÓN

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 estándar ECMAScript. Es conocido sobre

todo por su uso en páginas web, pero también se utiliza en otras aplicaciones. A pesar de su

nombre, JavaScript no deriva del lenguaje de programación Java, pero ambos comparten

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 más 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.

Page 17: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

16

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 integración con Unity.

Fig. 30. Captura de Unitron

Page 18: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

17

4. EL VIDEOJUEGO, PASO A PASO

En los siguientes apartados iré explicando los conceptos fundamentales para la realización

del juego y los pasos que he ido siguiendo hasta su publicación. La mejor manera de

diseñar y programar un juego es planificar desde el principio toda la mecánica, los objetivos

y las funcionalidades, sino sería muy difícil que fuera terminado con éxito.

4.1 DISEÑO DE LOS NIVELES

Después de haber planteado y dibujado a mano el nivel en una plantilla podemos proceder a

su creación 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 número

de segmentos y lo hacemos editable. Cuanto más segmentos tenga más pequeños serán

los cortes y más precisión tendremos, pero el juego tardará más en procesar. En la siguiente

captura de pantalla he resaltado los lugares que hemos tenido que ir pulsando.

Page 19: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

18

A continuación empezamos a crear los obstáculos que

previamente hemos dibujado. El primer obstáculo para el

jugador será saltar en tres bloques sin caer al fuego.

Para su creación seleccionamos el número de

cuadrados y extrusionado el terreno con la herramienta

“Extrude”. Después creamos un cilindro, el

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).

El próximo obstáculo será saltar sobre una plataforma móvil sin caer al fuego. En este caso

elegimos la opción de crear un tanque y le cambiamos el número de segmentos de rotación

para convertirlo en un hexaedro. Una vez redimensionado y situado en su posición, le

animamos. Nos colocamos en el primer fotograma y le añadimos un fotograma clave para

guardar su posición inicial. Moviendo sólo el eje Z (o el eje Y dependiendo de cómo esté

orientado el escenario), el desplazamos unos cuantos metros a la izquierda y nos situamos

en el fotograma 200 (el número de fotogramas

es proporcional al tiempo que tarda en

completar el movimiento). Guardamos la

posición añadiendo un fotograma clave, nos

situamos en el fotograma 400 y volvemos a

posicionar la hexaedro a la posición inicial. En

el momento de pulsar el fotograma clave,

Cinema 4D nos creará una línea que sigue la

trayectoria de la plataforma (fig. 32).

Siguiendo los pasos anteriores ya tendremos hechos dos obstáculos. Como este escenario

se trata del Nivel 1 es necesario que no sea muy complicado porque tenemos que

acostumbrar al jugador los movimientos y límites del personaje. En el caso de este

escenario he elegido un ambiente Wild West y para simular lo he añadido dos cactus, un

pozo, unas cuantas piedras y dos colinas.

Una vez creado todos los objetos, debemos añadir las texturas. Estas pueden ser extraídas

de Internet para que llevaría mucho trabajo y esfuerzo hacer cada foto de cada componente

en concreto. De hecho, existen programas dedicados a la realización y edición de texturas.

Fig. 32. Creando animaciones

Fig. 31. Creación de tres bloques

Page 20: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

19

Para aplicar las texturas a los objetos, creamos un material nuevo, le añadimos la fotografía

determinada para cada objeto y después sólo hará falta que lo arrastramos sobre el objeto

deseado. Si queremos editar el material sólo 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 fotografía con suficiente resolución, a la hora de aplicarla sobre el objeto no quedará

bien. Para solucionarlo sólo hará falta que le añadimos repeticiones y el mismo programa se

encargó de dividir la textura.

Una vez tengamos el escenario 3D completo sólo deberemos exportar. Veremos que hay

diferentes extensiones de exportación. Las más utilizadas son .OBJ (la más internacional) y

.FBX. En este caso he elegido la segunda ya que me permite exportar las animaciones.

También serán exportadas las texturas de cada material.

Fig. 33. Editor de materiales

Page 21: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

20

Una vez tengamos el escenario exportado sólo tenemos que arrastrar dentro del listado de

los archivos a Unity o guardarlo en la carpeta del juego.

4.2 LA UNIÓN 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 configuración más adecuada para

nuestro nivel. Las opciones seleccionadas serán (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 móvil sigue la

trayectoria infinitamente hasta que se complete el nivel, sino

sólo haría una trayectoria. Todas las demás 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 más adecuadas. Por el

primer nivel he elegido la configuración más clásica para un

dispositivo móvil táctil, movimiento en primera persona

mediante dos joysticks virtuales. Sólo hay que abrir el

archivo FirstPersonSetup y automáticamente nos creará un

nuevo escenario con los archivos necesarios.

Fig. 34. Inspector

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

Page 22: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

21

A partir de ahora sólo hay que añadir todos los objetos necesarios:

• Skybox: es un cuadro que simula un cielo, ya que sus paredes son imágenes del

mismo.

• Point Light: se trata de un punto de luz que puedes regular su intensidad, el color, la

resolución ... 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 simulación del fuego.

• GUI Texture (Graphic User Interface): elementos gráficos que permiten interactuar

de forma mucho más intuitiva y son impresos en la pantalla por encima del juego.

También 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 sección Animations. Allí

separamos por frames las animaciones que hemos aplicado

al personaje (fig. 36). Desde el fotograma 2 al 60 hemos

definido la animación walk mientras que idle será la

animación cuando no esté en movimiento. La creación 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

programación para indicarle al programa cuando utilizar

estas animaciones. Podemos encontrar las instrucciones de

este procedimiento en el apartado de programación de los

scripts.

Fig. 36. Animaciones del

personaje

Page 23: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

22

4.3 CREACIÓN 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 revés ya que el resultado será el mismo.

En primer lugar elegimos la herramienta ZSphere pulsando sobre Tool. Creamos una bola

de diámetro considerable en el modo Draw (en el caso que no lo tuviéramos seleccionado)

ya continuación pulsamos Edit para que sea editable. Una vez hecho esto, sólo hay que ir

montando bolas sobre otras bolas más pequeñas o más grandes dependiendo de la sección

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 geométrica más pulida (fig. 37). En caso de que quisiéramos añadir

algún 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 sólo

falta exportarlo en formato .OBJ para ser tratado en Cinema 4D.

Page 24: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

23

Con Cinema 4D abierto, es hora de añadirle 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

añadimos las articulaciones desde los pies hasta la cabeza

(fig. 38). Cuanto más articulaciones tenga, más real será el

movimiento pero más difícil será controlarlo.

Cuando creemos que ya tenemos suficientes articulaciones,

las alineamos con la herramienta Align ya continuación las

seleccionamos todas y aplicamos la opción 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í sólo tendremos que ir controlando el espesor y el color que queremos aplicar.

Fig. 37. Conversión de la figura

Fig. 38. Vista frontal con

las articulaciones

Page 25: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

24

Finalmente, vamos al panel de animaciones y nos situamos en el primer fotograma.

Elegimos la articulación de la pierna derecha y la giramos 60º y guardamos la posición 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 automáticamente. Ahora

sólo falta exportar el personaje en .FBX en la carpeta del juego para Unity lo detecte.

Page 26: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

25

4.4 PROGRAMACIÓN DE LOS SCRIPTS

JavaScript no es un lenguaje de programación 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 programación que controlan aplicaciones. Los scripts son

ejecutados directamente desde su código fuente que, generalmente, son archivos de texto

que contienen lenguajes de marcado específicos.

La sintaxis de un lenguaje de programación se define

como el conjunto de reglas a seguir al escribir el

código fuente de los programas para considerarse

como correctos para este lenguaje de programación.

Los operadores son uno de los elementos

fundamentales en cualquier lenguaje de

programación, ya que son los que nos permiten

trabajar con variables y datos. La tabla situada a la

derecha expone los diferentes operadores divididos

en categorías.

La sintaxis de JavaScript es muy similar a la de otros lenguajes de programación como Java

y C. Las normas básicas que definen la sintaxis de JavaScript son las siguientes:

o No se tienen en cuenta los espacios en blanco y las nuevas líneas: el intérprete de

JavaScript ignora cualquier espacio en blanco sobrante, por lo que el código se

puede ordenar de forma adecuada para entenderlo mejor.

o Se distinguen las mayúsculas y minúsculas: si en JavaScript se intercambian

mayúsculas y minúsculas, el script no funciona.

o 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 ejecución del script.

o No es necesario terminar cada sentencia con el carácter de punto y coma: en la

mayoría de lenguajes de programación, es obligatorio terminar cada sentencia con el

carácter (;). Aunque JavaScript no obliga a hacerlo, es conveniente seguir la tradición

de terminar cada sentencia con el carácter del punto y coma (;).

o Se pueden incluir comentarios: comentarios se utilizan para añadir información en el

código fuente del programa. Aunque el contenido de los comentarios no se visualiza

Operador Significat

== igual que

!= diferent que

< més petit que

<= més petit o igual que

> més gran que

>= més gran o igual que

&& i (operador i operador)

|| o (operador o operador)

! negació

Page 27: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

26

por pantalla, si que se envía al navegador del usuario junto con el resto del script, por

lo que hay que extremar las precauciones sobre la información incluida en los

comentarios. JavaScript define dos tipos de comentarios: los de una sola línea y los

que ocupan varias líneas.

A continuación 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, automáticamente pasa al

siguiente nivel. Para programarlo antes que nada tenemos que

llamar la función OnTriggerEnter, clase definida por Unity, el cual

detecta si un personaje entra dentro de un objeto. A continuación

añadimos una variable llamada choque que será una colisión

(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) { if (choque.gameObject.name == "Caja") { Application.LoadLevel(2); } }

2. 3. 4. 5. 6. 7.

Siempre podemos incorporar comentarios de una línea o que ocupen varias líneas. El

siguiente ejemplo aparecen ambos.

1. //Esto es un comentario de una sola línea print("Esto es un mensaje"); /* Esto es un comentario que ocupa varias líneas, es muy útil si necesitamos incluir mucha información en los comentarios */

2. 3. 4. 5. 6.

Los comentarios son útiles para dejar anotaciones y nunca serán leídos ni ejecutados por el

intérprete, por tanto, no implica su presencia.

Nom Nº

Menu_cat 0

Nivel 1 1

Nivel 2 2

Nivel 3 3

Gameover 4

Instrucciones 5

Menu_eng 6

Instructions 7

Fin 8

Page 28: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

27

El próximo script explica el comportamiento de la puerta del nivel 2. Después de llamar la

función OnControllerColliderHit, creamos una variable llamada hit. Cuando el

personaje tope contra el objeto llamado Clave, se eliminará el objeto (con la función

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 (hit : ControllerColliderHit) { if (hit.gameObject.name == "Clave") { Destroy(GameObject.FindWithTag("destruccion")); } }

2. 3. 4. 5. 6. 7.

Ahora programaremos una porción del menú del propio juego. En este caso nos bastaría

con la función OnGUI ya que permite crear una gran variedad de interfaces gráficas de

usuario con funcionalidad completa muy rápida y fácilmente. En vez de crear un objeto de

interfaz gráfica de usuario, posicionándose manualmente y escribir un script que se

encargue de su funcionalidad, Unity nos ofrece todo esto en una pequeña cantidad de

código.

1. function OnGUI () { if (iPhoneSettings.generation == iPhoneGeneration.iPhone4) { GUI.Box (Rect (320,70,350,500), "MIKU"); //Botón del Nivel 1 if (GUI.Button (Rect (400,150,200,80), "Nivel 1")) { Application.LoadLevel (1); } } }

2. 3. 4. 5. 6. 7. 8. 9.

10. 11.

Desde la función GUI, creamos un Box (un fondo) y un Button (un botón). Los cuatro

números separados por comas indican las coordenadas de posicionamiento y su tamaño.

(400,150,200,80) = (coordenada X, coordenada Y, tamaño X, tamaño Y)

En el momento que pulsamos el botón llamado Nivel 1, pasaremos al nivel 1 del juego.

También 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 resolución que un iPhone 3G y, por

tanto, los botones no estarán en la misma posición. Se puede ver el script entero Anexo A,

Page 29: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

28

el cual incluye sonido, los botones de todos los niveles, las instrucciones, los idiomas y los

cambios de resolución.

El último script nos muestra los movimientos utilizados por el personaje. Iniciamos la función

Start que parará cualquier animación que haya en el momento de iniciar el juego. Después

utilizamos la función Update, que permite controlar cada fotograma que pasa en el juego.

Cuando el script detecte que el joystick izquierdo se mueva, el personaje automáticamente

utilizará la animación walk, sino estará quieto (idle).

1. function Start () { animation.Stop(); animation.CrossFade ("idle"); } function Update () { if (Input.GetAxis("Vertical") > 0.2) animation.CrossFade ("walk"); else animation.CrossFade ("idle"); }

2. 3. 4. 5. 6. 7. 8. 9.

10. 11. 12. 13.

Acabaremos este apartado con un esquema básico del juego:

Menú (0)

Nivel 1 (1)

Completado

Nivel 2 (2)

No

Game Over (4)

Nivel 2 (2)

Completado

(3)

No

Game Over (4)

Nivel 3 (3)

Completado

Fin (8)

No

Game Over (4)

Page 30: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

29

5. EXPORTACIÓN

Una vez hecho todos los procedimientos descritos,

sólo faltará exportar el juego al propio móvil. Para

esta tarea podemos cambiar las configuraciones

desde el menú Player Settings de Unity. Podemos

elegir diferentes opciones como la selección del

icono del juego, la versión del videojuego o la

versión de sistema operativo que se desea

emplear (fig. 39).

Establecidas las configuraciones, vamos a Build

Settings y ordenamos con números todas las

escenas de los juegos para que el programa las

pueda identificar y relacionar con el código

programado. Podemos elegir dos opciones: Build,

que sólo construirá y guardará el juego, o Build &

Run, este construirá, guardará y ejecutará

directamente el juego a nuestro móvil.

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.

Fig. 39. Configuració de la plataforma

Fig. 40. Captura de XCode

Page 31: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

30

Miku se puede encontrar App Store gratuitamente de la versión 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 aplicación App Store de un dispositivo iOS. Después vamos a

la sección Buscar y escribimos Miku. Finalmente pulsamos Buscar y seleccionamos su

nombre para poder bajar.

8 Tanto  App  Store  como  iTunes  Store  son  marcas  registradas  por  Apple  Inc..  Todos  los  demás  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.  

Page 32: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

31

También lo podemos encontrar gratuitamente para la plataforma Android 2.0.1 o superior.

Sólo hay que entrar en el Android Market9, pulsar el botón de buscar, insertar el nombre de

Miku y bajarlo pulsando el botón Instalar.

9 Android Market es una marca registrada por Google Inc.. Todos los demás 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.

Page 33: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

32

6. CONCLUSIONES

En primer lugar, creo que he ido completando los objetivos marcados desde el principio. Sin

tener ninguna idea concreta de cómo llegaría a ser el juego, planeé hacer más del doble de

niveles que he hecho. Después, con los mínimos 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 técnico y enrevesado por quien

nunca ha oído hablar de estos temas. También he intentado reducir el número de

explicaciones, ya que sino hubiera sido un trabajo con una longitud demasiado larga.

No tenía ningún conocimiento previo con la creación de objetos en 3D y menos de un

personaje. No tenía ninguna experiencia con ningún programa trabajado con este juego y, a

base de errores, me he ido familiarizando. No ha sido una tarea fácil adaptarse a las

funcionalidades de cada programa, sobre todo ZBrush, el cual tiene una mecánica muy

diferente a los otros programas que he probado nunca.

Tenía una idea equivocada: pensaba que era fácil y rápido crear un personaje en 3D por el

juego. Crear un personaje es una de las tareas más duras que hay. Hay que mirar hasta el

más mínimo detalle desde su producción, sobre todo sus animaciones. A la hora de aplicarlo,

me di cuenta que fue el trabajo más pesada que realicé en todo el juego. Incluso, podía

haber hecho un trabajo aparte sólo dedicado al personaje. En cambio, el apartado de

programación ha sido una de las partes más divertidas y fáciles de aportar al juego gracias

al gran número de funcionalidades que ofrece Unity.

He podido comprobar que para realizar un juego se necesita un equipo bien especializado.

Como mínimo se requiere alguien que invente el argumento, otro que haga los gráficos y

alguien que se ocupe de la programación y la lógica del juego.

A pesar de las grandes dificultades que me he podido encontrar, he acabado haciendo un

videojuego básico y adaptado a la plataforma que me proponía. Como posibles mejoras que

se le podrían añadir, y seguramente se añadirán a partir de actualizaciones, son enemigos

con inteligencia artificial y un nuevo nivel más para alargar la duración del juego.

Page 34: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

33

7. AGRADECIMIENTOS

Antes que nada quiero agradecer al tutor, que siempre me ha apoyado y siempre se ha

mostrado a mi disposición para lo que hiciera falta. También 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. BIBLIOGRAFÍA

Información 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 diseño 3D i Unity 3D:

@ http://vimeo.com/3281126

@ http://forum.unity3d.com

@ http://www.youtube.com/watch?v=wN9tbyJmH0U

@ http://www.youtube.com/tornadotwins

Programación:

@ http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.html

CAE, S.A., Programación cliente. Gràfiques BDM, C.B. – València.

Page 35: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

34

ANEXO A: CÓDIGO FUENTE DEL VIDEOJUEGO

Page 36: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

35

Script del menú10:

1. 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");

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 Sólo se muestra el menú para la resolución del iPhone 4, iPod Touch 4 y para dispositivos posteriores con

Retina Display (640x960 píxeles) ya que sino el script ocuparía 375 líneas, sin embargo se puede ver todos los

scripts, así como imágenes y objetos creados en 3D a la siguiente dirección: http://github.com/aldevet/miku.

Page 37: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

36

42. 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); } } }

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.

Script per abrir la puerta:

1. function OnControllerColliderHit (hit : ControllerColliderHit) { if (hit.gameObject.name == "Clau") { Destroy(GameObject.FindWithTag("destruccio")); } }

2. 3. 4. 5. 6. 7.

Page 38: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

37

Script para transformar el movimiento de la plataforma en el movimiento del personaje:

1. 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; }

2. 3. 4. 5. 6. 7. 8. 9.

10. 11. 12. 13. 14. 15. 16.

Script del contador de plátanos:

1. 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; } }

2. 3. 4. 5. 6. 7. 8. 9.

10. 11. 12.

Script del funcionamiento de las vidas:

1. 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)

2. 3. 4. 5. 6. 7. 8. 9.

Page 39: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

38

Script del funcionamiento de la caída:

1. 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; } }

2. 3. 4. 5. 6. 7. 8. 9.

10. 11. 12. 13. 14. 15. 16.

Script que se ocupa del texto del contador de plátanos.

7. function Awake () { guiText.text = "" + 0; }

8. 9.

10. { 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; } }

11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.

Page 40: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

39

Script del final de cada nivel

1. function OnTriggerEnter(xoc : Collider) { if(xoc.gameObject.name == "final") { Application.LoadLevel(2); //depèn de cada nivell } }

2. 3. 4. 5. 6. 7.

Page 41: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

40

ANEXO B: TODA LA INFORMACIÓN DE LOS NIVELES

Page 42: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

41

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 imágenes mostrando los

niveles hechos a Unity así como sus configuraciones.

I. Visualización completa del nivel 2

II. Imagen del segundo nivel (laberinto)

Page 43: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

42

III. Configuración del efecto

especial del laberinto

Ilustración 1

IV. Propiedades del terreno del nivel 2

V. Configuración de la luz que siguen el personaje por

iluminar el laberinto

Page 44: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

43

VI. Captura del tercer nivel

VII. Vista en planta del escenario del tercer nivel

Page 45: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

44

ANEXO C:

BOCETOS DE LOS ESCENARIOS

Page 46: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

45

Page 47: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

46

Page 48: Creación de un videojuego para móviles multitáctiles - Trabajo de Investigación

Creación de un videojuego para móviles multitáctiles Albert Devesa Triscon

47