Está en la página 1de 30

Universidad Tecnológica Fidel Velázquez

Ingeniería en Desarrollo y Gestión de Software


1001
Desarrollo de un videojuego sobre el motor Unity
M. Víctor Rodríguez Santos
De Jesús Ramírez Josué
Gutiérrez Lopez Diego Enrique
Gutiérrez Salto Saúl Uriel
Martínez Ramírez José Guadalupe
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

Contenido
1. Introducción..............................................................................................................................4
1.1. Justificación......................................................................................................................4
1.2. Objetivo General..............................................................................................................5
1.3. Objetivos específicos......................................................................................................5
1.4. Metodología......................................................................................................................5
2. Historia......................................................................................................................................6
2.1. Propuesta........................................................................................................................10
3. Casos de Uso............................................................................................................................11
4. Herramientas de Hardware......................................................................................................11
5. Herramientas de Software.......................................................................................................12
5.1 Unity3D.............................................................................................................................12
5.2. Base de Datos....................................................................................................................13
5.2.1. SQLite..........................................................................................................................13
6. Presupuesto...............................................................................................................................16
7. Plan de Trabajo (Gantt)........................................................................................................17
8. Diseño.........................................................................................................................................19
8.1. Interfaz................................................................................................................................19
8.2. Assets..................................................................................................................................19
8.3. Scenes................................................................................................................................19
8.4. GameObjects......................................................................................................................21
8.5. Colliders..............................................................................................................................21
8.6.2. AudioSource................................................................................................................22
8.6.3. Rigidbody.....................................................................................................................22
8.7. Scripts..................................................................................................................................23
9. Arquitectura software................................................................................................................23
10. Implementación.......................................................................................................................24
10.1. Héroe.................................................................................................................................24
10.2 Género...............................................................................................................................24
10.3 Público objetivo.................................................................................................................24
10.4 Historia...............................................................................................................................24
10.5 Personajes.........................................................................................................................25
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

11. Manual de Usuario..................................................................................................................25


12. Conclusiones...........................................................................................................................27
13. Glosario....................................................................................................................................28
14. Bibliografía...................................................................................¡Error! Marcador no definido.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

1. Introducción

Hoy en día los videojuegos están en todas partes, en dispositivos portátiles con los
que estamos en contacto constante, como teléfonos inteligentes y tabletas, así
como en una variedad de plataformas, incluidas computadoras, dispositivos de
realidad virtual y consolas de juegos. La industria actual ofrece una amplia gama
de títulos en diferentes géneros o subgéneros, así como una amplia gama de
opciones gráficas para una muy amplia gama de espectadores. Todo esto ha
creado un auge en la industria de los videojuegos, aumentando la demanda de
talento y herramientas de desarrollo en constante evolución. Los consumidores
quieren entretenimiento con videojuegos. En resumen, estamos constantemente
desarrollando cosas nuevas e innovadoras que cautiven a nuestros espectadores
y satisfagan sus expectativas y necesidades. Para mejorar nuestras habilidades
de diseño y desarrollo, este proyecto ofrece una gran oportunidad para hacerlo y
presenta todo lo que hemos aprendido a través de la investigación en diferentes
disciplinas. Proporcionaremos un enfoque general y sencillo al juego, haciendo
que todos los controles y funciones proporcionados por el juego sean lo más
intuitivos posible, con el objetivo de brindar una experiencia satisfactoria para el
jugador.
1.1. Justificación
En los últimos años el sector de los videojuegos tiene un excelente boom. Cada
año, seguimos rompiendo números relacionados con las ventas y continúa
creciendo cada año pese a la crisis mundial que pasamos recientemente sigue
estando a la orden del día. Al mismo tiempo, el uso de teléfonos inteligentes y
tabletas como dispositivos de entretenimiento de videojuegos está creciendo en
popularidad, ya que muchos de ellos están a la par de una computadora o consola
tradicional desde el punto de vista del rendimiento. Las tiendas convencionales
como Playstore e iTunes están llenas de juegos desarrollados tanto por grandes
desarrolladores como por estudios independientes. La fase de desarrollo de los
videojuegos siempre ha sido muy cara y ha requerido mucho personal. Pero ahora
hay una cultura de empresas independientes, o lo que ellos mismos llaman
empresas independientes. Actualmente existen muchas herramientas que facilitan
la creación de videojuegos para equipos pequeños y medianos, entre ellas Unity,
el motor utilizado en este proyecto. Esto puede reducir significativamente el tiempo
de desarrollo y aumentar la disponibilidad de este tipo de juegos. Muchas de las
empresas mencionadas anteriormente utilizan estas herramientas. Incluso por
educación como es nuestro caso.
El principal impulso para la creación de este videojuego es aprovechar el potencial
desde una variedad de plataformas (PC, dispositivos móviles) con un alto grado de
usabilidad.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

