Desarrollo de Videojuegos

Descargar como pdf o txt
Descargar como pdf o txt
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 arcade Tetris
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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
nuevos juegos móviles, se utiliza nueva tecnología para diversificarse y destacarse,
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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 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
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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
(procesadores
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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.
2. Unity es excelente para el desarrollo multiplataforma y los juegos
multiplataforma. Las plataformas de desarrollo cruzado están muy de moda
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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 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
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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
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.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

 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 recreación física del espacio
en el que habitamos, para introducirlo en el videojuego.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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.
Pero en esa travesía se encontrará con obstáculos y distintos escenarios que tendrá
que superar para lograr su hazaña.
Desarrollo de un videojuego de plataformas en C# sobre el motor Unity

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