1.2. Objetivo General

El objetivo de este trabajo es desarrollar un videojuego usando Motor de


videojuegos Unity 3D. La función principal es la creación de un juego
multiplataforma. Dos de ellas son Windows y Android, los S.O más importantes del
mundo.
No pretendemos hacer un juego extenso, es una demostración de nuestras
capacidades. Una vez hecho esto, se considerarán posibles ampliaciones del
proyecto y posibles mejoras
1.3. Objetivos específicos
Se crearán 5 niveles diferentes con diferentes escenarios, obstáculos y objetivos.
Las características principales de este género.
También incluye funciones básicas como el menú Inicio, la pantalla de selección
de nivel, el menú de configuración de efectos y sonido, el menú de pausa, reiniciar
el nivel y avanzar al siguiente nivel.
1.4. Metodología
Se implementará el siguiente plan de trabajo.
Diseño de juegos usando GDD
Crear un diagrama de Gantt para la planificación de proyectos.
Búsqueda de recursos audiovisuales.
Boceto del héroe.
Dibujar un personaje y una animación.
Programación de videojuegos o Menús e interfaz de programación.
Pantalla de introducción.
Interfaz del juego.
Programación y animación del personaje principal.
Programación e integración de entornos con diversos objetos.
Programación de controles multiplataforma.
Control de la plataforma Windows mediante teclado y ratón.
Prueba en varios dispositivos Android.
Elaboración de documentos.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

2. Historia
Década de 1980: la infancia de los videojuegos
Muchos juegos clásicos que todavía se mantienen fuertes hoy en día salieron en
la década de 1980: Pac-Man (1980), Ultima (1980), Mario Bros (1983), Tetris
(1984) y SimCity (1989). A principios de la década, no solo el mercado estaba
inundado de innumerables consolas nuevas, sino que comenzaron a aparecer
computadoras domésticas cada vez más baratas y potentes. En 1983 el mercado
de las consolas colapsó. Muchas empresas, entre ellas Atari, pionera en juegos y
de gran éxito en la industria, quebraron. Pero antes de eso, Atari logró lanzar el
juego E.T. (1982), todavía considerado el peor videojuego de todos los tiempos
gracias a sus gráficos toscos y su complicada jugabilidad. De los escombros de la
industria surgieron las firmas Commodore, con su computadora doméstica
Commodore 64 (1982), y Nintendo, con la consola Nintendo Entertainment
System, o NES para abreviar (1985). Con las tecnologías más refinadas, los
juegos avanzaron hacia nuevas esferas; el juego y los gráficos se volvieron más
innovadores. Los juegos tenían sus propios personajes e historias más complejas.
La mayoría de los géneros como los conocemos hoy en día tienen su origen en
este período. El Commodore 64 incluso permitió a los usuarios altamente
motivados programar sus propios juegos. Los niños y adolescentes de la década
de 1980 pasaban horas frente a sus computadoras o consolas domésticas, y con
el lanzamiento de Game Boy a fines de la década, incluso después de apagar las
luces, seguían jugando a la luz de las antorchas debajo de las mantas.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

Década de 1990: una nueva dimensión


Al igual que la primera generación de jugadores, la industria de los juegos había
crecido. Los videojuegos entraron en una nueva dimensión, literalmente, porque
en la segunda mitad de la década los gráficos se volvieron tridimensionales. Los
jugadores ahora podían moverse en tres direcciones en lugar de dos. Estos
mundos de juego parecían más realistas y ofrecían posibilidades más complejas.
Los fabricantes de consolas y juegos compitieron por una parte del mercado en
constante crecimiento. En 1994, Sony lanzó la PlayStation; en términos técnicos y
gráficos, fue un salto cuántico en comparación con las consolas existentes. Los
estudios de diseño de juegos generaron ideas más innovadoras, con la historia a
menudo sirviendo como inspiración para el juego: en Age of Empires (1997), los
jugadores construyeron civilizaciones enteras y en Command & Conquer (1995)
libraron la guerra. En Tomb Raider (1996) buscaron artefactos históricos junto a
Lara Croft; en Monkey Island (1990), lo que buscaban era el tesoro de los piratas.
Pero en la década de 1990, la industria de los juegos también perdió su inocencia
porque, además de la acción del juego, la violencia también se convirtió cada vez
más en un tema. A partir de Wolfenstein 3D (1992), surgieron los “juegos de
disparos en primera persona”. En estos juegos, un jugador usa un arma para
matar a sus oponentes desde una perspectiva en primera persona. Por primera
vez, la sociedad comienza a preguntarse si la violencia en los videojuegos
conduce a la violencia en la vida real. La discusión continúa hasta el día de hoy.

Mucha gente piensa que el primer juego para móviles fue Snake, lanzado en 1997
en el Nokia 6110, pero no es así. El primer juego móvil se introdujo tres años
antes. En 1994, el Hagenuk MT-2000 tenía una versión del popular juego de
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

arcade Tetris preinstalado en el dispositivo, lo que marcó el comienzo de lo que se


convertiría en una industria muy exitosa y rentable.

El primer juego móvil


Desde el lanzamiento del primer juego móvil, miles lo han seguido, con más de
900 000 juegos activos en la App Store, lo que representa el 22 % del total. En
1997, cuando se presentó Snake por primera vez, se convirtió en un fenómeno
mundial debido a su juego simple, su premisa adictiva y el hecho de que era apto
para todas las edades. El juego incluso regresó en 2017 con el relanzamiento del
Nokia 3310 en el Mobile World Congress. Al ser los primeros juegos en teléfonos
portátiles con una jugabilidad sencilla y sesiones de corta duración, Tetris y Snake
son los predecesores del género conocido hoy como "juegos hipercasuales", que
una vez más están poblando las tiendas de aplicaciones.
Muchos otros juegos muy populares siguieron de 1999 a 2005, como Alien Fish
Exchange y Space Invaders. Uno de los hitos en los dispositivos de juegos
móviles de principios de la década de 2000 es el lanzamiento del teléfono N-Gage
de Nokia: un dispositivo que combinaba juegos con funciones telefónicas. El N-
Gage permitía jugar una gran variedad de juegos, incluso títulos en 3D como Tony
Hawk's Pro Skater. El teléfono que tenía que competir con la Nintendo Game Boy
con sus ofertas de juegos fue descontinuado en 2005 en los mercados
occidentales.

Avance rápido hasta 2007 cuando se lanzó el iPhone y un año después, con la
introducción de la App Store, nació una nueva era de juegos móviles. Cuando se
lanzó por primera vez la App Store, solo ofrecía 500 aplicaciones, como Texas
Hold'em y Super Monkey Ball. Con la introducción del iPhone en 2007, los
desarrolladores de juegos móviles pudieron utilizar el control multitáctil. En 2009,
el primer juego para teléfonos inteligentes que alcanzó popularidad mundial en
poco tiempo, Angry Birds, estableció el estándar para los juegos móviles en la
década de 2010. Al comienzo de la nueva década, muchos editores de
videojuegos comenzaron a usar aplicaciones como una extensión de la segunda
pantalla y como aplicaciones complementarias para videojuegos como Assassins
Creed o Grand Theft Auto.

Juegos móviles modernos


En 2012, se introdujo en las tiendas de aplicaciones uno de los juegos móviles con
mayor recaudación de todos los tiempos; Candy Crush, seguido de cerca por otro
gran éxito, Clash of Clans. A medida que aumenta el número de lanzamientos de
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

nuevos juegos móviles, se utiliza nueva tecnología para diversificarse y


destacarse, como se puede ver en juegos basados en AR como Pokemon Go y
Wizards Unite. Hoy en día, se pueden encontrar innumerables géneros diferentes
de juegos móviles en las tiendas de aplicaciones, con muchos enfoques diferentes
para definir la taxonomía de los juegos móviles. El sorprendente desarrollo de los
juegos móviles ha llevado a una audiencia que no solo consiste en jugadores
principales. Hoy en día, una gran parte de los jugadores móviles pertenecen a un
grupo objetivo que no se define a sí mismo como jugador pero que se siente
atraído por el género de juegos móviles casuales e hipercasuales.

Cronología del historial de juegos móviles

Hoy en día, hay más de 6 millones de aplicaciones disponibles. La mayoría de las


aplicaciones se pueden encontrar en Google Play, con 2,57 millones de
aplicaciones, seguidas de 1,84 millones de aplicaciones en App Store, 669 000
aplicaciones en Windows Store y 489 000 aplicaciones en Amazon en 2019. El
sorprendente crecimiento de las tiendas de aplicaciones es equivalente al auge
global de los juegos móviles en el mercado. Debido al creciente número de
lanzamientos de aplicaciones, no todos logran sobrevivir por mucho tiempo.
Encontrar la estrategia de monetización adecuada a menudo puede convertirse en
un gran obstáculo que, lamentablemente, muchas aplicaciones no logran dominar.
Aproximadamente el 94% de los juegos móviles gratuitos se monetizan a través
de anuncios y la proporción de juegos que integran un SDK publicitario sigue
aumentando. App Annie informa que la cantidad de aplicaciones con un SDK
aumentó del 83 % al 89 % entre enero de 2019 y diciembre de 2019 entre los
1000 mejores juegos de aplicaciones en App Store y Google Play Store.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

Monetización de juegos móviles

La mayoría de los juegos móviles en las tiendas de aplicaciones siguen un


enfoque free-to-play o freemium. Para monetizar el juego, su estrategia implica
compras en la aplicación o publicidad en la aplicación. Cuando se trata de
anuncios móviles, la industria de AdTech está evolucionando rápidamente. Hoy en
día, las "ofertas en la aplicación" se utilizan a menudo para reducir problemas
como las altas latencias publicitarias y muchas más ineficiencias que se
encuentran en la monetización. Las ofertas en la aplicación son la contrapartida
móvil de las ofertas de encabezado de escritorio, un método que permite a los
editores ofrecer su inventario de anuncios a varios intercambios al mismo tiempo.
Este método hace que el proceso de licitación sea más transparente para todas
las partes involucradas. Sin embargo, muchos editores aún luchan con su
implementación, ya sea debido a una comprensión limitada de la técnica o a
problemas de implementación técnica. Aquí es donde entran las soluciones
híbridas, cerrando la brecha entre los métodos de monetización antiguos y
nuevos. También encontrará herramientas de código abierto como Prebid, una
organización a la que PubNative está contribuyendo activamente, que apoya

2.1. Propuesta
Este proyecto consiste en crear un videojuego desde cero. Su objetivo principal es
captar la esencia de los juegos de la década de los 80´s. La tecnología moderna lo
hace posible. Empezando por el paisaje del juego, emular los controles clásicos.
Cosas simples como caminar, correr, saltar, etc. Son acciones que el usuario
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

puede realizar. En el lado gráfico se realiza a la manera clásica, es decir: cada


imagen de esa animación se crea a mano por el creador, fotograma a fotograma.
Estos fragmentos individuales luego se animan individualmente para crear una
animación. Juntos, por lo tanto, ahorran mucho tiempo utilizado cuando: Se hace
de la manera clásica.
Otra ventaja es el uso de la física en la escena. Esto se explica por Un entorno
dinámico que puede ser operado por el usuario.

3. Casos de Uso

4. Herramientas de Hardware
Requerimientos ventanas Mac OS linux
mínimos

Versión del Windows 7 High Sierra Ubuntu 20.04,


sistema (SP1+), 10.13+ (editor de Ubuntu 18.04 y
operativo Windows 10 y Intel) CentOS 7
Windows 11, Big Sur 11.0
solo versiones (editor de silicio
de 64 bits. de Apple)

UPC Arquitectura Arquitectura X64 Arquitectura X64 con


X64 con compatible con soporte para
soporte para conjunto de conjunto de
conjunto de instrucciones instrucciones SSE2
instrucciones SSE2
SSE2 (procesadores
Intel)
Apple M1 o
superior
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

(procesadores
basados en
silicio de Apple)

API de gráficos GPU GPU Intel y AMD GPU Nvidia y AMD


compatibles compatibles con compatibles con
con DX10, metal OpenGL 3.2+ o
DX11 y DX12 Vulkan.

Requerimientos Controladores Controladores El entorno de


adicionales admitidos admitidos escritorio Gnome se
oficialmente oficialmente por ejecuta sobre el
por el Apple sistema de ventanas
proveedor de (procesador X11, el controlador
hardware Intel) de gráficos
Se requiere patentado oficial de
Rosetta 2 para Nvidia o el
los dispositivos controlador de
de silicio de gráficos AMD
Apple que se Mesa. Otra
ejecutan en las configuración y
versiones de entorno de usuario
silicio de Apple o según el stock
Intel de Unity proporcionado con la
Editor. distribución
compatible (Kernel,
Compositor, etc.)

5. Herramientas de Software
5.1 Unity3D
Unity3D. Es un motor gráfico 3D para PC y Mac que viene empaquetado como
una herramienta para crear juegos, aplicaciones interactivas, visualizaciones y
animaciones en 3D y tiempo real. Unity puede publicar contenido para múltiples
plataformas como PC, Mac, Flash(Hasta la version 4), XBox, PS2/3/4, Android,
PSVita y iPhone. El motor también puede publicar juegos basados en web usando
el plugin Unity web player.
5.1.1. Ventajas
1. Unity es la mejor aplicación para el desarrollo de juegos. Es muy efectivo al
renderizar escenas 2D y 3D. Unity también se puede usar muy bien para
renderizar imágenes en 3D. La calidad que ofrece también es relativamente
buena en comparación con otras aplicaciones.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

2. Unity es excelente para el desarrollo multiplataforma y los juegos


multiplataforma. Las plataformas de desarrollo cruzado están muy de moda
en estos días. Realmente requiere mucho tiempo y exige muchos esfuerzos
para desarrollar aplicaciones nativas. Plataformas como Unity han hecho
que el proceso sea bastante simple y fácil de usar en comparación con
épocas anteriores. Al usar plataformas de desarrollo cruzado , se puede
compilar y usar un solo script para muchas plataformas .
3. Según los informes, la tienda de activos también es excelente en
comparación con otras plataformas . Básicamente, el soporte técnico para
Unity es eficiente. Los miembros del soporte técnico también están
altamente calificados y se puede confiar en ellos en caso de problemas
técnicos.
4. En el caso de la plataforma visual, Unity es excelente. Pero no podemos
apelar lo mismo en el caso de la plataforma no visual. Puede variar en
términos de la aplicación y el uso de la aplicación.
5. El motor de juego de Unity también es más fácil de usar en comparación
con muchas otras tecnologías. Hay tantas otras tecnologías complicadas
que se vuelven más difíciles mientras las usamos. La unidad es una
excepción aquí.
6. A pesar de no ser de código abierto , el costo es mucho menor en
comparación con todos sus otros competidores. La rentabilidad es una de
las principales ventajas de usar Unity.
5.1.2. Desventajas
1. La documentación está bastante desactualizada y en algunos casos es
completamente inexistente.
2. Incluso las tecnologías como las texturas de renderizado, el generador de
perfiles y la compatibilidad con el búfer de plantilla, que son comunes en
muchas herramientas gratuitas, sib de pago de $ 1500.
3. La licencia de Unity 3D Pro no ofrece todas las funciones para dispositivos
móviles . Por lo tanto, se necesita una inversión adicional de $ 1500-3000
para las licencias de Mobile Pro.
4. Hasta Unity 5.0, el motor está configurado para permanecer en 32 bits, lo
que significa que el editor se bloqueará silenciosamente si te quedas sin
memoria y el motor no es adecuado para juegos AAA.
5.2. Base de Datos
5.2.1. SQLite
SQLite es una herramienta de software libre, que permite almacenar información
en dispositivos empotrados de una forma sencilla, eficaz, potente, rápida y en
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

equipos con pocas capacidades de hardware, como puede ser una PDA o un
teléfono celular. SQLite implementa el estándar SQL92 y también agrega
extensiones que facilitan su uso en cualquier ambiente de desarrollo. Esto permite
que SQLite soporte desde las consultas más básicas hasta las más complejas del
lenguaje SQL, y lo más importante es que se puede usar tanto en dispositivos
móviles como en sistemas de escritorio, sin necesidad de realizar procesos
complejos de importación y exportación de datos, ya que existe compatibilidad al
100% entre las diversas plataformas disponibles, haciendo que la portabilidad
entre dispositivos y plataformas sea transparente.
5.2.2. Ventajas
 Sin servidor

SQLite no tiene servidor, lo que significa que no requiere un servidor para


ejecutarse. Esto es positivo en la lista de pros y contras de SQLite. Ser sin
servidor significa que no es necesario configurar procesos de servidor para que la
base de datos sea utilizable.  
 Peso 'Lite'
SQLite es una opción ligera y sencilla. No está agobiado por características
extrañas . No requiere configuración (gracias a ser serverless). Y, no requiere una
gran cantidad de administración de la base de datos , y también es ligero en
cuanto a los recursos necesarios.
En resumen, es simple y fácil de empezar a usar.
 Rendimiento autónomo
SQLite es (generalmente) más rápido que una contraparte basada en servidor o
un sistema basado en archivos . Esto se debe a que solo carga los datos
necesarios, en lugar de archivos completos.
Debido a que es autónomo, SQLite tampoco requiere mucho soporte del sistema
operativo o una biblioteca externa, etc., lo que ayuda a aumentar la eficiencia de
su rendimiento.
5.2.3. Desventajas
 No tiene acceso a la red.

Una de las ventajas de nuestra lista de pros y contras de SQLite es que no tiene
servidor, lo que aumenta la velocidad y reduce la complejidad. Sin embargo,
también significa que la base de datos está confinada únicamente a la máquina en
la que está almacenada. No permite el trabajo remoto en otra PC, por ejemplo.
 No es adecuado para aplicaciones a gran escala.
SQLite es liviano, es pequeño, es excelente para una computadora de escritorio o
un teléfono: almacenamiento local con un tamaño reducido. Cuando se trata de
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

aplicaciones más grandes con muchos usuarios simultáneos y muchos datos,


SQLite es menos óptimo. Estos usos requieren un DBMS basado en servidor
mucho más resistente.
 Tiene un tamaño de base de datos limitado.
Esto nos lleva a la siguiente consideración en nuestra lista de pros y contras de
SQLite. Es decir, tiene un tamaño de datos limitado. Debido a que SQLite
almacena toda la base de datos en un solo archivo de disco, el tamaño del archivo
está restringido a lo que permite el sistema que está utilizando. Entonces, si desea
una base de datos expansiva, probablemente desee ver un DBMS de
cliente/servidor.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

6. Presupuesto
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

7. Plan de Trabajo (Gantt)


Desarrollo de un videojuego de plataformas en C# sobre el motor Unity
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

8. Diseño
8.1. Interfaz

8.2. Assets

8.3. Scenes
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

8.4. GameObjects

8.5. Colliders
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

8.6.2. AudioSource

8.6.3. Rigidbody

.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

8.7. Scripts

9. Arquitectura software
La arquitectura, está en todo lo que hacemos y nos rodea, su función es mejorar
este entorno, y ésta también ha entrado en el ámbito de los videojuegos. Se
concibe como un atractivo, tanto desde el punto de vista de los espacios, como
desde el punto de vista comercial. Gracias a la implantación de escenarios
modelados como punto de conexión entre lo lúdico y cultural, como es jugar y la
implantación del tablero de juego en un contexto y en un entorno, hay cada vez un
mayor reclamo de grandes obras virtuales y espacios. El intento de conseguir
aumentar la emoción y las experiencias del juego, hace especial hincapié en el
desarrollo de la representación, mediante el uso de motores gráficos, más
eficientes, y así obtener detalles de un alto grado de definición, además de una
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

recreación física del espacio en el que habitamos, para introducirlo en el


videojuego.

10. Implementación
10.1. Héroe

10.2 Género.
Los videojuegos de plataformas o, simplemente, plataformas, son un género de
videojuegos en los que el jugador tiene que saltar sobre plataformas suspendidas
o a lo largo de obstáculos y enemigos hasta llegar a una meta. Se considera la
presencia de un botón o función de saltar como parte central de la forma de juego
de este género, aunque en algunos casos la capacidad de saltar del personaje es
reemplazada por otras similares como escalar con ganchos o utilizar resortes. Es
muy común que incluyan también elementos de otros géneros como disparos,
beat 'em up o aventura.
10.3 Público objetivo.
Everyone ( Niños a adultos hasta 1998) es una clasificación ESRB que
significa que son aptos para todas las edades (anteriormente aptos
para mayores de 6 años). Puede tener violencia leve o lenguaje muy
leve/temas sugerentes, así como juegos de apuestas simulados menores.
Los juegos que son para todas las edades pueden o no interesar a los niños,
ya que (antes de 2018) la calificación de la CE solía hacer eso.

10.4 Historia
El Caballero Raúl
Érase una vez en la tierra media, un pequeño caballero llamado Raúl.
Una vez llegó un Malvado Caballero a la villa Chimali, buscaba al mejor guerrero.
Raúl al considerarse indigno, sabía que necesitaba una gran victoria para que se
realizaran cuentos y canciones sobre él.
Dio un paso al frente y accedió a luchar con el caballero Robok.
El caballero Robok le explicó que el duelo sería en un año y sería en su castillo.
Este juego nos habla de cómo el caballero Raúl emprendió el camino hasta llegar
con su oponente.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

Pero en esa travesía se encontrará con obstáculos y distintos escenarios que


tendrá que superar para lograr su hazaña.
10.5 Personajes
Raúl.

11. Manual de Usuario

1. Por medio de teclado vamos a presionar X

.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

2. Al iniciar el juego vamos a presionar la barra espaciadora para saltar los


obstáculos.

3. En caso de perder se reiniciarán los puntos, para volver a iniciar presione x.


Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

12. Conclusiones

La realización de este proyecto ha permitido adquirir una gran cantidad de


competencias y conocimientos relacionados con el diseño y creación de
videojuegos y sus distintas fases, así como ámbitos. Comenzando por la idea
pasando por el análisis, el desarrollo, la parte técnica, el apartado visual, etc. Se
ha aprendido a manejar nuevas herramientas de software, a conseguir los assets
necesarios para llevar a cabo un proyecto en Unity con pleno conocimiento del tipo
de licencias existentes. Además, consideramos que se han afianzado
competencias y conocimientos adquiridos previamente.
En cuanto a futuras mejoras del juego se plantean las siguientes. Algunas de las
cuales no se llegaron a implementar por falta de tiempo:
 Añadir más personajes y skins, de forma que el jugador pueda elegir el
personaje con el que quiere jugar. Esto conllevaría la creación de un menú
de elección de personaje.
 Añadir modos de juego distintos.
 Otra posibilidad interesante sería adaptar el juego a otras plataformas. Esto
conllevaría realizar ciertos cambios, sobre todo si se quisiera adaptar a
móvil.
 Pulir el sistema de dificultad, añadiendo más variables.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

13. Glosario
GameObject: En Unity, es la clase base de todos los elementos de una escena.
No confundir con gameObject (empezando por minúscula) que es un tipo de
variable.
Corrutina: Subrutinas que se invocan una a otra de manera que, en la segunda
llamada o en llamadas sucesivas, la ejecución se reanuda en el punto en el que se
había interrumpido por última vez.
Animator: En Unity, es un componente que hace de interfaz de control respecto a
la animación en Mecanim.
Trigger: En Unity, en el ámbito de animación y en el contexto de esta práctica, son
unos disparadores que permiten activar un evento, en este caso una animación.
Cuando termina la misma el trigger vuelve al estado original.
Sprite: Gráficos de juegos en 2D. Representan desde personajes a objetos y
efectos en un juego.
Mesh renderer: Malla poligonal, consta de una serie de vértices relacionados entre
sí formando triángulos.
Assets: Recursos de Unity. Unity cuenta además con la Assets Store en la que se
pueden encontrar recursos gratuitos o de pago.
Frames: Fotogramas.
Audio Listener: El Audio Listener en Unity funciona como un micrófono. Recibe la
entrada de todos los sonidos de la escena y los reproduce a través de los
altavoces del ordenador.
Skins: En videojuegos suele denominarse así a las variaciones de sprite de un
mismo personaje.
Prefab: En Unity, Permite almacenar un GameObject con sus componentes y
propiedades. De esta forma se facilita su reutilización.
Shader: Es cualquier programa de ordenador que permite sombrear, es decir,
proporcionar los niveles adecuados de color a una imagen, además hoy en día
también permite producir efectos especiales o hacer post procesamiento de vídeo.
Renderizado: Es un término usado para referirse al proceso de generar una
imagen o vídeo mediante el cálculo de iluminación GI partiendo de un modelo en
3D. Se desarrolla con el fin de generar en un espacio 3D formado por estructuras
poligonales. Una simulación realista del comportamiento tanto de luces, texturas y
materiales
Rigidbody: En Unity, un componente que se puede asociar a un GameObject y
que permite aplicarle físicas.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

Canvas: En Unity, un elemento de la Interfaz de juego que permite que se le


agreguen imágenes, botones, texto, etc.
Panel: En Unity, es un elemento de la Interfaz de juego asociado al Canvas.
Puede haber varios por canvas. En lugar de usar directamente el Canvas
podemos usar los panels para agregar imágenes, botones, etc.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

14. Bibliografía
https://es.wikipedia.org/wiki/Historia_de_los_videojuegos#Nuevas_consolas.2C_Handhelds_y
_otros_formatos

https://en.wikipedia.org/wiki/Early_history_of_video_games

https://en.wikipedia.org/wiki/History_of_video_games

https://es.wikipedia.org/wiki/Industria_de_los_videojuegos

https://psicogamer.com/articulos/los-videojuegos-como-herramientas-para-el-desarrollo-dela-
sociedad/

https://en.wikipedia.org/wiki/Unity_(game_engine)

http://blog.digitaltutors.com/unity-udk-cryengine-game-engine-choose/

http://blogs.unity3d.com/es/2016/06/16/evolution-of-our-products-and-pricing/

https://www.cryengine.com/get-cryengine

https://www.unrealengine.com/what-is-unreal-engine-4

http://docs.unity3d.com/Manual/Navigation.html?_ga=1.116319232.780478527.1455900866

http://docs.unity3d.com/Manual/LearningtheInterface.html

http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/2d-catch-game-pt1

http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/2d-catch-game-pt2

http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/2d-catch-game-pt3

http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/2d-catch-game-qa

También podría gustarte